Поиск сообщества
Показаны результаты для тегов 'poll'.
Найдено: 1 результат
-
Реализуя опросы в вашем приложении, пользователи смогут создать опрос при создании нового элемента контента. Процесс выполняется автоматически; новая вкладка будет отображаться в форме создания элемента, которая позволит управлять опросом. Как реализовать опросы Во-первых, ваша модель элемента контента должна реализовать интерфейс опроса, например: implements \IPS\Content\Polls Затем добавьте ключ в ваше свойство $databaseColumnMap со значением, являющимся названием столбца базы данных, хранящего ID опроса для данного элемента (обратите внимание, вы можете иметь только один опрос для одного элемента контента). Наконец, отобразите опрос в шаблоне просмотра элемента контента. Например: {$item->getPoll()|raw} Выполнение дополнительных действий после голосования При желании, ваша модель может быть оповещена, когда пользователь голосует в опросе. Для добавления поддержки этого, вы должны реализовать SPL Observer: implements \SplObserver В вашей модели добавьте метод обновления, который будет вызван, когда опрос получает голоса: void update( \IPS\Poll $poll ) $poll (\IPS\Poll) - Опрос, на который проголосовали. Наконец, при отображении вашего элемента контента присоедините элемент к опросу. Например: if ( $poll = $item->getPoll() ) { $poll->attach( $item ); } Дополнительные доступные методы модели boolean static canCreatePoll( [ \IPS\Member $member [, \IPS\Node\Model $container ] ] ) Указывает, может ли пользователь создать опрос. $member (\IPS\Member, необязательный) - Пользователь, разрешения которого должны быть проверены. По умолчанию будет использоваться текущий авторизованный пользователь. $container (\IPS\Node\Model, необязательный) - Проверяет, могут ли быть созданы опросы в этом контейнере. \IPS\Poll getPoll() Возвращает опрос для этого элемента (или NULL, если опроса у элемента нет).