thepixelage / craft-fragments
片段是Craft CMS的一个插件,用于管理和展示内容片段
Requires
- php: ^8.2
- ext-json: *
- craftcms/cms: ^5.0.0-beta.1
- dev-develop-v4
- 5.0.0
- 5.0.0-beta.1
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 4.0.0-beta.6
- 4.0.0-beta.5
- 4.0.0-beta.4
- 4.0.0-beta.3
- 4.0.0-beta.2
- 4.0.0-beta.1
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 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
- dev-develop-v5
- dev-develop-v3
- dev-20-eagerload-fragments-without-rules-throws-typeerror
- dev-feature/implement-visibility-rules-with-condition-builder
- dev-feature/graphql-support
- dev-master
- dev-feature/fix-fragment-structure-position-reset-issue
- dev-feature/support-custom-db-table-prefix
- dev-CRFR-1
This package is auto-updated.
Last update: 2024-09-22 05:47:30 UTC
README
Craft CMS片段插件
片段 是一个Craft CMS插件,用于管理和展示内容片段。它允许您将条目类型与内容块、小部件或组件解耦,这些组件是临时的或表现性的,类似于Drupal中的块和区域或Joomla中的模块和位置。
片段
使用 片段,提供了一系列实体来帮助您管理内容和表现性片段
-
片段类型
与条目类型一样,您可以为您的片段设置内容模型和字段布局。 -
区域
模板区域,或简称区域,是您模板中创建和显示片段的区域。区域可以限制为只允许特定类型的片段。 -
片段(元素)
这些是要显示的实际内容块。每个片段可以根据可见性规则进一步定制,以包含或排除在区域中。 -
片段(自定义字段)
包含的片段字段允许您的编辑器与某些或所有区域中的片段相关联。这为创建可重用的片段提供了可能性,这些片段可以包含在条目和内容块构建器中。
为什么选择片段?
有许多情况需要将内容片段显示在多个页面上,但它们是临时的内容部分或数据,可能不是条目类型的一部分。
例如,您的服务页面可能需要一个针对该服务的行动按钮或引导表单。虽然您可以在服务条目类型中创建自定义字段,以便内容编辑器指示要显示的行动按钮,但这条信息与条目类型耦合在一起。如果这些按钮和引导表单还需要在其他页面上显示,则每个其他条目类型也需要添加此字段。
没有 片段,您可能需要使用Craft CMS中的功能来构建解决方案,但这带来了一些挑战
-
部分和条目类型
条目类型适用于将领域模型映射到内容模型,但对于与这些领域模型没有直接关系的部分内容,可能难以将它们表示为内容模型的一部分,或者创建整个部分来表示它们可能是一种过度行为。 -
全局设置
全局设置通常用于不属于条目或需要跨不同页面显示的内容。然而,在多站点设置中,由于所有全局集合都在控制面板中对所有站点可见,因此使用全局设置来管理不同站点上的不同内容变得困难。这可能会使内容编辑器感到困惑。 -
内容块/内容构建器(矩阵/Neo)
内容块构建器字段可能会因为过多的块类型而变得杂乱。 片段 可以用作具有自己的类型和区域的子系统(将其视为组或集合),这使得您的内容块构建器字段更可扩展。
使用 片段,您的编辑器可以创建可以包含在模板区域外的行动按钮片段。
文档
了解更多信息并阅读文档,请访问:https://www.thepixelage.com/plugins/fragments。
许可证
此插件需要通过 Craft 插件商店 购买的商业许可证。
要求
此插件需要 Craft CMS 3.6.0 或更高版本。
安装
您可以从插件商店或使用 Composer 安装此插件。
从插件商店
前往项目的控制面板中的插件商店,搜索“Fragments”,然后在模态窗口中点击“安装”按钮。
使用 Composer
打开您的终端,在项目目录中运行以下命令
# tell Composer to load the plugin
composer require thepixelage/craft-fragments
# tell Craft to install the plugin
./craft install/plugin fragments
设置
在开始创建片段之前,您需要设置片段类型和模板区域。只有创建至少一个片段类型和一个模板区域后,片段部分才会显示。
片段类型
片段类型类似于如何设置条目类型。可以指定自定义字段,为片段提供结构化的内容模型。
要创建一个新的片段类型,请转到 设置 → 片段 → 片段类型。
区域
模板区域(或我们通常称之为区域)允许您指定可以在模板中创建和显示片段的区域。区域还可以限制在其中创建的片段类型。这有助于在区域中更容易地组织和管理工作片段。
要创建一个新的模板区域,请转到 设置 → 片段 → 区域。
查询片段
要查询区域中要显示在模板中的片段列表
{% set fragments = craft.fragments.zone('myZoneHandle').all() %}
查询片段列表后,您可以像访问条目字段一样访问字段。
{% for fragment in fragments %}
<h1>{{ fragment.textField }}</h1>
<img src="{{ fragment.imageField.one().url() }}" />
{% endfor %}
要仅针对特定片段类型的片段,修改前面的查询如下
{% set fragments = craft.fragments.zone('myZoneHandle').type('myFragmentTypeHandle').all() %}
GraphQL 支持
从 1.1.0 版本开始支持 GraphQL。以下是一个示例查询
{ fragments(zone: "myZone", type: "myType", currentUrl: "/my-page") { __typename uid title ... on myFragmentType_Fragment { textField } ... on anotherFragmentType_Fragment { imageField } } }
参数 zone
和 type
与上面的 Twig 示例中的方式相同。
使用 currentUrl
传递一个 URL,用于匹配您已设置的任何片段可见性规则。
由 ThePixelAge 创建