Hey,
so hab ich das uns es funktioniert
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,'tl_class'=>'w50','doNotSaveEmpty' => true),
'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')),
'save_callback' => array(array('tl_sp_projects_update_log','save_version_from'))
),
PHP-Code:
/* create version options */
public function create_versions_options(DataContainer $dc) {
$values = array();
$objPages = Database::getInstance()->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();
if($objPages !== null) {
while($objPages->next()){
$values[$objPages->title][$objPages->title.'_'.$objPages->version] = $objPages->version;
}
}
return $values;
}
PHP-Code:
/* load version options */
public function load_versions_from_options($varValue, DataContainer $dc) {
$objPages = Database::getInstance()->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;
}
PHP-Code:
public function save_version_from($varValue, DataContainer $dc) {
$version = explode('_', $varValue);
$objVersion = Database::getInstance()->prepare("SELECT * FROM tl_sp_projects_update_log WHERE id = ?")->limit(1)->execute($dc->id);
if($objVersion->numRows) {
if($version[1] != $objVersion->version_from) {
$objUpdate = Database::getInstance()->prepare("UPDATE tl_sp_projects_update_log SET software_from=?,version_from=? WHERE id=?")->execute($version[0], $version[1], $dc->id);
}
}
return '';
}
In der DB schreibt er mir dann eben in die Spalten was er soll.. alles super
Lesezeichen