Hallo zusammen,
folgendes Problem, wie im Titel angezeigt! Bei Edit und Save wird bei zwei Select-Listen die Einträge nicht übernommen.
Da ich jetzt schon den halben nachmittag daran verbracht habe, sehe ich den Wald vor lauter Bäumen nicht mehr!
In der Haupt-DB sind die Spalten "fatid" und "catid" als int(11) erstellt.
In den zwei Unter-DB's sind die Spalten "fid" und "caid" als int(11) und auto_increment erstellt.
PHP-Code:function edit()
{
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
if ($this->_task == 'edit') {
$cid = JRequest::getVar('cid', array(0), 'method', 'array');
$cid = array((int) $cid[0]);
} else {
$cid = array( 0 );
}
$option = JRequest::getCmd('option');
$lists = array();
$row =& JTable::getInstance('mission', 'Table');
$row->load( $cid[0] );
if ($cid[0]) {
$row->checkout( $user->get('id') );
} else {
$row->published = 1;
}
$sql = "SELECT caid, name FROM #__mcategory";
$db->setQuery($sql);
if (!$db->query()) {
$this->setRedirect( 'index.php?option=com_mycomponent' );
return JError::raiseWarning( 500, $db->getErrorMsg() );
}
$categorylist[] = JHTML::_( 'select.option','0', JText::_('Select Kategorie'), 'caid', 'name');
$categorylist = array_merge($categorylist, $db->loadObjectList());
$lists['caid'] = JHTML ::_( 'select.genericlist',$categorylist, 'caid', 'class="inputbox" size="1"', 'caid', 'name', $row->caid);
$sql = "SELECT fid, name FROM #__fire";
$db->setQuery($sql);
if (!$db->query()) {
$this->setRedirect( 'index.php?option=com_mycomponent' );
return JError::raiseWarning( 500, $db->getErrorMsg() );
}
$firelist[] = JHTML::_( 'select.option','0', JText::_('Select Feuerwehr'), 'fid', 'name');
$firelist = array_merge($firelist, $db->loadObjectList());
$lists['fid'] = JHTML ::_( 'select.genericlist',$firelist, 'fid', 'class="inputbox" size="5" multiple="true"', 'fid', 'name', $row->fid);
$mission_params = new JParameter( $row->params );
$lists['width'] = $mission_params->get( 'width');
$lists['height'] = $mission_params->get( 'height');
// Imagelist
$javascript = 'onchange="changeDisplayImage();"';
$directory = '/images/missions';
$lists['imageurl'] = JHTML::_('list.images', 'imageurl', $row->imageurl, $javascript, $directory, "bmp|gif|jpg|png|swf" );
// sticky
$lists['sticky'] = JHTML::_('select.booleanlist', 'sticky', 'class="inputbox"', $row->sticky );
// published
$lists['published'] = JHTML::_('select.booleanlist', 'published', '', $row->published );
require_once(JPATH_COMPONENT.DS.'views'.DS.'mission.php');
MissionsViewMission::mission( $row, $lists );
}
In meiner View hole ich die Daten mit <?php echo $lists['caid']; ?> beziehungsweise mit <?php echo $lists['fid']; ?> heraus!PHP-Code:function save()
{
global $mainframe;
// Check for request forgeries
JRequest::checkToken() or jexit( 'Invalid Token' );
$this->setRedirect( 'index.php?option=com_mycomponent' );
// Initialize variables
$db =& JFactory::getDBO();
$post = JRequest::get( 'post' );
// fix up special html fields
$post['custommissioncode'] = JRequest::getVar( 'custommissioncode', '', 'post', 'string', JREQUEST_ALLOWRAW );
$row =& JTable::getInstance('mission', 'Table');
if (!$row->bind( $post )) {
return JError::raiseWarning( 500, $row->getError() );
}
// Sets impressions to unlimited when `unlimited` checkbox ticked
$unlimited = JRequest::getBool('unlimited');
if ($unlimited) {
$row->imptotal = 0;
}
if (!$row->check()) {
return JError::raiseWarning( 500, $row->getError() );
}
// if new item order last in appropriate group
if (!$row->bid)
{
$where = 'caid = '.(int) $row->catid;
$row->ordering = $row->getNextOrder( $where );
}
if (!$row->store()) {
return JError::raiseWarning( 500, $row->getError() );
}
$row->checkin();
switch ($task)
{
case 'apply':
$link = 'index.php?option=com_mycomponent&task=edit&cid[]='. $row->bid ;
break;
case 'save':
default:
$link = 'index.php?option=com_mycomponent';
break;
}
$this->setRedirect( $link, JText::_( 'Item Saved' ) );
}
function cancel()
{
// Check for request forgeries
JRequest::checkToken() or jexit( 'Invalid Token' );
$this->setRedirect( 'index.php?option=com_mycomponent' );
// Initialize variables
$db =& JFactory::getDBO();
$post = JRequest::get( 'post' );
$row =& JTable::getInstance('mission', 'Table');
$row->bind( $post );
$row->checkin();
}
Anbei die ganze controller.php!
Hat jemand eine Hilfestellung für mich? Bedanke mich im voraus dafür!


LinkBack URL
About LinkBacks
Zitieren
Lesezeichen