Выводим новости через {custom} по значению определенного доп поля.


Хак позволяющий выводить новости через тег {custom xfields} по значению определенного дополнительного поля.

Суть данного хака в следующем:
Допустим у нас есть сайт-каталог браузерных игр, и на главной странице нам нужно сделать специальный раздел в котором будут новости с определенным значением доп. поля.

Наше доп поле:

Нам нужно чтобы новости со значением этого поля "ДА" выводились в этом разделе через {custom}
Для этого нам нужно открыть файл engine/modules/functions.php найти строки:

if( preg_match( "#author=['\"](.+?)['\"]#i", $param_str, $match ) ) {
        
        $author = $match[1];
        
        $match[1] = explode (',', $match[1]);
        $temp_array = array();
        foreach ($match[1] as $value) {
            $value = $db->safesql(trim($value));
            $temp_array[] = "p.autor = '{$value}'";
        }        
        
        $where[] = implode(' OR ', $temp_array);
        
        
    } else $author = "";
Примерно 1316 строка.

И ниже вставить:
if( preg_match( "#xfields=['\"](.+?)['\"]#i", $param_str, $match ) ) {
        $xfields = $db->safesql(trim($match[1]));
        $where[] = "xfields LIKE '%{$xfields}%'";
    } else $xfields = "";

Теперь в шаблоне вставляем:
{custom xfields="status|1" template="vip" limit="10" order="date" sort="desc" cache="no"}
status - Это название нашего доп поля
1 - Это значение доп поля

Ну вот и всё.
Я использовал данный способ в сочетании с owl каруселью, на главной выводятся нужные мне новости.скачать dle 11.1смотреть фильмы бесплатно


custom dle news доп поле
Комментариев 2
  1. А как сделать наоборот? Чтобы можно было исключить новости с определенным значением доп. поля.
  2. DomiTori
    Такая конструкция
    {custom xfields="status|1" template="vip" limit="10" order="date" sort="desc" cache="no"}
    Работает и без правок. По крайней мере я использую из коробки
Информация