infrajs / rubrics
Any rubrics - blog, pages, events
Installs: 1 488
Dependents: 11
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 1
Requires
- infrajs/ans: ~1
- infrajs/cache: ~1
- infrajs/config: ~1
- infrajs/doc: ~1
- infrajs/imager: ~1
- infrajs/load: ~1
- infrajs/nostore: ~1
- infrajs/path: ~1
- infrajs/router: ~1
- infrajs/template: ~1
- dev-master
- v1.0.48
- v1.0.47
- v1.0.46
- v1.0.45
- v1.0.44
- v1.0.43
- v1.0.42
- v1.0.41
- v1.0.40
- v1.0.39
- v1.0.38
- v1.0.37
- v1.0.36
- v1.0.35
- v1.0.34
- v1.0.33
- v1.0.32
- v1.0.31
- v1.0.30
- v1.0.29
- v1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2024-11-29 04:57:39 UTC
README
Неготово к использованию
rubrics
Расширение для infrajs/controller
Установка через composer
Нужно отдельно подключить расширение dimsemenov/magnific-popup либо вручную либо через infrajs/collect
Подключение
{ "external":"-rubrics/rubrics.layer.json" }
В текущем адресном пространстве будут обрабатываться все имена и согласно config.rubrics.main
при наличии в папке ~pages
одноимённого файла(docx
,html
,tpl
) покажется статья.
По умолчанию расширение включает в себя обработку разделов pages
, blog
, events
, files
.
Разделы с параметрами перечислены в конфиге -rubrics/.infra.json
.
Лента новостей на главной странице
Данные для ленты на главной беруться из файла index.php
которые обрабатывает параметры
type
- имя раздела из конфигаlist
- требуется списокchunk
- количествоarray_chunk
show
- требуется полный текстlim
- ограничение по количеству записей в списке start,lenght
{ "json":"-rubrics/?type=events&list&lim=0,10" }
Формат данных на основе разбора файла с текcтом
{
"list": [
{
"id": 30,
"name": "1-evro-60-rubley",
"fname": "151103 1-evro-60-rubley",
"file": "151103 1-evro-60-rubley.docx",
"date": "151103",
"ext": "docx",
"modified": 1446563947,
"heading": "1 евро = 60 рублей",
"title": "1-evro-60-rubley",
"images": [
{
"src": "cache/docx/51b77a7d46b00f7438b701d284a31059/word/media/image1.jpeg"
}
],
"preview": "<p>«Слоган «1 евро = 60 рублей» - это не просто рекламная уловка, – говорит директор по продажам компании Кемппи. - Конечно, мы не имеем права менять валюту, тем более по такому курсу. Однако, стоимость нашего оборудования, которое изготавливается в Финляндии и поставляется исключительно оттуда, формируется, исходя именно из такого соотношения рубля к евро. </p>",
"size": 0.06,
"links": [
{
"href": "/contacts",
"title": "Контакты"
}
]
}
Имя файла
Имя файла интерпретируется согласно правилам infrajs/load
yymmdd name@id.ext
API
use infrajs\rubrics\Rubrics; $res = Rubrics::search('events', id); //id - порядковый номер файла или номер указанный в имени файла после @ или имя файла без учёта даты и номера файла //Поддерживаются расширения 'docx', 'mht', 'tpl', 'html', 'txt', 'php' $html = Rubrics::article('~events/'.$res['file']); //Содержимое файла в html
Показывать только год в ленте
В конфиг .infra.json нужно добавить ключ onlyyear
"list":{ "events":{ "onlyyear":true, "title":"События", "type":"list" } }
SEO
Для формирования seo-мета тегов используется расширение infrajs/layer-seojson. SEO главной страницы ожидается в ~pages/index.json, SEO страниц совпадает с именем файла с содержаием, например ~pages/about.json. В других разделах аналогично. Файл ~pages/page.json используется для seo страницы по умолчанию и нужно его везде подключать. Например
{ "title":"Акция подари скидку другу. Протезирование зубов в Тольятти", "external":"~pages/page.json" }