Два шаблона компонента October CMS.

У меня маленькое событие. Вчера ко мне в блог загляну первый человек из Яндекса с поисковым запросом про October CMS. Поисковая фраза была "два шаблона компонента". Сделать это сравнительно просто.

Когда вы размещаете компонент с представлением на странице, в редакторе кода появляется такая запись.

{% component "nameOfComponent" %}

На самом деле это синтаксический сахар. В действительности там содержится:

{% partial "nameOfComponent::default" %}

То есть идет обычный вызов фрагмента с представлением default.htm, который и является шаблоном компонента. Фрагмент (шаблон) по умолчанию у компонентов лежит по адресу:

/plugins/[pluginAuthor]/[pluginName]/components/[nameOfComponent]/default.htm

Поэтому, если вам необходимо использовать второй шаблон, то надо его создать, там же где лежит оригинальный default.htm компонента. Допустим он будет называться secondView.htm и на страницу кинуть следующую вещь:

{% partial "nameOfComponent::secondView" %}

Да, там не написано component, но это то, что нужно. Я надеюсь, человек который искал информцию смог решить свою проблему без меня, а если нет - то вот оно решение))

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

Руководство по Markdown

Markdown - облегчённый язык разметки, созданный с целью написания максимально читаемого и удобного для правки текста, но пригодного для преобразования HTML и другие языки публикаций.

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

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

Кратко о внедрение зависимостей и сервис контейнере

Cтатья о том, что такое "Внедрение зависимостей" и "Сервис-контейнер" отталкиваясь от их реализации в PHP фреймворках. Статья написана по мотивам статей Фабьена Потенсье, ведущиго разработчика и идеолога фреймворка Symfony, а также документации фреймворка Laravel.