将文档创建为另一个文档子时,它是使用默认控制器,操作和模板设置创建的。可继承(?)控制器,操作和模板
我想设置它,以便控制器,动作和模板文件将从父子结构中的相邻文档中获取值。
这个问题是否有开箱即用的解决方案,或者有人以某种其他方式做到了这一点?
将文档创建为另一个文档子时,它是使用默认控制器,操作和模板设置创建的。可继承(?)控制器,操作和模板
我想设置它,以便控制器,动作和模板文件将从父子结构中的相邻文档中获取值。
这个问题是否有开箱即用的解决方案,或者有人以某种其他方式做到了这一点?
“开箱即用”只能用控制器,操作,模板值创建命名(预定义)文档类型。这些类型在文档树中的“添加文档”上下文菜单中可用。
但我看到两种可能的解决方案:
您可以自定义Document_Page
类和过载create()
方法。
然后,你必须声明你的自定义类classmap.xml
:
<Document_Page>Website_Document_Page</Document_Page>
创建plugin并定义postAddDocument(Document $document)
hook:
public static function postAddDocument(Document $document)
{
$parent = $document->getParent();
$document->setModule($parent->getModule());
$document->setController($parent->getController());
$document->setAction($parent->getAction());
$document->setTemplate($parent->getTemplate());
$document->save();
return $document;
}
谢谢你的答案!我希望有些人可能会觉得它很有用,因为我已经和Pimcore一起工作,希望我再也不用这样做了:)我认为第二种解决方案是最合乎逻辑的方法 –
所以,你想用同一母公司的所有文件分享一些价值?你如何做你的应用程序的路由部分?层次结构是否反映在URL中?你想分享什么样的“价值观”? –
是的,路由目前完全基于层次结构。什么价值观?正如我所提到的 - 控制器,动作和模板下拉菜单值 –