marionnewlevant/mega-merge

合并这个、那个和其他... 使用twig解析

安装: 113

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 0

类型:craft-plugin

2.0.0 2023-02-12 01:01 UTC

This package is auto-updated.

Last update: 2024-09-12 04:45:29 UTC


README

MegaMerge: 合并 MegaMerge提供了一个字段类型,这是一个预定义了KeyValue列的Craft表。它允许您使用PHP数组和twig数组合并这些字段,然后查找合并数组中键的值。结果值会被解析为twig。

这是一个通用工具,尽管它的一种潜在用途(也就是我编写它的目的)是作为一个DIY SEO系统。

需求

此插件需要Craft CMS 4.0.0或更高版本。

安装

  1. 从您的项目目录使用Composer安装:composer require marionnewlevant/mega-merge
  2. 在Craft控制面板的设置 > 插件下安装插件

或者

  1. 通过插件商店安装

MegaMerge概述

MegaMerge提供了一种字段类型(键/值表)和三个函数

craft.megaMerge.init() 接收一个键/值对的数组(该数组中的元素可以是megaMerge字段、PHP数组或twig数组),以及一个上下文对象。它将键/值对添加到全局键/值对集合中,将上下文对象添加到全局上下文对象中。

craft.megaMerge.reset() 将全局键/值对和全局上下文设置为空。

craft.megaMerge.value(key) 在键/值对中查找与键关联的值,使用全局上下文将其解析为twig,并返回解析后的值。如果没有匹配的值,则返回null

使用MegaMerge

键/值对g_configuration全局集中名为globalSettings的megaMerge字段

megaMergeField

在config/custom.php中定义的设置

'megaMerge' => [
    'title' => 'MySite page',
],

调用init globalSettings的值将覆盖config.general.megaMerge中的值

{% do craft.megaMerge.init([
    craft.app.config.custom.megaMerge,
    g_configuration.globalSettings
  ], {object: entry}) %}

调用value

<title>{{ craft.megaMerge.value('title') }}</title>

Marion Newlevant提供。图标由Dmitry Baranovskiy from the Noun Project设计