Ich versuche eine Komponente zu schreiben in der ein User Daten zu sich und einer weiteren (oder mehreren) Person angeben soll.
In meinem view habe ich nur das formular was der user ausfüllt:
Code:
<form action="index.php" method="post"
name="adminForm" id="adminForm">
<div class="col100">
<a href="#" onclick="javascript: submitbutton('save')" class="toolbar"><span style="font-size:24px; color:#0F0; font-weight:bold; margin-right:15px;">Speichern</span></a>
<a href="#" onclick="javascript: submitbutton('cancel')" class="toolbar"><span style="font-size:24px; color:#F00; font-weight:bold;">Schließen</span></a>
<fieldset class="adminform">
<legend><?php echo JText::_( 'Details' ); ?></legend>
<table class="admintable">
<tr>
<td width="100" align="right" class="key">
<label for="pair">4</label>
</td>
<td>
<input class="text_area" type="text" name="pair"
id="pair" size="32" maxlength="250"
value="<?php echo $this->user->pair;?>" />
</td>
</tr>
<tr>
<td width="100" align="right" class="key">
<label for="points">Punkte</label>
</td>
<td>
<input class="text_area" type="text" name="points"
id="points" size="32" maxlength="250"
value="<?php echo $this->user->points;?>" />
</td>
</tr>
</table>
</fieldset>
</div>
<div class="clr"></div>
<input type="hidden" name="option" value="com_mykompuser" />
<input type="hidden" name="id"
value="<?php echo $this->user->id; ?>" />
<input type="hidden" name="task" value="" />
<input type="hidden" name="controller" value="mykompuser" />
<input type="submit" value="next" />
</form>
Und die view.html.php:
Code:
<?php
defined('_JEXEC') or die('Restriced Access');
jimport('joomla.application.component.view');
class MyKompUserViewMyKompUser extends JView {
function display($tpl = null) {
$userData =& $this->get('Data');
$isNew = ($userData->id < 1);
$text = $isNew ? JText::_( 'New' ) : JText::_( 'Edit' );
$this->assignRef('user', $user);
parent::display($tpl);
}
}
Um das Ganze zu speichern habe ich die Tabelle:
Code:
class TableMyKompUser extends JTable {
var $id = null;
var $pair = null;
var $points = null;
var $published = null;
function TableMyKompUser( &$db ) {
parent::__construct('#__mykompuser', 'id', $db);
}
}
Und in der Modell klasse die store Funktion:
Code:
...
function store() {
$row =& $this->getTable();
$data = JRequest::get( 'post' );
if (!$row->bind($data)) {
$this->setError($this->_db->getErrorMsg());
return false;
}
if (!$row->check()) {
$this->setError($this->_db->getErrorMsg());
return false;
}
if (!$row->store()) {
$this->setError( $row->getErrorMsg() );
return false;
}
return true;
}
...
wie kann ich nun aus meinem Formular die Daten in 2 verschiedene Tabellen schreiben?
Sagen wir nun einfach ich will das Paar in der einen Tabelle haben und die Punkte für das Paar in der anderen, kann mir irgend jemand sagen wie das machbar ist.. ? mir fällt leider nix ein.
Eure Cronic.
Lesezeichen