Заголовки страниц (title) в October CMS

Раньше я делал заголовки как?
В partial ‘_head’, там где у меня всякие meta, подключаются стили и т.д., я писал как-то так:

<title>{{ this.page.title }} — ООО «Котлетки Пирожки»</title>

Но это же неправильно!
Главные страницы сайта выглядят с убогим title: Главная — ООО «Котлетки Пирожки». Из админки не поправить, только в шаблоне руками. Жопа 🙁

Надо делать красиво!

Читать далее…

Полнотекстовый поиск по MySQL в October CMS

Понадобилось мне искать строку сразу в нескольких полях. Думал-думал и решил использовать полнотекстовый поиск MySQL. Довольно простая, но хитрая штука.

При создании таблицы в бд, надо добавить строку FULLTEXT (title,body) (где title,body — поля для поиска):

CREATE TABLE articles (
      id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
      title VARCHAR(200),
      body TEXT,
      FULLTEXT (title,body)
    ) ENGINE=InnoDB;

Если же таблица уже создана, то выполняем запрос в MySQL:

CREATE FULLTEXT INDEX title_body ON articles(title,body)
Читать далее…

October CMS ошибка 404

Как вернуть ошибку 404?

Вот так:

return $this->controller->run('404');

Тестовый плагин с примерами для October CMS

Для Октября есть классный тестовый плагин — https://github.com/octoberrain/test-plugin.

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

Качаем, закидываем в /plugins/october/test, кликаем на «Playground» и играемся 🙂

AJAX-пагинация (кнопка загрузить ещё) в October CMS

Написал я компонент, и оказалось так, что вывожу сотню-другую элементов в рамках этого компонента. Естественно, что для этого добра нужна пагинация.

Не захотел делать пагинацию в виде циферок, по клику на которые меняются страницы с элементами. Решил, что сделаю кнопку «Загрузить ещё» при помощи AJAX.

Читать далее…