Поиск сообщества
Показаны результаты для тегов 'feature'.
Найдено: 2 результата
-
Как реализовать популярность Чтобы поддерживать возможность делать контент популярным в вашем приложении, вы сперва должны реализовать интерфейс в вашей модели элемента контента: 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, необязательный) - Если предоставлено, будут проверять разрешения данного пользователя. По умолчанию, будет использован текущий авторизованный пользователь.
-
- feature
- популярный
-
(и ещё 1 )
C тегом:
-
В данном руководстве мы пошагово создадим страницу с планами компании/сообщества. Страница выглядит следующим образом: Страница разработана на приложении Страницы, а каждый пункт (на примере - Поинты, Инвайты, Дизайн, Реакции) это статьи базы данных. PS: если вам не хочется самостоятельно делать подобную страницу, вы можете перейти к концу инструкции и скачать .xml файл, который можно импортировать как базу данных. Описание работы Страница представляет из себя небольшие записи, информирующие пользователей сообщества о дальнейших планах и нововведениях компании/сообщества. Пользователи сообщества могут реагировать на каждый пункт, таким образом выражать своё отношение на каждое нововведение, администратор, в свою очередь, судя по реакциям пользователей может менять статус нововведений, отдавая предпочтение более востребовательным. В ходе работы будут даны более подробные комментарии. Создание базы данных Первое, что необходимо сделать - создать новую базу данных. Этот процесс подробно описан в документе Создание базы данных в Invision Community. У наше базы будут следующие отличительные черты: Название базы данных: Планы на будущее. Использовать категории: Нет, хранить записи непосредственно в базе данных. Ключ базы данных: plans. Язык: пункт. Разрешить комментарии: нет. Разрешить отзывы: нет. Включить загрузку изображения к записи: нет. После чего сохраняем базу. Создание страницы Теперь нам необходимо добавить нашу базу на новую страницу. Подробная инструкция по созданию страниц в Invision Community. Параметры страницы: Название - Планы на будущее. Название файла страницы - future. Теперь необходимо подключить CSS код к нашей странице. Для этого переходим в меню шаблоны -> Новый -> Добавить новый CSS файл. Назовём его status.css и вставим следующий css код: После чего, необходимо зайти в настройки страницы future и во вкладке Включения в страницу выбрать только что созданный нами css файл. Шаблоны базы данных Для нашей базы необходимо модифицировать шаблон отображения списка записей. Другие шаблоны базы оставим стандартными, т.к. будет задействована одна страница - отображающая список пунктов. Для этого переходим в меню Шаблоны -> кнопка Новый -> Добавить шаблон базы данных: Название: Featureplan Тип шаблона: Список записей Присвоить к базе данных: Планы на будущее После сохранения изменим три шаблона (замените их содержимое полностью): recordRow categoryHeader categoryTable ОБРАТИТЕ ВНИМАНИЕ, что в шаблоне recordRow необходимо подставить ID своего поля (которое мы создадим ниже), в конструкции: {{if $row->fieldValues()['field_5'] == '4'}} Где field_5 - ID поля статус. У вас он будет свой. Настройка дополнительных полей Последнее, что нам осталось сделать - настроить дополнительные поля, отображающие статус и подробное описание нововведения. Для этого переходим в раздел админцентра Базы данных и в меню справа от нашей базы выбираем пункт Управление полями. Нам необходимо добавить два поля: Поле #1 - статус Название: Статус Тип: окно выбора Ключ/Значение: 1/Следующее, 2/Скоро, 3/Планируется, 4/Завершено Вкладка Параметры отображения: Ключ шаблона: status2 Формат списка записей: указать {{if intval( $formValue ) === 1}} <span class='c4StatusBadge c4StatusBadge_upNext'>{$value}</span> {{elseif intval( $formValue ) === 2}} <span class='c4StatusBadge c4StatusBadge_comingSoon'>{$value}</span> {{elseif intval( $formValue ) === 3}} <span class='c4StatusBadge c4StatusBadge_future'>{$value}</span> {{elseif intval( $formValue ) === 4}} <span class='c4StatusBadge c4StatusBadge_done'>{$value}</span> {{endif}} Показать при отображении записи: нет Сохранить. Поле #2 - резюме Информация из этого поля располагается под название пункта. Название: Резюме Тип: Текст Вкладка Параметры отображения: Ключ: summary Показать в списке записей: Без форматирования Показать при отображении записи: нет На этом создание базы закончили. Если не хотите самостоятельно проходить каждый шаг настройки, можете импортировать базу данных из xml файла - Планы_на_будущее.xml © ИнвижнБайт.ру