s12v
Новичок
Blitz: список
Пробую использовать шаблонизатор Blitz.
Хочу сделать список, элементы которого - ссылки либо текстовые строки.
Сделал шаблон:
написал код:
На выходе после parse() получаю список, НО сначала идут все ссылки, потом все тексты.
Например, в исходном массиве (текст, ссылка, текст), а на выходе (ссылка, текст, текст).
Соответственно, если в шаблоне поменять местами контексты href и text, то получается наоборот - сначала тексты, потом ссылки
А как сохранить исходный порядок элементов?
-~{}~ 06.05.08 21:14:
Вроде бы так работает:
и
Это правильно? Выглядит немного громоздко...
Пробую использовать шаблонизатор Blitz.
Хочу сделать список, элементы которого - ссылки либо текстовые строки.
Сделал шаблон:
PHP:
<!-- BEGIN list -->
<!-- BEGIN href -->
<a href="{$href)}">{$title}</a>
<!-- END -->
<!-- BEGIN text -->
{$title}
<!-- END -->
<!-- END -->
PHP:
foreach($item_arr as $Item)
{
if(false === $Item->href)
{ // ссылка не задана, это просто текст
$this->block('/list/text', array('title' => $Item->title));
}
else
{ // ссылка задана
$this->block('/list/href', array('href' => $Item->href, 'title' => $Item->title));
}
}
Например, в исходном массиве (текст, ссылка, текст), а на выходе (ссылка, текст, текст).
Соответственно, если в шаблоне поменять местами контексты href и text, то получается наоборот - сначала тексты, потом ссылки

А как сохранить исходный порядок элементов?
-~{}~ 06.05.08 21:14:
Вроде бы так работает:
PHP:
<!-- BEGIN list -->
<!-- BEGIN element -->
{$fetch}
<!-- END -->
<!-- BEGIN fetch -->
<!-- BEGIN href -->
<a href="{$href}">{$title}</a>
<!-- END -->
<!-- BEGIN text -->
{$title}
<!-- END -->
<!-- END -->
<!-- END -->
PHP:
foreach($item_arr as $Item)
{
if(false === $Item->href)
{ // ссылка не задана, это просто текст
$fetch = $this->block('/list/fetch/text', array('title' => $Item->title));
}
else
{ // ссылка задана
$fetch = $this->block('/list/fetch/href', array('href' => $Item->href, 'title' => $Item->title));
}
$this->block('/list/element', array('fetch' => $fetch));
}