Помощь Отображение модуля только на главной

Тема в разделе "DLE", создана пользователем LEXAlForpostl, 18 фев 2012.

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

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

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

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Здравствуйте.
    Подскажите, пожалуйста, как сделать так, чтобы модуль в сайдбаре отображался только на главной странице.
     
  2. Forza.Baron

    Forza.Baron

    Регистр.:
    26 янв 2012
    Сообщения:
    175
    Симпатии:
    76
    aviable раздел в котором будет выводится запрашиваемые новости, может принимать следующие значения:

    global - во всех разделах
    main - на главной странице
    date - при просмотре новостей за определенные даты
    cat - при просмотре категории
    showfull - при просмотре полной новости
    search - при просмотре результатов поиска
    userinfo - при просмотре профиля
    register - при регистрации
    stats - при просмотре статистики
    pm - при просмотре персональных сообщений
    feedback - при просмотре обратной связи
    favorites - при просмотре закладок
    newposts - при просмотре новых сообщений
    addnews - при добавлении новости
    lastcomments - при просмотре последних комментариев
    static - при просмотре статических страниц
    catalog - при просмотре каталога страниц
    alltags - при просмотре облака тегов
    tags - при просмотре новостей из облака тегов

    Вы можете комбинировать разделы при помощи "|", например aviable="userinfo|register|main" будет выводить ваши новости на главной, при регистрации и при просмотре профиля пользователя.
    from номер новости с которой начнется вывод

    limit сколько новостей будет выведено

    cache принимает значения yes или no - устанавливает кешировать вывод или нет, рекомендуется кешировать для снижения нагрузки.

    Внимание необходимо указывать все параметры обязательны а также необходимо соблюдать их порядок.

    Помните что каждое использование этого тега создает дополнительную нагрузку на базу данных, т.к. идет дополнительная выборка, поэтому используйте ее с умом если необходимо экономить на ресурсах.

    Тег [aviable=раздел]текст[/aviable], выводит текст заключенный в теги если просматривается указанный раздел сайта:

    Тег принимает параметры аналогичные параметру aviable тега {custom}.

    Для примера [aviable=main] текст [/aviable] будет выводить текст заключенный на главной. Bы можете задать также тег [not aviable=main] текст [/aviable]
    который полностью противоположен тегу aviable и выводить текст везде кроме перечисленных разделов
     
    Горбушка и LEXAlForpostl нравится это.
  3. RayTraceR1

    RayTraceR1 Создатель

    Регистр.:
    27 июн 2009
    Сообщения:
    44
    Симпатии:
    15
    Нету в DLE тега available, есть только aviable. А если использовать [aviable=main]текст[/aviable], то текст будет отображаться даже на странице два, три и т.д.

    По сему предлагаю свой хак:
    Открываем engine/classes/templates.class.php и ищем код:
    PHP:
    $this->template file_get_contents$this->dir DIRECTORY_SEPARATOR $tpl_name );
    После него вставляем:
    PHP:
    if (strpos $this->template"[mainpage]" ) !== false) {
                if( 
    $_SERVER['REQUEST_URI'] == '/index.php' OR $_SERVER['REQUEST_URI']== '/' )
                    
    $this->template preg_replace "#\\[mainpage\\](.*?)\\[/mainpage\\]#is""\\1"$this->template );
                else
                    
    $this->template preg_replace "#\\[mainpage\\](.*?)\\[/mainpage\\]#is"''$this->template );
            }
    и ищем код:
    PHP:
    $template file_get_contents$this->dir DIRECTORY_SEPARATOR $tpl_name );
    После него вставляем:
    PHP:
    if (strpos $template"[mainpage]" ) !== false) {
                if( 
    $_SERVER['REQUEST_URI'] == '/index.php' OR $_SERVER['REQUEST_URI']== '/' )
                    
    $template preg_replace "#\\[mainpage\\](.*?)\\[/mainpage\\]#is""\\1"$template );
                else
                    
    $template preg_replace "#\\[mainpage\\](.*?)\\[/mainpage\\]#is"''$template );
            }
    После, в любом .tpl Файле шаблона вставляеш теги:
    [mainpage]текст[/mainpage]
     
    Горбушка и droni4 нравится это.
  4. Forza.Baron

    Forza.Baron

    Регистр.:
    26 янв 2012
    Сообщения:
    175
    Симпатии:
    76
    available - aviable вечно путаю :)
    Список всех разделов -> Рекламные материалы -> Добавить баннер (баннер, можно и текст, без разницы, если баннер просто надо теги хтмл знать и всё) и ставите галку "Показывать только на главной (несквозной баннер)" -> Сохранить. После этого вставляете в main тег рекламы, типа {banner_header}. :D Вот таким образом отображается только и только на главном.
     
    Горбушка нравится это.
  5. droni4

    droni4

    Регистр.:
    21 авг 2007
    Сообщения:
    182
    Симпатии:
    7
    Зачет! только в DLE 10.1 немного методом тыка пришлось т.к. templates.class.php изменен - но в итоге получилось! Спасибо!
    Только вот вопрос почему [aviable=main] с {custom} [/aviable] у меня не работал
     
  6. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.168
    Симпатии:
    796
    а что мешало использовать стандартный феункционал который делает тоже самое...?

     
    Горбушка нравится это.
  7. droni4

    droni4

    Регистр.:
    21 авг 2007
    Сообщения:
    182
    Симпатии:
    7
    задача была выводить блоки только на главной

    [aviable=main] - не работал
    {custom с параметром aviable=main } - тоже не работал

    версия двигателя 10.1

    возможно не выводил блоки из за того что принудительно убрал из url id новостей... это мои догадки... может баг при нуле
     
  8. Горбушка

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

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    droni4, слабо:
    Код:
    [page-count=1][aviable=main] текст [/aviable][/page-count]
     
    killoff нравится это.
  9. djav

    djav Постоялец

    Регистр.:
    3 апр 2008
    Сообщения:
    118
    Симпатии:
    49
    Мне необходимо к конкретной статической странице показать необходимый div со скриптом, который будет указан в шаблоне main.
    Как сделать?
    Внутрь самой статической странице отобразить данный скрипт мне не подходит.

    Версия DLE 10.2
     
  10. Горбушка

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

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    djav, нет, документацию в этой стране читать не принято...