1

创建新页面时,我希望有 2 个默认块而不是 1 个。

原因是,我的主模板分为 2 个部分,我想从 2 个块开始。

我想做的是编辑页面模块,这样每当用户创建一个新页面时,他们总是从我命名和定义的 2 个块开始。

为了实现这一目标,我需要修改什么?

注意:我已经修改了页面模块和数据库以添加一些自定义字段。我认为这是相同的交易,但我找不到初始块的创建位置......

4

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 的作用,但最好确保它是唯一的。

于 2012-11-08T18:46:50.413 回答
1

感谢@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" }}

于 2012-11-08T20:11:51.107 回答