Перейти к публикации

Вывод {custom} без fixed (фиксированных) новостей


Рекомендованные сообщения

Привет всем нуждающимся!

Появилась у меня необходимость выводить фиксированные (fixed) новости в одном месте, а не фиксированные в другом.

Предупрежу сразу этот ХАК подойдет только тем, у кого версия 10.0 или постарше! (я его делал на версии 10.1)

Почитал документацию по DLE и нашел как выводить только фиксированные (fixed) новости:

fixed принимает значения yes, no или only- устанавливает учитывать ли при выводе публикаций, то что новости были зафиксированы или нет. В случае если указано значение only, то будут выводится только зафиксированные новости.

Как я понял работает это так:

  • Yes - фиксированные новости выводятся и при этом учитывается их положение (то есть они первые)
  • No - фиксированные новости выводятся и их положение не учитывается (не особо понял зачем это, но логику уловил и после согласился с надобностью это индикатора)
  • Only - выводятся только фиксированные новости (вот это класс! вот это молодцы!)

А вот чего мне не хватало:

  • Without - состояние параметра fixed= в {custom} при котором фиксированные (fixed) новости не выводились бы (конечно логично было бы назвать его NO, но к сожалению таковое уже зането )

И так КАК же это сделать? - просто!

Но сначала скажем вот этому Sander1 человеку спасибо за его ответ в найденом мною топике http://forum.dle-new...32 .

Вообщем нам надо сделать похожие махинации, но в другом направлении.

1. Откраваем файл: engine/modules/functions.php

2. Ищем в ней строчки:


if( $match[1] == "yes" ) $fixed = "fixed DESC, ";

elseif( $match[1] == "only" ) { $where[] = "fixed='1'"; $fixedcache = "fixed only"; }

3. И добавляем после них еще строчку:
elseif( $match[1] == "without" ) { $where[] = "fixed='0'"; $fixedcache = ""; } // пофиксенная строка!

В итоге: Теперь если вы используете тег {custom}, то можете с помощью него запретить вывод зафиксированных (fixed) новостей используя параметр fixed="without". Пример:

{custom category="1-8" limit="5" days="5" cache="yes" fixed="without"}

- в итоге custom выведет новости с 1 по 8 категорий за последние 5 дней, закеширует их, и не будет выводить фиксированные (fixed) новости.

Былобы круто, если бы разработчики добавили бы данную строчку в следующих версиях всеми любимого продукта!

Всех благ вам!

  • Поддерживаю 3
Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

Отлично!

Populaire,

плюс! Обязательно надо добавить в функционал

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...