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 и наслаждаемся результатом