options_callback + load_callback
Hey,
lassen die beiden sich kompinieren?
Ich erstelle mit den options_callback eine Select-Auswahl
PHP-Code:
/* create version options */
public function create_versions_options(DataContainer $dc) {
$values = array();
$objPages = $this->Database->prepare("SELECT s.title, sv.id, sv.version FROM tl_sp_software s INNER JOIN tl_sp_software_versions sv ON s.id = sv.pid
ORDER BY s.title ASC, INET_ATON(SUBSTRING_INDEX(CONCAT(sv.version,'.0.0.0'),'.',4)) DESC")->execute();
while($objPages->next()){
$values[$objPages->title][$objPages->title.'_'.$objPages->version] = $objPages->version;
}
return $values;
}
Jetzt steht aber diese Wert "$objPages->title.'_'.$objPages->version" nicht so in der DB sondern getrennt.
Jetzt dachte ich ich kann per load_callback mir das Value so zusammenbauen das er im Select automatisch das richtige selektiert?
PHP-Code:
/* load version options */
public function load_versions_from_options($varValue, DataContainer $dc) {
$objPages = $this->Database->prepare("SELECT s.title, sv.id, sv.version FROM tl_sp_software s INNER JOIN tl_sp_software_versions sv ON s.id = sv.pid
WHERE sv.version = ?")->limit(1)->execute($varValue);
if($objPages) {
$varValue = $objPages->title.'_'.$objPages->version;
}
return $varValue;
}
Leider funktioniert das nicht. Hab ich jetzt ein Denkfehler, liegt es an der Reihenfolge der Callbacks oder ist es normal das es nicht funktioniert? Dann bauch ich das einfach so um das er es immer zusammen speichert und zerlege das im FE-Modul. Ginge ja auch.
PHP-Code:
'version_from' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_sp_projects_update_log']['version_from'],
'exclude' => true,
'inputType' => 'select',
'eval' => array('mandatory'=>false, 'includeBlankOption' => true, 'maxlength'=>10, 'tl_class'=>'w50'),
'sql' => "varchar(10) NOT NULL default ''",
'options_callback' => array('tl_sp_projects_update_log','create_versions_options'),
'load_callback' => array(array('tl_sp_projects_update_log','load_versions_from_options')),
),