FrontEnd контроллеры в OctoberCMS

В OctoberCMS нет концепции frontEnd контроллеров. Иными словами, идеология этой CMS не подразумевает возможность просто создать некий ProductController с несколькими action для обслуживания маршрутов Route::method('product/{id}', 'ProductController@show'). Вместо этого предлагается использовать компоненты плагинов. Именно компоненты являются формой frontEnd контроллеров.

Алгоритм получается следующий:

  • Создаем плагин
  • Разрабатыаем функциональность как компонент плагина
  • Создаем страницу CMS, прописываем нужный URL
  • Прицепляем к странице компонент
  • На нужном URL получаем функциональность

Альтернативой идеологии OctoberCMS является традиционные routes из laravel. Samuel Georges, один из создателей OctoberCMS, опубликовал пример плагина, который показыает как это работает. Вкратце:

  • Создаем плагин
  • В корень кладем файл routes.php, где регистрируем маршруты.
    Route::get('/welcome', 'authorName\pluginName\WelcomeController@index');

    Если что-то не работает через routes.php, то в первую очередь следует добавить 'middleware' => 'web'

  • В корне создаем контроллер WelcomeController.php
namespace authorName\pluginName;
use Illuminate\Routing\Controller;

class WelcomeController extends Controller
{
    /**
     * Show 'Hello World' message.
     *
     * @return Response
     */
    public function index()
    {
        return 'Hello World';
    }
}
  • Прикручиваем Response::view и наслаждаемся результатом

Routing initialization on octobercms.com

Похожие записи

Как в OctoberCMS сделать простейшую переадресацию с одной страницы на другую?

Создаём страницу (Page), задаем URL и в секции код добавляем обработчик на хук жизненного цикла страницы. В данном случае это onStart, которая выполняется перед началом загрузки страницы.

function onStart()
{
    return Redirect::to('http://tyapk.ru');
}

OctoberCMS. Ошибка RelationController: "Не удалось найти шаблон (partial) ... traits\ViewMaker.php"

В контроллере поведения RelationController при нажатии на кнопке "Cоздание" вылетает ошибка с подобным содержаним

"Не удалось найти шаблон (partial) с именем _comments.htm." on line 91
of ...\modules\system\traits\ViewMaker.php

OctoberCMS и HTTPS

Настройка конфигурационного файла cms.php для создания https ссылок.