创建新页面时,我希望有 2 个默认块而不是 1 个。
原因是,我的主模板分为 2 个部分,我想从 2 个块开始。
我想做的是编辑页面模块,这样每当用户创建一个新页面时,他们总是从我命名和定义的 2 个块开始。
为了实现这一目标,我需要修改什么?
注意:我已经修改了页面模块和数据库以添加一些自定义字段。我认为这是相同的交易,但我找不到初始块的创建位置......
创建新页面时,我希望有 2 个默认块而不是 1 个。
原因是,我的主模板分为 2 个部分,我想从 2 个块开始。
我想做的是编辑页面模块,这样每当用户创建一个新页面时,他们总是从我命名和定义的 2 个块开始。
为了实现这一目标,我需要修改什么?
注意:我已经修改了页面模块和数据库以添加一些自定义字段。我认为这是相同的交易,但我找不到初始块的创建位置......
如果您查看 pages 模块的管理控制器中的第 340 行,就会在$pages->chunks
属性中创建一个数组。我通过添加另一个数组/对象将其修改如下,这将创建具有两个块的页面,称为“default”和“default2”。
$page->chunks = array((object) array(
'id' => 'NEW',
'slug' => 'default',
'body' => '',
'type' => 'wysiwyg-advanced',
),
(object) array(
'id' => 'NEW2',
'slug' => 'default2',
'body' => '',
'type' => 'wysiwyg-advanced',
),
);
老实说,我不确定 id 的作用,但最好确保它是唯一的。
感谢@nick-pyett。这是对我有用的代码。
这是最终代码:
$page->chunks = array(array(
'id' => 'NEW',
'slug' => 'default',
'class' => '',
'body' => '',
'type' => 'wysiwyg-advanced',
),
array(
'id' => 'NEW2',
'slug' => 'default2',
'class' => '',
'body' => '',
'type' => 'wysiwyg-advanced',
),
);
我查看了 id 的结束位置。它似乎被附加到每个元素的名称上。像这样:
chunk_slug[NEW2]
实际的 slug 进入块的第一个输入,这将是您在页面中用来调用它的 slug。
{{ pages:chunk id="{{ page:id }}" name="default2" }}