Поиск сообщества
Показаны результаты для тегов 'контроллер'.
Найдено: 2 результата
-
Расширение класса \IPS\Content\Controller приводит к унаследованию множества возможностей. Как и все типы контроллеров, ваш контроллер элемента контента находится в директории <app>/modules/<location>, например yourapp/modules/front/somemodule/somecontroller.php. Если вы еще не читали о стандартных контроллерах в Invision Community, мы рекомендуем сперва ознакомиться с основными принципами Контроллеров перед продолжением изучения данного материала. Контроллеры элементов контента - это просто более специализированная версия стандартного контроллера диспетчера, и поэтому большая часть функций остается прежней, однако становятся доступны методы, специфичные для элементов контента. Основной скелет По своей сути контроллер элемента контента прост: namespace IPS\yourapp\modules\front\yourmodule; class _yourcontroller extends \IPS\Content\Controller { } Главное, что нужно отметить, чтобы ваш контроллер расширял \IPS\Content\Controller, вместо напрямую \IPS\Dispatcher\Controller. Просто выполнив это, ваш контроллер уже имеет возможность удалять контент - если вы добавите &do=delete&id=X (где X - ID элемента) в URL-адресу элемента, в данном случае контроллер сперва автоматически проверит, имеет ли пользователь разрешение на удаление элемента (что, по умолчанию, доступно только для пользователей, являющихся модератором с разрешением на удаление любого контента). По мере прохождения других шагов этого руководства вы будете внедрять в свой контроллер другие интерфейсы, которые добавят новые функции (как автоматические, так и новые методы, которые вы можете вызвать).
-
При создании админ контроллеров, предназначенных для работы с определённой моделью ноды (например, страница управления форумами в приложении Форумы), Invision Community предоставляет специальный контроллер ноды, который вы можете расширить для получения множества автоматических функций, вместо построения их самостоятельно вручную. Этот контроллер обеспечивает интерфейс для просмотра и управления нодами (добавление, редактирование, переупорядочение и т.д.). Контроллер \IPS\Node\Controller дополнительно расширяет \IPS\Dispatcher\Controller, поэтому все стандартные методы контроллера по-прежнему доступны вам. Использование \IPS\Node\Controller Единственное требование для использования контроллер это добавление свойства $nodeClass, ссылающегося на вашу модель, которая определена вашим классом: namespace \IPS\yourApp\modules\front\yourModule; class _yourController extends \IPS\Node\Controller { protected $nodeClass = 'IPS\yourApp\YourModelClass'; // ... Методы и свойства вашего контроллера } Никакие другие методы не требуются в этом контроллере (хотя вы можете добавить другие обработчики запроса, если это необходимо); основная часть контроллера автоматическая.