Тег 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"}
Готово!
• Автор: nowheremany
• Источник
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.