Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как в теге custom запретить выводить новость, что просматривает посетитель?

Как в теге custom запретить выводить новость, что просматривает посетитель?


     18.12.2017    custom, custom тег    Все вопросы » Общие вопросы    1603

вопрос
Добрый день!

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

То есть смысл выводить в топ-похожих новостей - новость в которой посетитель сайта уже находится, абсурдно ведь.

Я пробовал делать вот так, но ничего не выходит:

{custom category="29,30" idexclude="news-id" template="nameblock" aviable="showfull" from="0" limit="5" order="date" cache="yes"}


Пробовал уже:
idexclude="newsid"
idexclude="{newsid}"

Не пашет...

Кто напишет рабочий ответ - оплачу.

Ответил: PunPun


idexclude="{news-id}"

1. Открыть engine/modules/main.php найти
if ( $dle_module == "showfull" AND $news_found ) {
Ниже вставить
$tpl->set ( '{news-id}', intval($_GET['newsid']) );

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

revived
Юзер

revived - 18 декабря 2017 10:56 -

Не сработало...

Sander
PHP-developer

Sander - 18 декабря 2017 14:08 -

Тег {news-id} через дефис:
idexclude="{news-id}"

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

vitnet
PHP-developer

vitnet - 19 декабря 2017 10:41 -

idexclude="%news-id%"

1. Открыть engine/modules/main.php

найти
if ( $dle_module == "showfull" AND $news_found ) {

Ниже вставить
	$tpl->copy_template = str_ireplace( '%news-id%', NEWS_ID, $tpl->copy_template );

Работает на 100% (DLE 12)

revived
Юзер

revived - 19 декабря 2017 11:32 -

***Комментарий удален***

revived
Юзер

revived - 19 декабря 2017 14:46 -

***Комментарий удален***

revived
Юзер

revived - 19 декабря 2017 14:47 -

Не работает...

LazyDev
PHP-developer

LazyDev - 19 декабря 2017 23:02 -

revived, вам выдать бан? Вам написали рабочие варианты, то что у вас не работает, ищите у себя.

Мой блог: LazyDev.pro

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

revived
Юзер

revived - 20 декабря 2017 04:54 -

1. Все выданные тут варианты НЕ рабочие.
2. Вчера вечером отписал прогер толковый и все сделал - решение совсем другое нежели тут предлагали.
3. Тему можно закрыть.

Всем спасибо за помощь, но ничего не сработало. У меня этот тег вставляется через Рекламу (что не было указано в вопросе) и подключается через отдельный файл tpl. Ваши же варианты давали немного другое решение.

Вот решение (человек за это получил свое вознаграждение и хорошее):

1.0 Файл engine/classes/templates.class.php

Найти:
    if (strpos ( $template, "{catmenu" ) !== false) {
   $template = preg_replace_callback ( "#\\{catmenu(.*?)\\}#is", array( &$this, 'build_cat_menu'), $template );
  }

Ниже добавлено:
if( defined( 'NEWS_ID' ) ) {
      //$props = NEWS_ID;
      $template = str_ireplace( "{news-id}", NEWS_ID, $template );
  } else {
      $template = str_ireplace( "{news-id}", 0, $template );
  }

2.0 Файл engine/modules/main.php

Найти:
if (stripos ( $tpl->copy_template, "[not-static=" ) !== false) {
 $tpl->copy_template = preg_replace_callback ( "#\\[(not-static)=(.+?)\\](.*?)\\[/not-static\\]#is", "check_static", $tpl->copy_template );
}

Ниже добавлено:
if( defined( 'NEWS_ID' ) ) {
  //$props = NEWS_ID;
  $tpl->copy_template = str_ireplace( "{news-id}", NEWS_ID, $tpl->copy_template );
} else {
  $tpl->copy_template = str_ireplace( "{news-id}", 0, $tpl->copy_template );
}

revived
Юзер

revived - 18 декабря 2017 14:23 -

Sander,
Так же и делал, не пашет ((

lutskboy
Эксперт

lutskboy - 18 декабря 2017 18:34 -

кеш очистить не забудь

revived
Юзер

revived - 18 декабря 2017 18:50 -

Чистил кэш, не помагает. Вообще только диз сдвигается после вставки {news-id} в:

{custom category="30" idexclude="{news-id}" template="block_news" aviable="showfull" from="0" limit="5" order="date" cache="yes"}


А также начинает выводить похожие новости как в кратких новостях в категории... http://joxi.ru/BA0WgLaUBbDZW2
Что-то вообще не то.

lutskboy
Эксперт

lutskboy - 18 декабря 2017 18:59 -

ну так вы наверно и указали шаблон такой template="block_news" как и для категорий

revived
Юзер

revived - 18 декабря 2017 19:12 -

Нет, шаблон block_news - это шаблон вывода похожих новостей.
А idexclude="{news-id}" - не работает...

lutskboy
Эксперт

lutskboy - 18 декабря 2017 19:23 -

версия дле какая

revived
Юзер

revived - 18 декабря 2017 20:23 -

Версия 12.0

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

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

наверх