Klar, ich habe im Anhang einen aufs nötigste reduzierten Test.
Ich möchte nochmal erwähnen dass Code in der Klasse ausgeführt wird und auch HTML-Änderungen im Template direkt angezeigt werden. Nur meine Variable wird nicht dargestellt.
Struktur:
Code:
/news_ext
- /config
-- config.php
- /templates
-- news_full.html
- ModuleNewsZip.php
config.php
PHP-Code:
$GLOBALS['FE_MOD']['news']['newsreader'] = 'ModuleNewsZip';
news_full.html5
PHP-Code:
<?php echo $foo; // geht nicht ?>
<?php echo $this->foo; // geht nicht ?>
<?php echo $bar; // geht nicht ?>
<?php echo $this->bar; // geht nicht ?>
<h1>baz</h1> <!-- GEHT!!! -->
ModuleNewsZip.php
PHP-Code:
protected function compile()
{
parent::compile();
$this->Template->foo = 'foo'; // wird im Template nicht angezeigt.
$this->bar = 'bar';
ChromePhp::log($this->Template->foo); // zeigt hier 'foo'. Geht im Template aber nicht.
ChromePhp::log($this->bar); // zeigt hier 'bar'. Geht im Template aber auch nicht.
}
Interessant ist - wie in einem anderen Thread mit Tim G´s Hilfe herausgefunden - dass wenn ich ModuleNewsList erweitere, alles funktioniert.
Edit:
Ähm... wenn ich die Templatezuweisung direkt im Original ModuleNewsReader in der compile() vornehme wird die auch nicht angezeigt. Bin ich in der falschen Klasse?
Lesezeichen