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

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

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
766
Реакции
228
Здравствуйте.
Подскажите, пожалуйста, как сделать так, чтобы модуль в сайдбаре отображался только на главной странице.
 
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 и выводить текст везде кроме перечисленных разделов
 
Для примера [available=main] текст [/available] будет выводить текст заключенный на главной. Bы можете задать также тег [not available=main] текст [/available]
Нету в 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]
 
available - aviable вечно путаю :)
Список всех разделов -> Рекламные материалы -> Добавить баннер (баннер, можно и текст, без разницы, если баннер просто надо теги хтмл знать и всё) и ставите галку "Показывать только на главной (несквозной баннер)" -> Сохранить. После этого вставляете в main тег рекламы, типа {banner_header}. :D Вот таким образом отображается только и только на главном.
 
Нету в 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]

Зачет! только в DLE 10.1 немного методом тыка пришлось т.к. templates.class.php изменен - но в итоге получилось! Спасибо!
Только вот вопрос почему [aviable=main] с {custom} [/aviable] у меня не работал
 
Зачет! только в DLE 10.1 немного методом тыка пришлось т.к. templates.class.php изменен - но в итоге получилось! Спасибо!
Только вот вопрос почему [aviable=main] с {custom} [/aviable] у меня не работал
а что мешало использовать стандартный феункционал который делает тоже самое...?

[page-count=1,2,3] текст [/page-count]



Будет выводить текст заключенный в них, если пользователь находится на определенной по номеру страницы в навигации по новостям, независимо от раздела сайта, где 1,2,3 это номера страниц в навигации. Данный тег позволит очень гибко настроить вывод той или иной информации, на определенной странице и полезен для информационных блоков и рекламы. Вы можете использовать данный тег совместно с другими, опеределяющими разделы сайта и категории.
 
а что мешало использовать стандартный феункционал который делает тоже самое...?
задача была выводить блоки только на главной

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

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

возможно не выводил блоки из за того что принудительно убрал из url id новостей... это мои догадки... может баг при нуле
 
droni4, слабо:
Код:
[page-count=1][aviable=main] текст [/aviable][/page-count]
 
Мне необходимо к конкретной статической странице показать необходимый div со скриптом, который будет указан в шаблоне main.
Как сделать?
Внутрь самой статической странице отобразить данный скрипт мне не подходит.

Версия DLE 10.2
 
djav, нет, документацию в этой стране читать не принято...
[static=имя страницы] текст [/static]

будет выводить текст заключенный в теги, если посетитель просматривает статическую страницу с указанным именем. Допускается также перечесление страниц в теге через запятую. Например [static=test1,test2,test3] текст [/static] будет выводить текст на страницах test1, test2 и test3

[not-static=имя страницы] текст [/not-static]

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