Как реализовать репутацию
Сначала вам нужно реализовать интерфейс репутации в своей модели, например:
implements \IPS\Content\Reputation
Затем вам нужно добавить статическое свойство в свою вашу модель элемента контента, которое отличает этот тип репутации от другого вида контента. Это может быть всё, что вам нравится, но принято использовать имя столбца, в котором хранится идентификатор элемента (например, topic_id или entry_id).
public static $reputationType = 'string';
Наконец, добавьте кнопки репутации, вызвав шаблон кнопок репутации в представлении (шаблоне) вашего элемента контента:
{template="reputation" app="core" group="global" params=“$item"}
Дополнительные доступные методы модели
boolean canGiveReputation( integer $type [, \IPS\Member $member ] )
Указывает, может ли пользователь выдать репутацию автору элемента контента.
- $type (integer, обязательный) - Тип репутации. Либо 1, либо -1, где 1 - положительная репутация, а -1 - отрицательная репутация.
- $member (\IPS\Member, необязательный) - Пользователь, чьи разрешения должны быть использованы при проверке. По умолчанию используется текущий авторизованный пользователь.
void giveReputation( integer $type [, \IPS\Member $member ] )
Выдаёт репутацию автору элемента контента. Выбрасывает исключение DomainException, если пользователь не имеет права выдавать репутацию этому элементу.
- $type (integer, обязательный) - Тип выдаваемой репутации. Либо 1, либо -1, где 1 - положительная репутация, а -1 - отрицательная репутация.
- $member (\IPS\Member, необязательный) - Пользователь, чьи разрешения должны быть использованы при проверке. По умолчанию используется текущий авторизованный пользователь.
integer repGiven( [ \IPS\Member $member ] )
Возвращает значение, указывающее была ли выдана репутация (и какого типа) пользователю за элемент контента. Возвращаемые значения:
- 1 - была выдана положительная репутация.
- -1 - была выдана отрицательная репутация.
- 0 - репутация не выдана.
- $member (\IPS\Member, необязательный) - Пользователь, чьи разрешения должны быть использованы при проверке. По умолчанию используется текущий авторизованный пользователь.