In „…/search/index.tpl“ ist vorgesehen, folgende Überschrift auszugeben: [code]{block name=‚frontend_search_index_headline‘}
{s name=‚SearchHeadline‘}Zu „{$sSearchTerm|escape}“ wurden {$sSearchResultsNum|escape} Artikel gefunden{/s}
{/block}[/code]Angezeigt wird aber nur: Zu „“ wurden Artikel gefunden! Der kompilierte Smarty-Code für diesen Bereich sieht sehr merkwürdig aus: [code]
<?php $_smarty_tpl->smarty->_tag_stack = array(‚snippet‘, array(‚name‘=>‚SearchHeadline‘,‚default‘=>'Zu „{$sSearchTerm}“ wurden {sSearchResultsNum} Artikel gefunden')); _block_repeat=true; smarty_block_snippet(array(‚name‘=>‚SearchHeadline‘,‚default‘=>'Zu „{$sSearchTerm}“ wurden {sSearchResultsNum} Artikel gefunden'), null, _smarty_tpl->smarty, \_block\_repeat, _smarty_tpl);while (\_block\_repeat) { ob\_start();?\> Zu "<?php echo _smarty_tpl->getVariable(‚sRequests‘)->value[‚sSearch‘];?> " wurden <?php echo _smarty_tpl->getVariable('sSearchResults')-\>value['sArticlesCount'];?\> Artikel gefunden!<?php _block_content = ob_get_clean(); $_block_repeat=false; echo smarty_block_snippet(array(‚name‘=>‚SearchHeadline‘,‚default‘=>'Zu „{$sSearchTerm}“ wurden {sSearchResultsNum} Artikel gefunden'), _block_content, \_smarty\_tpl-\>smarty, _block_repeat, \_smarty\_tpl); } array\_pop(_smarty_tpl->smarty->_tag_stack);?>
[/code] In der Konsole sehe ich, dass die verwendeten Variablen an das Template übergeben werden sSearchResultsNum 5 sSearchTerm Sergio Tacchini Handtasche
Das kompilierte Template gibt aber ganz andere Variablen aus: \_smarty\_tpl-\>getVariable('sRequests')-\>value['sSearch'] und _smarty_tpl->getVariable(‚sSearchResults‘)->value[‚sArticlesCount‘] Was läuft da verkehrt? EDIT: Erwarten würde man folgende Parameterausgaben: \_smarty\_tpl-\>getVariable('sSearchTerm')-\>value und _smarty_tpl->getVariable(‚sSearchResultsNum‘)->value die auch im kompilierten Template verfügbar sind… EDIT: Habe die Headlinie mal zu [code] {block name=‚frontend_search_index_headline‘}
Zu „{$sSearchTerm|escape}“ wurden {$sSearchResultsNum|escape} Artikel gefunden
{/block} [/code]geändert, und damit funktioniert’s! Folgerung: Mit der „s“-Funktion stimmt was nicht in diesem Kontext…