Jump to content

Закреплённый элемент контента

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

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

implements \IPS\Content\Pinnable

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

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

{{if $item->canPin()}}
	<a href='{$item->url()->setQueryString( array( 'do' => 'moderate', 'action' => 'pin' ) )}'>{lang="pin"}</a>
{{endif}}
{{if $item->canUnpin()}}
	<a href='{$item->url()->setQueryString( array( 'do' => 'moderate', 'action' => 'unpin' ) )}'>{lang="unpin"}</a>
{{endif}}

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

  • Закреплённые элементы будут отображаться вверху списка элементов контента.
  • Модераторы с соответствующим разрешением смогут видеть и использовать инструменты для закрепления контента при выборе элементов в списке элементов контента.

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

boolean canPin( \IPS\Member $member )

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

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

boolean canUnpin( \IPS\Member $member )

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

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



Messenger

    ×
    ×
    • Create New...

    Important Information

    By using our site you agree to our Privacy Policy