Hallo Zusammen
Nach etwa 3 Stunden erfolglosem Suchen, wollte ich mich an euch wenden. Ich scheitere aktuell daran, das ich die Modulparamater (Front-End) im Template nicht zur Verfügung zu haben scheine.
Zum Verständnis:
Ich wollte die Standardnavigation erweitern um eine Möglichkeit eine Imagemap Navigation zu bauen. Der Adminbereich funktioniert einwandfrei, per dca habe ich die benötigten Felder sowohl in tl_page.php als auch tl_module.php eingefügt und übersetzt.
PHP-Code:
/**
* modify palette
*/
$GLOBALS['TL_DCA']['tl_page']['palettes']['regular'] = str_replace('{protected_legend:hide}', '{imagemap_legend:hide},shape,coords;{protected_legend:hide}', $GLOBALS['TL_DCA']['tl_page']['palettes']['regular']);
$GLOBALS['TL_DCA']['tl_page']['palettes']['redirect'] = str_replace('{protected_legend:hide}', '{imagemap_legend:hide},shape,coords;{protected_legend:hide}', $GLOBALS['TL_DCA']['tl_page']['palettes']['redirect']);
$GLOBALS['TL_DCA']['tl_page']['palettes']['forward'] = str_replace('{protected_legend:hide}', '{imagemap_legend:hide},shape,coords;{protected_legend:hide}', $GLOBALS['TL_DCA']['tl_page']['palettes']['forward']);
/**
* definie new fields
*/
$GLOBALS['TL_DCA']['tl_page']['fields']['shape'] = array(
'label' => &$GLOBALS['TL_LANG']['tl_page']['shape'],
'inputType' => 'select',
'options' => array('rect','circle','poly'),
'eval' => array('multiple'=>false),
);
$GLOBALS['TL_DCA']['tl_page']['fields']['coords'] = array(
'label' => &$GLOBALS['TL_LANG']['tl_page']['coords'],
'inputType' => 'text',
);
PHP-Code:
/**
* modify palette
*/
$GLOBALS['TL_DCA']['tl_module']['palettes']['navigation'] = str_replace('{protected_legend:hide}', '{imagemap_legend:hide},imagemap;{protected_legend:hide}', $GLOBALS['TL_DCA']['tl_module']['palettes']['navigation']);
/**
* definie new fields
*/
$GLOBALS['TL_DCA']['tl_module']['fields']['imagemap'] = array(
'label' => &$GLOBALS['TL_LANG']['tl_module']['imagemap'],
'inputType' => 'fileTree',
'eval' => array('files'=>true,'filesOnly'=>true,'extensions'=>'jpg,jpeg,gif,png','fieldType'=>'radio')
);
Nun Suche ich nach einem Weg, dass ich die Modul Variable imagemap (Pfad zum Bild hinter der Imagemap) innerhalb des Templates zu nutzen. Ich muss da was falsch verstehen, denn ich kann mir nach meinem schnellen Start nicht vorstellen, dass dies kompliziert ist.
Mein Ansatz war folgender:
PHP-Code:
class ModuleImagemapnav extends ModuleNavigation {
/**
* Generate module
*/
protected function compile() {
parent::compile();
$result = $this->Database->prepare("SELECT imagemap FROM tl_module WHERE id=?")->limit(1)->execute($this->id);
$this->Template->imagemap = $result->imagemap;
}
}
Vielen Dank für Inputs, wichtig wäre mir, so nahe wie möglich an der original Navigation zu bleiben.
Lesezeichen