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

Вывод {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) новости.

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

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

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

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

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

Отлично!

Populaire,

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

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

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...