Тег custom и дополнительные поля

Тег custom и дополнительные поля

Хак позволит осуществить вывод новостей тегом custom с фильтром по нескольким значениям дополнительных полей.


Установка:
1. Открыть engine/modules/functions.php и найти:
	if( preg_match( "#xfields=['\"](.+?)['\"]#i", $param_str, $match ) ) {
		
		$match[1] = explode (',', $match[1]);

		$temp_array = array();

		foreach ($match[1] as $value) {

			$value = @$db->safesql ( htmlspecialchars ( strip_tags ( stripslashes ( trim ( $value ) ) ), ENT_QUOTES, $config['charset'] ) );
			$temp_array[] = "p.xfields LIKE '%{$value}%'";

		}		
		
		$where[] = "(".implode(' OR ', $temp_array).")";
		
		
	}

Добавить ниже:
	if( preg_match( "#xfieldsAnd=['\"](.+?)['\"]#i", $param_str, $match ) ) {
		
		$match[1] = explode (',', $match[1]);

		$temp_array = array();

		foreach ($match[1] as $value) {

			$value = @$db->safesql ( htmlspecialchars ( strip_tags ( stripslashes ( trim ( $value ) ) ), ENT_QUOTES, $config['charset'] ) );
			$temp_array[] = "p.xfields LIKE '%{$value}%'";

		}		
		
		$where[] = "(".implode(' AND ', $temp_array).")";
		
		
	}

2. Теперь в шаблоне можно использовать подключение custom вида:
{custom ... xfieldsAnd=""}

Если нужен вывод по разным значениям разных полей:
{custom ... xfieldsAnd="xf1|значение1,xf2|значение2"}

Готово!
 
Версия DLE: 13.х
Автор: nowheremany
Источник
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.