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

Помощь вывод блока на страницах новостей

Открыть /engine/modules/main.php Найти :
PHP:
if ($config['allow_skin_change']) $tpl->set ( '{changeskin}', ChangeSkin ( ROOT_DIR . '/templates', $config['skin'] ) );
Выше вставить :
PHP:
if ( $dle_module == "main" ) {
    if($cstart == 1)
        $tpl->set_block( "'\\[show_not_main\\](.*?)\\[/show_not_main\\]'si", "" );
    else
    {
        $tpl->set( '[show_not_main]', "" );
        $tpl->set( '[/show_not_main]', "" );
    }
} else {
    $tpl->set( '[show_not_main]', "" );
    $tpl->set( '[/show_not_main]', "" );
}
есть проблема
если перейти на страницу полной новости и потом вернутся на главном что то происходить потом уже везде показывает
что это за баг можете исправить?

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

даже если перезагрузить страницу потом уже везде показывает
Проблемы нет, проблема в том что включенный кэш.
 
Открыть /engine/classes/templates.class.php найти :
PHP:
if (strpos ( $this->template, "[group=" ) !== false) {
Выше вставить :
PHP:
if (strpos ( $this->template, "[show_not_main]" ) !== false) {
    $this->template = preg_replace_callback ( "#\\[(show_not_main)\\](.*?)\\[/show_not_main\\]#is", array( &$this, 'show_not_main'), $this->template );
}
Далее найти :
PHP:
if (strpos ( $template, "[group=" ) !== false) {
Выше вставить :
PHP:
if (strpos ( $template, "[show_not_main]" ) !== false) {
    $template = preg_replace_callback ( "#\\[(show_not_main)\\](.*?)\\[/show_not_main\\]#is", array( &$this, 'show_not_main'), $template );
}
Далее найти :
PHP:
function clear_url_dir($var) {
Выше вставить :
PHP:
function show_not_main($matches=array())
{
    global $dle_module;
    $block = $matches[2];
    if ( $dle_module == "main") {
        if($_REQUEST['cstart'] == 1)
            return "";
        else if ($_REQUEST['cstart'] > 1)
            return $block;
    } else {
        return $block;
    }
}
 
  • Нравится
Реакции: SPoX
во первых огромное спасибо за помощь

теперь все прекрасно работает
у меня такой вопрос: помимо того что проблема было в том что у меня было просто вклучено кэширование там может быть еще какое то ошибка что надо будет исправить или все уже ничего не надо и будет работать как часи?

пока что я протестил выключил кэширование посмотрел как работает и все ОК
 
во первых огромное спасибо за помощь

теперь все прекрасно работает
у меня такой вопрос: помимо того что проблема было в том что у меня было просто вклучено кэширование там может быть еще какое то ошибка что надо будет исправить или все уже ничего не надо и будет работать как часи?

пока что я протестил выключил кэширование посмотрел как работает и все ОК
последний код работает с кэшированием, больше ничего не нужно, а тот код с main.php удалить
 
  • Нравится
Реакции: SPoX
Назад
Сверху