bennothommo / oc-meta-plugin
提供了一种简单的方法,可以将 HTML meta 和 link 标签插入到 October CMS 布局或页面中。
Requires
- php: >=7.0.8
- composer/installers: ~1.0
This package is auto-updated.
Last update: 2021-07-29 15:22:53 UTC
README
请注意,此存储库已不再维护。
由于与 October CMS 创始人的 分歧,我将不再提供此插件的 October CMS 版本的更新。我会保留此存储库供人们使用,但只会更新此插件的 Winter CMS 版本。
元插件
提供一个简单接口,允许 October CMS 插件插入 HTML <meta>
和 <link>
标签,以及 JSON-LD 块到布局或页面中。该插件提供了三个辅助类来填充元和链接标签或 JSON-LD 块,并为每个注入到 October CMS 布局、部分或页面文件的组件。
使用方法
针对主题开发者
提供了三个组件以将元和链接标签或 JSON-LD 块注入到您的主题中 - metaList、linkList 和 jsonLdList。
元标签
将 Meta -> Meta List 组件添加到您的页面中,并在您想插入元标签的位置添加以下行。这最好放在 <head>
标签内。
{% component 'metaList' %}
元标签将按照以下结构生成
<meta name="(name)" content="(value)">
组件还提供了两个选项
- 包含页面元信息?:如果勾选(默认),October CMS 提供的元标题和描述字段也将包含在生成的元标签中。
- 转义标签值?:如果勾选(默认),插入到
content
属性中的值将使用htmlentities
转义。如果这破坏了您的内容,您可以取消勾选以插入原始内容。
链接标签
将 Meta -> Link List 组件添加到您的页面中,并在您想插入链接标签的位置添加以下行。如上所述,这最好也放在 <head>
标签内。
{% component 'linkList' %}
链接标签将按照以下结构生成
<link rel="(name)" href="(value)">
组件还提供了一个选项
- 转义标签值?:如果勾选(默认),插入到
href
属性中的值将使用htmlentities
转义。如果这破坏了您的内容,您可以取消勾选以插入原始内容。
JSON-LD 块
将《元数据 -> JSON-LD 列表》组件添加到您的页面中,并在您希望插入 JSON-LD 块的位置添加以下行。如上所述,最好将其放在 <head>
标签内,在所有 <meta>
和 <link>
标签下方。
{% component 'jsonLdList' %}
JSON-LD 块将生成以下结构
<script type="application/ld+json">
(value)
</script>
组件还提供了一个选项
- 转义 JSON-LD 内容?:如果勾选(默认),则将插入 JSON-LD 内容块的值使用
htmlentities
进行转义。如果这破坏了您的内容——尤其是在 HTML 内容的情况下,您可以取消勾选以插入原始内容。
针对插件开发者
如果您希望在使用此插件的网站上提供元数据和链接标签或 JSON-LD 块内容,您可以在插件中使用 \BennoThommo\Meta\Meta
、\BennoThommo\Meta\Link
和 \BennoThommo\Meta\JsonLd
辅助类。
这些类可以在上述组件在 October CMS 中渲染之前使用。
元标签
要添加元标签,使用以下行
\BennoThommo\Meta\Meta::set('name', 'value')
其中 name
是元标签的名称,value
是元标签的内容。
您也可以一次添加多个元标签
\BennoThommo\Meta\Meta::set([
'name1' => 'value1',
'name2' => 'value2'
]);
请注意,每个 name
只能使用一个值。如果在较晚的辅助调用中使用相同的名称,所提供的值将覆盖任何以前的值。
链接标签
要添加链接标签,使用以下行
\BennoThommo\Meta\Link::set('name', 'value')
其中 name
是链接标签的名称,value
是链接标签的 href。
您也可以一次添加多个链接标签
\BennoThommo\Meta\Link::set([
'name1' => 'value1',
'name2' => 'value2'
]);
请注意,每个 name
只能使用一个值。如果在较晚的辅助调用中使用相同的名称,所提供的值将覆盖任何以前的值。
JSON-LD 块
要添加 JSON-LD 块,使用以下行
\BennoThommo\Meta\JsonLd::set('name', '{key: value}')
其中 name
是 JSON-LD 块的名称,value
是您希望在块中使用的 JSON 编码内容。
所有提供的值都将进行检查以确保它们是有效的 JSON —— 如果提供的值不是有效的 JSON 内容,将抛出 ApplicationException
。
您也可以一次添加多个 JSON-LD 块
\BennoThommo\Meta\JsonLd::set([
'name1' => '{key1: value1}',
'name2' => '{key2: value2}'
]);