我想在制作新页面时有2个默认块而不是1个。
原因是,我的主模板分为两部分,我想从2个部分开始。
我想要做的是编辑页面模块,这样无论何时用户创建新页面,它们总是以我已命名和定义的2个块开始。
为了达到这个目的,我需要修改什么?
注意:我已经修改了页面模块和数据库以添加一些自定义字段。我认为这是相同的交易,但我找不到创建初始块的位置......
答案 0 :(得分:2)
如果查看pages模块的admin控制器中的第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的作用,但最好确保它是唯一的。
答案 1 :(得分: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”}}