Метки и рубрики в Albireo CMS
В отличие от других систем в Albireo CMS нет жесткого алгоритма для группировки страниц. Рубрики и метки — это просто уже устоявшийся в Интернете способ группировки записей, поэтому в Albireo CMS он присутствует «из коробки». Но с точно таким же успехом вы можете создать любую другую группировку записей.
Метки
Для указания метки записи используется поле tags
. Метки можно указывать через запятую:
tags: Астрономия, Созвездия
Когда вы набираете в браузере ваш-сайт/tags, то выводится т.н. облако тэгов/меток, то есть все метки, которые система нашла в страницах сайта.
Если же набрать страницу метки, например ваш-сайт/tags/Астрономия, то будет стандартный вывод записей этой метки.
По умолчанию для меток используется поле и адрес с tags
.
Страница вывода меток — это файл specific/tags.php
. Вам не нужно его редактировать, поскольку он обеспечивает типовой функционал.
Albireo CMS поддерживает любые разрешенные символы URL для меток. Поэтому у метки можно использовать вложенность через /
или даже эмодзи:
tags: Астрономия/Созвездия tags: ❤️ tags: ❤️😼 tags: ❤️/😼
Рубрики
Рубрики задаются с помощью поля category
:
category: astro, dinosauria
По адресу ваш-сайт/category будут выводиться все рубрики, а по адресу ваш-сайт/category/astro записи указанной метки.
За вывод рубрик отвечает файл specific/category.php
.
В отличие от меток, рубрики можно придумать заранее. Для этого служит файл конфигурации website/config/category.php
. Его нужно скопировать из system/config/category.php
.
Каждая рубрика описывается в таком виде:
// короткая ссылка рубрики относительно site/category/ 'slug' => [ 'title' => 'HEAD title', // обязательный 'caption' => 'заголовок для вывода на сайте', 'description' => 'HEAD description', 'text-start' => 'Текст в начале рубрики', 'text-end' => 'Текст в конце рубрики', 'order' => 10, // порядок среди других рубрик 'order-pages' => 'date-asc', // сортировка записей рубрики date-asc или date-desc (по умолчанию) 'limit' => 10, // кол-во записей на одной странице 'path' => 'cat', // иерархия materialize для задания уровня вложенности (левого отступа) 'my-url' => 'astronomy', // свой адрес рубрики, где выводятся все её записи ], В text-start и text-end можно использовать /// это "\n" перенос строки
Если рубрики нет в website/config/category.php
, то она будет выводиться по принципу метки — её адрес и будет названием (например astro
- Astro
). Но чтобы указать другие параметры вывода рубрики, нужно её указать в конфигурации.
Ключ my-url
используется в тех случаях, если нужно переопределить адрес рубрики со стандартной category/astronomy
(как пример) на свой адрес, например astronomy
. То есть система будет использовать указанный адрес рубрики. При этом обработку этого адреса следует уже сделать самостоятельно (см. примеры в demo
).
В качестве короткой ссылки рубрики slug
можно использовать любую вложенность с помощью символа /
, например:
category: astromomy/deepspace/galaxies
В этом случае рубрика будет доступна по ссылке https://вашсайт/category/astromomy/deepspace/galaxies
. Если требуется, чтобы запись была доступна сразу во всех сегментах рубрики, то следует их задать явно:
category: astromomy/deepspace/galaxies, astromomy/deepspace, astromomy
Так же как и в метках, в рубриках можно использовать эмодзи, например:
category: astronomy, 🔭
Рубрики и метки на основе текущего каталога
При желании можно организовать метки и рубрики, основываясь на каталоге расположения файла. Например файлы рубрики «астрономия» будут располагаться в каталоге website/pages/astronomy
, таким образом метка или рубрика должны автоматически стать astronomy
- это каталог расположения файла страницы.
У этой страницы следует указать:
# рубрика на основе имени текущего каталога category: [subdirs-basename] # метка на основе имени текущего каталога tags: [subdirs-basename]
Обратите внимание, что файл должен располагаться в подкаталоге pages
, иначе [subdirs-basename]
вернет точку (.
).
Если вы хотите использовать полный путь к каталогу расположения, то используется [subdirs]
.
# рубрика на основе полного имени текущего каталога category: [subdirs] # метка на основе полного имени текущего каталога tags: [subdirs]
Например если страница будет располагаться в website/pages/astronomy/deepspace/galaxies
, то это сформирует рубрику/метку astronomy/deepspace/galaxies
.
Если для этого файла использовать поле subdirs-basename
, то рубрика/метка будет равна имени последнего (правого) каталога galaxies
.