Hallo,
ich habe nach dem Tutorial hier Felder im BE konfiguriert. Funktioniert alles. Nur jetzt ist die Frage, wie ich die Felder im Template ausgebe?
Über <?php $this->showTemplateVars(); ?> kann ich leider die Variablen nicht sehen.
Viele Grüße!!
Hallo,
ich habe nach dem Tutorial hier Felder im BE konfiguriert. Funktioniert alles. Nur jetzt ist die Frage, wie ich die Felder im Template ausgebe?
Über <?php $this->showTemplateVars(); ?> kann ich leider die Variablen nicht sehen.
Viele Grüße!!
Paar mehr Infos bitte!
ich definiere in der system/modules/xx/dca/tl_page.php die Felder:
Die Felder in der Datenbank sind auch angelegt. Nun will ich den text, der in text_1 und text_2 steht in meinem Template fe_page.html5 ausgeben.PHP-Code:<?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
$GLOBALS['TL_DCA']['tl_page']['palettes']['regular'] = str_replace
(
'description',
'description,text_1',
$GLOBALS['TL_DCA']['tl_page']['palettes']['regular']
);
$GLOBALS['TL_DCA']['tl_page']['fields']['text_1'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_page']['text_1'],
'exclude' => true,
'inputType' => 'text',
'eval' => array(
'tl_class' => 'w50',
'maxlength' => 255
)
);
$GLOBALS['TL_DCA']['tl_page']['palettes']['regular'] = str_replace
(
'text_1',
'text_1,text_2',
$GLOBALS['TL_DCA']['tl_page']['palettes']['regular']
);
$GLOBALS['TL_DCA']['tl_page']['fields']['text_2'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_page']['text_2'],
'exclude' => true,
'inputType' => 'text',
'eval' => array(
'tl_class' => 'w50',
'maxlength' => 255
)
);
?>
Wie bekomme ich das hin?
Viele Grüße
Schau Dir mal z.B. die Datei system/modules/news/ModuleNewsList.php an. Du musst innerhalb der Klasse Deines Moduls (hoffentlich hast Du schon eine) die per DCA eingegebenen Daten aus der DB holen, ggf. auswerten und dann an das Template übergeben. Von der Struktur her in etwa so:
<edit>Warum müssen die Daten denn im Template fe_page ausgegeben werden?</edit>PHP-Code:class myclass extends Module
{
// templatedatei definieren
protected $strTemplate = 'mod_mytemplate';
public function generate()
{
// backend ausgabe
}
protected function compile()
{ // frontend ausgabe
$objData = $this->Database->prepare("SELECT * FROM tl_mymodule")->execute();
while ($objData->next())
{
// übergabe der Daten an das Template
$this->Template->wert_a = $objData->wert_a;
$this->Template->wert_b = $objData->wert_b;
// usw...
}
}
}
Geändert von webster (23.07.2012 um 23:07 Uhr)
Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...
Ich will zwei Felder an einer Seite haben, die man befüllen kann. Diese sollen dann auf der Seite ausgegeben werden. In diesem Fall geht es halt um einen Slogan Text. Klar, kann ich auch die original Felder nehmen, aber für ein anderes Projekt brauche ich für jede Seite eine eigene Farbe, die man an der Seite selbst definieren kann per ColorPicker.
Oh man, ich sollte mal aufmerksamer lesen, bevor ich meinen Senf dazugebe
Eigentlich müsstest Du doch direkt per
innerhalb des fe_page Templates darauf zugreifen können. Geht das nicht?PHP-Code:<?php echo $this->text_1; ?>
<?php echo $this->text_2; ?>
Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)