Seite 1 von 2

assign_block_vars

Verfasst: 22.04.2008 00:08
von Viper77
Hallo zusammen,

can es sein das assign_block_vars manchmal nicht funktioniert.

Wenn ich

Code: Alles auswählen

$template->assign_block_vars('demo', array(
				'TEST'		 => 'HALLO MICH',
));
verwenden, dann funktioniert dies in prosilver aber nicht in subsilver2 mit dem
<!-- BEGIN demo -->
{demo.TEST}
<!-- END demo -->

wenn ich nur assign_vars verwende geht es. Da aber noch eine andere variable verwendet werden sollte bräuchte ich die erste mthode

Kann mir einer helfen?

Verfasst: 22.04.2008 00:33
von 4seven
Da warte mal, bis einer der phpbb-Profis reinschneit :wink:

Verfasst: 22.04.2008 01:00
von djchrisnet
Der Fehler muss im subsilver template sein. php-seitig ist es richtig und auch der gepostete Code ist meines Wissn fehlerfrei.


assign_block_vars ist für listen gedacht, um etwas in einer schleife auszugeben.
Beispiel: beiträge eines themas, onlineliste in tabellenansicht wie (viewonline.php)

assign_vars ist hingegen nur für die einmalige verwendung. als beispiel währe hier die vergabe von userbezogenen daten, also username links in der navi oder sprachvariablen wie die übersetzungsinfo!

Verfasst: 22.04.2008 01:22
von nickvergessen
Kann soweit auch keinen Fehler sehne, aber vllt wurde in subsilver eine alte Datei gecached(?) und nicht ersetzt?

Verfasst: 22.04.2008 01:22
von Viper77
Na dann kann ja nur das subsilver template defekt sein. Oder ich muss mal schauen ob das Template modifiziert wurde in der 3.0.1er Version.

Denn normalerweise sollte es funktionieren denk ich :)

Verfasst: 22.04.2008 01:23
von Viper77
Hab den Cache mehrmals geleert da ich schonmal dieses Problem hatte. Hab aber auch eingestellt das er jedesmal neu compilieren soll wenn sich was geändert hat.

Verfasst: 22.04.2008 01:29
von djchrisnet
vielleicht könntest du die codestelle im subsilver2 template mal posten.

Verfasst: 22.04.2008 01:39
von Viper77
Die sieht aus wie oben gepostet. Aber ich post mal die kompletten Zeilen

Subsilver2:

Code: Alles auswählen

<!-- BEGIN rating -->
<tr>
  <td class="postdetails" align="center">{rating.RATELINK}</td>
</tr>
<!-- END rating -->
Prosilver:

Code: Alles auswählen

<!-- BEGIN rating -->
    {RATELINK}
<!-- END rating --> 
Ich muss dazu sagen das in der RATELINK variable sich eine komplette Form befindet mit verschiedenen select values.

Wie aber gesagt. In Prosilver funktioniert es, in Subsilver2 nicht.

Bei einer Umstellung nach assign_vars funktioniert es wie erwartet.[/quote]

Verfasst: 22.04.2008 02:03
von djchrisnet
lösch die begin und end zeile und nutze {RATELINK} im template.

php seitig verwende assign_vars

Verfasst: 22.04.2008 02:15
von Viper77
Dann muss ich die IF abfrage verwenden. Die Variable wird nur unter bestimmten umständen verwendet :)