Помощь несколько шаблонов не по простому

Тема в разделе "DLE", создана пользователем sunyang, 31 окт 2011.

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

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

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

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    444
    Симпатии:
    30
    У меня главная страница использует один шаблон(основной), в него выводятся короткие новости из одной из категорий. Под все остальные категории и стандартные страницы (страница регистрации, восстановления пароля, добавления новоси) нужно чтобы использовали другой шаблон. Ставлю в в этих катрегориях отличный от главной шаблон по умолчанию, но стандартные страницы типа регистрации все равно юзают шаблон основной, который используется для главной. Мне он нужен исключительно только для главной.
    На главной используется вот этот шаблон: 001.jpg во вложении
    Там подгружается блок из трех последних новостей: вместо {content} написал:
    {custom category="1" template="mainnews" aviable="main" from="0" limit="3" cache="yes"}
    При переходе на одну из новостей, переходит на шаблон 002.jpg (во вложении). При нажатии на ссылку вход или регистрация или добавить новость, снова юзает основной шаблон, как заставить использовать служебные страницы неосновной шаблон?
     
  2. sunyang

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    444
    Симпатии:
    30
    Создал отдельный шаблон для главной indexmain.tpl,

    попробовал в index.php прописать вместо

    PHP:
    $tpl->load_template 'main.tpl' );
    вот это:

    PHP:
    if($_SERVER['REQUEST_URI']=="/" || $_SERVER['REQUEST_URI']=="/index.php"){
     
    $tpl->load_template('main.tpl');
    } else {
    $tpl->load_template('indexmain.tpl');
    }
    подключает теперь не только на главной indexmain.tpl((

    Добавлено через 22 минуты
    ааа...вот это помогло:

    PHP:
    $tpl->load_template 'main.tpl' );
    // >>
    if($_SERVER['QUERY_STRING'] == true){
     
    $tpl->load_template('main.tpl');
    }else{
    $tpl->load_template('indexmain.tpl');
    }
    // <<
     
    watt нравится это.
  3. noxxxxx

    noxxxxx Постоялец

    Регистр.:
    19 апр 2007
    Сообщения:
    132
    Симпатии:
    32
    А не проще воспользоваться встроенными функциями по разграничению подгружаемых шаблонов, в зависимости от страницы? Чем вариант прописанный в main.tpl не устраивает? Если в main.tpl прописать вот так:
    PHP:
    [aviable=feedback|register|faq|search|sitemap|userinfo|favorites|addnews|pm|rules|static|tags|catalog]{include file="mainforms.tpl"}[/aviable]
    [
    not-aviable=feedback|register|faq|search|sitemap|userinfo|favorites|addnews|pm|rules|static|tags|catalog]{include file="mainindex.tpl"}[/not-aviable]
    где, соответственно:
    mainindex - главная страница и новости
    mainforms - контакты, регистрация, поиск, каталог и прочая хрень. если чего-то не так понял - сорри.
     
  4. Doctor_zlo

    Doctor_zlo

    Moderator
    Регистр.:
    25 апр 2008
    Сообщения:
    461
    Симпатии:
    980
    Еще проще
    в main.tpl
    PHP:
    [aviable=main]
    {include 
    file="main.tpl"}
    [/
    aviable]
    [
    not-aviable=main]
    {include 
    file="indexmain.tpl"}
    [/
    not-aviable]
     
  5. sunyang

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    444
    Симпатии:
    30
    если бы я их знал)
    даа, пожалуй так получше - девственный php код в index.php))

    Добавлено через 1 минуту
    это в самом верху или вместо {content} ?
     
  6. Doctor_zlo

    Doctor_zlo

    Moderator
    Регистр.:
    25 апр 2008
    Сообщения:
    461
    Симпатии:
    980
    точнее правильно будет
    PHP:
    [aviable=main
    {include 
    file="main_main.tpl"
    [/
    aviable
    [
    not-aviable=main
    {include 
    file="indexmain.tpl"
    [/
    not-aviable]
    этим заменяем содержимое main.tpl и теперь для главной страницы будет подключать шаблон main_main.tpl
    а все что не относиться к главной будет подключать шаблон
    indexmain.tpl
    http://dle-news.ru/tips/340-ispolzovanie-razlichnykh-shablonov-dlja-razdelov.html
     
Статус темы:
Закрыта.