Как добавить фильтр (рейтинг больше 0)?

Хочу выводить юзеров у кого 'user_rating' > 0

Код вывода списка пользователей описан функцией:
class PluginUsertop_BlockUsertop extends Block {

	public function Exec() {
		/**
		 * По какому полю сортировать
		 */
		$sOrder='user_rating';
		if (getRequest('order')) {
			$sOrder=(string)getRequest('order');
		}
		/**
		 * В каком направлении сортировать
		 */
		$sOrderWay='desc';
		if (getRequest('order_way')) {
			$sOrderWay=(string)getRequest('order_way');
		}
		$aFilter=array(
		'activate' => 1,
		'user_rating' => 1 (Здесь нужно указать как-то условие: рейтинг больше 0)
		);  
		/**  
		 * Получаем список юзеров 
		 */
		$aResult=$this->User_GetUsersByFilter($aFilter,array($sOrder=>$sOrderWay),1,Config::Get('plugin.usertop.user_count'));
		$aUsertop=$aResult['collection'];
		/**
		 * Загружаем переменные в шаблон
		 */
		$this->Viewer_Assign('aUsertop',$aUsertop);
	}	
	
}


В мапере добавил:
public function GetUsersByFilter($aFilter,$aOrder,&$iCount,$iCurrPage,$iPerPage) {
		$aOrderAllow=array('user_id','user_login','user_date_register','user_rating','user_skill','user_profile_name, user_rating');
		$sOrder='';
		foreach ($aOrder as $key=>$value) {
			if (!in_array($key,$aOrderAllow)) {
				unset($aOrder[$key]);
			} elseif (in_array($value,array('asc','desc'))) {
				$sOrder.=" {$key} {$value},";
			}
		}
		$sOrder=trim($sOrder,',');
		if ($sOrder=='') {
			$sOrder=' user_id desc ';
		}

		$sql = "SELECT
					user_id
				FROM
					".Config::Get('db.table.user')."
				WHERE
					1 = 1
					{ AND user_id = ?d }
					{ AND user_mail = ? }
					{ AND user_password = ? }
					{ AND user_ip_register = ? }
					{ AND user_activate = ?d }
					{ AND user_activate_key = ? }
					{ AND user_profile_sex = ? }
					{ AND user_login ? }
					{ AND user_profile_name ? }
					{ AND user_rating = ?d }
				ORDER by {$sOrder}
				LIMIT ?d, ?d, ?d;
					";
		$aResult=array();
		if ($aRows=$this->oDb->selectPage($iCount,$sql,
										  isset($aFilter['id']) ? $aFilter['id'] : DBSIMPLE_SKIP,
										  isset($aFilter['mail']) ? $aFilter['mail'] : DBSIMPLE_SKIP,
										  isset($aFilter['password']) ? $aFilter['password'] : DBSIMPLE_SKIP,
										  isset($aFilter['ip_register']) ? $aFilter['ip_register'] : DBSIMPLE_SKIP,
										  isset($aFilter['activate']) ? $aFilter['activate'] : DBSIMPLE_SKIP,
										  isset($aFilter['activate_key']) ? $aFilter['activate_key'] : DBSIMPLE_SKIP,
										  isset($aFilter['profile_sex']) ? $aFilter['profile_sex'] : DBSIMPLE_SKIP,
										  isset($aFilter['login']) ? $aFilter['login'] : DBSIMPLE_SKIP,
										  isset($aFilter['profile_name']) ? $aFilter['profile_name'] : DBSIMPLE_SKIP,
										  isset($aFilter['user_rating']) ? $aFilter['user_rating'] : DBSIMPLE_SKIP,
										  ($iCurrPage-1)*$iPerPage, $iPerPage
		)) {
			foreach ($aRows as $aRow) {
				$aResult[]=$aRow['user_id'];
			}
		}
		return $aResult;
	}

Дублирование постов в пагинации

Доброго времени.

Собственно суть проблемы. Вывожу топики блога посредством фильтра:

{assign var="aFilter" value=[
	'topic_publish' => 1,
	'user_id' => $oUserProfile->getId()
]}
{assign var="iCountTopic" value=12}
{assign var="aTopicsByBlog" value=$LS->Topic_GetTopicsByFilter($aFilter, 1, $iCountTopic)}
{include file='topic_list.tpl' aTopics=$aTopicsByBlog['collection']}


Однако при переходе на вторую и последующие страницы топиков выводятся топики с первой страницы. В чем может быть проблема?

"Новые за сутки" и "Непросмотренные"

Стандартно на сайте LS можно видеть количество новых за 24 часа топиков (цифра после «Новые», ведущая на index(blog)/new). Все вместе отображаются по index(blog)/newall

В связи с этим возникли вопросы:

1. Возможно ли реализовать вывод топиков по дате с фильтрами пероида (как в «обсуждаемых», «топ»)? Т.е. ссылки должны быть вида:
Читать дальше →

Отображение пользователей (решено)

Здравствуйте! Мне необходимо, чтоб на странице «Люди» пользователи фильтровались по полу. То есть отображались только мужчины, или только женщины. Подскажите пожалуйста, как мне это реализовать?
Спасибо!


Проблему решил посредством добавления:
{if $oUserList->getProfileSex()=='man'}

в файл "/templates/skin/synio/user_list.tpl

GetTopicsByFilter в шаблоне.

Никак не получается использовать функцию GetTopicsByFilter() прямо в шаблоне, всё время какие-то ошибки. Пишу примерно такой код
{assign var="aTopics" value=$LS->Topic_GetTopicsByFilter('blog_id'=>array(361,377))}

Сколько ни менял, ни переписывал — получаю фатальную ошибку синтаксиса. Эта функция вообще доступна из шаблона или нет? Или может я не вижу ошибки у себя под носом? Буду признателен за помощь.

Фильтр по блогам

Здравствуйте.

Может кто-нибудь подсказать, как реализовать фильтр блогов, как это сделано на mmozg.net в разделе «Миры». Спросил у Atron на что он ответил.

Добавили еще одно поле с признаком в таблицу blogs. Соответственно, фильтруем при выводе по этому признаку.

Создать таблицу это не сложно, но вот как сделать фильтр по этой таблице и вывести? Так как Atron занят, то прошу помощи у сообщества.

И ещё было бы неплохо, чтобы можно настроить шаблон вывода блогов. То есть, чтобы в блогах шаблон вывода(блогов) был стандартным, а при фильтре был другой шаблон.

Буду благодарен любым соображениям по данному вопросу.

Создание своего фильтра по произвольному полю. Пример решения задачи

Возникла необходимость создания своего фильтра вывода топиков на главной странице, в моем случае — это была необходимость вывода топиков за определенный период, например, с 2010 по 2011 года.

Читать дальше →

Фильтр по дополнительным полям топиков. Возможность сортировки отображения топиков в ленте по своему полю. РЕШЕНО

Здравствуйте!
Помогите, пожалуйста, в следующей ситуации:

Есть свой вид топика с дополнительными полями.
Допустим, есть дополнительное поле — реальная дата события (формат dd.mm.yyyy).

1. Небоходимо реализовать возможность сортировать в ленте отображение топиков по реальной дате события, а не по дате добавления топика. При этом сортировка на Главной — должна быть по дате добавления поста (как обычно).

2. Необходимо реализовать в ленте фильтр отображения топиков по реальной дате события, с возможностью, например, отображать только события в промежутке времени, от dd1.mm1.yyyy1 до dd2.mm2.yyyy2.

Документацию копаю уже не первый день, но к корректному решению без правки движка пока не пришел. Идеально было бы, конечно, создание плагина, но упираюсь в принципы сортировки по дате добавления поста, заточенные, на сколько я разобрался, в движок LiveStreet.

Переопределение core файлов

Привет всем. Только начинаю вникать в суть дела.
Поставил себе задачу отображения пользователей по настаящему имени. На данный момент в движке реализован поиск и фильтр пользователей по логинам. Для моего проэкта это не совсем удобно. Чаще всего будут искать пользователей по именам настоящим. Поэтому я несколько модифицировал MapperUser. В методах GetGroupPrefixUser и GetUsersByFilter заменил user_login на user_profile_name. Работает отлично и радует что так мало движений понадобилось. Но чувствую жо одним местом, что это не правильно, а при обновлении у меня все мои старания перезапишутся. Каким образом это сделать правильно?
Заранее благодарен за ваши ответы.