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

Тема в разделе "DLE", создана пользователем danneo, 27 мар 2014.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. danneo

    danneo Честный

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

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    А в шаблонизаторе делаешь всё тоже самое.

    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
     
  3. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.453
    Симпатии:
    113
    дак это не то...
    как вот теперь этот шаблон (offline.tpl), вывести 10 раз в шаблоне block_offline.tpl ?
     
  4. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    В коде выше заменяем $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'], которую потом можно вывести на экран или использовать в других шаблонах.
     
    danneo нравится это.