Jump to content

Контроллер элемента контента

Расширение класса \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-адресу элемента, в данном случае контроллер сперва автоматически проверит, имеет ли пользователь разрешение на удаление элемента (что, по умолчанию, доступно только для пользователей, являющихся модератором с разрешением на удаление любого контента). 

По мере прохождения других шагов этого руководства вы будете внедрять в свой контроллер другие интерфейсы, которые добавят новые функции (как автоматические, так и новые методы, которые вы можете вызвать).




Messenger

    ×
    ×
    • Create New...

    Important Information

    By using our site you agree to our Privacy Policy