Jump to content

Популярный элемент контента

Как реализовать популярность

Чтобы поддерживать возможность делать контент популярным в вашем приложении, вы сперва должны реализовать интерфейс в вашей модели элемента контента:

implements \IPS\Content\Featurable

Затем вам нужно добавить ключ в ваше свойство $databaseColumnMap, со значением, являющимся именем столбца в вашей таблице базы данных, в которой хранится статус популярности элемента.

Ну и наконец, вам нужно добавить поддержку в ваши шаблоны. Например:

{{if $item->canFeature()}}
	<a href='{$item->url()->setQueryString( array( 'do' => 'moderate', 'action' => 'feature' ) )}'>{lang="feature"}</a>
{{endif}}
{{if $item->canUnfeature()}}
	<a href='{$item->url()->setQueryString( array( 'do' => 'moderate', 'action' => 'unfeature' ) )}'>{lang="unfeature"}</a>
{{endif}}

Изменения после реализации

После реализации интерфейса \IPS\Content\Featurable, модераторы с соответствующим разрешением смогут видеть и использовать инструменты для популяризации контента при выборе элементов в списке элементов контента.

Дополнительные доступные методы модели

\IPS\Patterns\AciveRecordIterator static featured( [ integer $limit [, string $order [, \IPS\Node\Model $container ] ] ] )

Возвращает популярные элементы. Если разрешения поддерживаются в вашей модели, возвращаются только те элементы, на просмотр которых у пользователя есть разрешение.

  • $limit (integer, необязательный, по умолчанию 10) - Количество элементов для возврата.
  • $order (string, необязательный, по умолчанию 'RAND()') - Порядок сортировки для использования в запросе.
  • $container (\IPS\Node\Model, необязательный, по умолчанию NULL) - Если указано, будут возвращены только популярные элементы из данного контейнера.

boolean canFeature( \IPS\Member $member )

Указывает, имеет ли пользователь разрешение на установку элемента популярным. Этот метод учитывает, включен ли элемент. Этот метод учитывает, является ли уже элемент популярным.

  • $member (\IPS\Member, необязательный) - Если предоставлено, будут проверять разрешения данного пользователя. По умолчанию, будет использован текущий авторизованный пользователь.

boolean canUnfeature( \IPS\Member $member )

Указывает, имеет ли пользователь разрешение на установку элемента НЕ популярным. Этот метод учитывает, является ли уже элемент не популярным.

  • $member (\IPS\Member, необязательный) - Если предоставлено, будут проверять разрешения данного пользователя. По умолчанию, будет использован текущий авторизованный пользователь.



Messenger

    ×
    ×
    • Create New...

    Important Information

    By using our site you agree to our Privacy Policy