• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Как вывести в шаблоне цикл?

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.526
Реакции
121
Модуль свой. Нужно сделать блок в середине страницы. В этом блоке цикл записей - список категорий с различными параметрами. Получается так, что сам блок имеет html код и названия категорий тоже. Этот html-код для верстки. Проблема в том, что этот html хочу вынести в шаблон. Если пихать в php-код, то все просто, а нужно в через шаблонизатор. Т.е. получается, как шаблон для названия категории нужно разместить в другом шаблоне (блок категорий), причем много раз. :D
Можно как-то в DLE сделать такой цикл, типа того же smarty - передать массив данных, а в шаблоне вывести. В ДЛЕ может быть что-то подобное есть (можно сделать)?
DLE v10.1
 
А в шаблонизаторе делаешь всё тоже самое.

PHP:
while ($i < 10) {
	$tpl->load_template('offline.tpl');

	$tpl->set('{THEME}', $config['http_home_url'].'templates/'.$config['skin']);
	$tpl->set('{charset}', $config['charset']);

	$tpl->set('{reason}', $i);

	$tpl->compile('content');

	$i++;
}
Выводим 10 раз шаблон offline.tpl
 
А в шаблонизаторе делаешь всё тоже самое.

PHP:
while ($i < 10) {
    $tpl->load_template('offline.tpl');

    $tpl->set('{THEME}', $config['http_home_url'].'templates/'.$config['skin']);
    $tpl->set('{charset}', $config['charset']);

    $tpl->set('{reason}', $i);

    $tpl->compile('content');

    $i++;
}
Выводим 10 раз шаблон offline.tpl
дак это не то...
как вот теперь этот шаблон (offline.tpl), вывести 10 раз в шаблоне block_offline.tpl ?
 
В коде выше заменяем $tpl->compile('content'); на $tpl->compile('block_offline');

Делаем вывод:
PHP:
$tpl->load_template('block_offline.tpl');
$tpl->set('{block_offline}', $tpl->result['block_offline']);
$tpl->compile('content');

$tpl->compile('block_offline'); Добавляет результат обработки в переменную $tpl->result['block_offline'], которую потом можно вывести на экран или использовать в других шаблонах.
 
Назад
Сверху