infrajs/rubrics

此包的最新版本(v1.0.48)没有可用的许可证信息。

所有标签 - 博客、页面、事件

v1.0.48 2022-04-08 07:22 UTC

README

未准备就绪

rubrics

infrajs/controller 扩展

通过 composer 安装

需要单独连接扩展 dimsemenov/magnific-popup,或者通过 infrajs/collect 手动连接

连接

{
	"external":"-rubrics/rubrics.layer.json"
}

在当前地址空间中,将处理所有名称,并根据 config.rubrics.main~pages 文件夹中存在同名文件(docxhtmltpl)时显示文章。默认情况下,该扩展包括处理 pagesblogeventsfiles 部分。具有参数的章节列在配置 -rubrics/.infra.json 中。

主页新闻源

主页新闻源的数据来自处理参数的 index.php 文件

  • type - 配置中的章节名称
  • list - 需要列表
  • chunk - array_chunk 的数量
  • show - 需要完整文本
  • lim - 列表中记录数量的限制 start,lenght
{
	"json":"-rubrics/?type=events&list&lim=0,10"
}

基于文本文件解析的数据格式

{
    "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"
}