Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как доработать тег [banner] Текст [/banner]?

Как доработать тег [banner] Текст [/banner]?


     24.05.2015    Все вопросы » Общие вопросы по PHP    2340

вопрос
Приветствую, потребовалось сделать такое: нужно показывать содержимое тега если баннер отключён, т.е. сделать чтоб работал такой тег [not-banner] текст [/not-banner]

Ответа пока нет


11 комментариев

LazyDev
PHP-developer

LazyDev - 24 мая 2015 19:21 -

Открыть /engine/modules/main.php найти :
if (count ( $banners ) and $config['allow_banner']) {

    foreach ( $banners as $name => $value ) {
        $tpl->copy_template = str_replace ( "{banner_" . $name . "}", $value, $tpl->copy_template );
        if ( $value ) {
            $tpl->copy_template = str_replace ( "[banner_" . $name . "]", "", $tpl->copy_template );
            $tpl->copy_template = str_replace ( "[/banner_" . $name . "]", "", $tpl->copy_template );
        }
    }

}
Заменить на :
if (count ( $banners ) and $config['allow_banner']) {
    
    foreach ( $banners as $name => $value ) {
        if ( $name ) {
            $tpl->copy_template = str_replace ( "{banner_" . $name . "}", $value, $tpl->copy_template );
            $tpl->copy_template = str_replace ( "[banner_" . $name . "]", "", $tpl->copy_template );
            $tpl->copy_template = str_replace ( "[/banner_" . $name . "]", "", $tpl->copy_template );
            $tpl->set_block ( "'\\[not_banner_" . $name . "\\](.*?)\\[/not_banner_" . $name . "\\]'si", "");
        }
    }
    $tpl->set_block( "'\\[not_banner_(.*?)\\]'si", "" );
    $tpl->set_block( "'\\[/not_banner_(.*?)\\]'si", "" );
} else {
    $tpl->set_block( "'\\[not_banner_(.*?)\\]'si", "" );
    $tpl->set_block( "'\\[/not_banner_(.*?)\\]'si", "" );
}
В шаблонах использовать
[not_banner_{name}] текст [/not_banner_{name}] 
Где
{name}
название баннера.

Не откажусь от пивка Webmoney: R118095764291 | U218134219019 | Z228640084773

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

follor
Юзер

follor - 24 мая 2015 19:30 -

Gameer, в очередной раз спасибо, выручил, и при пополнении кошелька обязательно отблагодарю)

follor
Юзер

follor - 24 мая 2015 19:37 -

Чёт не работает, выводит ).push({}); ]текст).push({}); ]

LazyDev
PHP-developer

LazyDev - 24 мая 2015 19:50 -

follor, потому что нужно так
[not_banner_test] текст [/not_banner_test]

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

follor
Юзер

follor - 24 мая 2015 19:56 -

Цитата: Gameer
follor, потому что нужно так

сейчас работает, но как обычный тег, т.е показывает текст при включённом баннере

LazyDev
PHP-developer

LazyDev - 24 мая 2015 19:59 -

follor, все отлично работает, я проверял, почисти кэш

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

follor
Юзер

follor - 24 мая 2015 20:04 -

Цитата: Gameer
все отлично работает, я проверял, почисти кэш

Не знаю в чём проблема, но показывает при включённом баннере, чистил кэш, перепроверял установку...

LazyDev
PHP-developer

LazyDev - 24 мая 2015 20:08 -

follor, ничем помочь не могу, DLE 10.4 в кодировке utf-8 отлично работает

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

follor
Юзер

follor - 24 мая 2015 20:10 -

Ладно, буду копать, спасибо за помощь)

Woodire
Юзер

Woodire - 27 декабря 2019 11:59 -

Для DLE 13.3 есть такое решение только рабочее?

ТeraМoune
Юзер

ТeraМoune - 27 декабря 2019 12:54 -

Woodire,
Оно рабочее

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх