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');
  • В корне создаем контроллер 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

Во время разработки модели данных OctoberCMS при необходимости, можно использовать собственные сообщения об ошибках валидации полей формы вместо сообщения The :attribute field is required. по-умолчанию. В статье показывается как, достаточно просто, это делается.