2012-12-12 18 views
0

将文档创建为另一个文档子时,它是使用默认控制器,操作和模板设置创建的。可继承(?)控制器,操作和模板

我想设置它,以便控制器,动作和模板文件将从父子结构中的相邻文档中获取值。

这个问题是否有开箱即用的解决方案,或者有人以某种其他方式做到了这一点?

+0

所以,你想用同一母公司的所有文件分享一些价值?你如何做你的应用程序的路由部分?层次结构是否反映在URL中?你想分享什么样的“价值观”? –

+0

是的,路由目前完全基于层次结构。什么价值观?正如我所提到的 - 控制器,动作和模板下拉菜单值 –

回答

2

“开箱即用”只能用控制器,操作,模板值创建命名(预定义)文档类型。这些类型在文档树中的“添加文档”上下文菜单中可用。

但我看到两种可能的解决方案:

  1. 您可以自定义Document_Page类和过载create()方法。

    然后,你必须声明你的自定义类classmap.xml

    <Document_Page>Website_Document_Page</Document_Page> 
    
  2. 创建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; 
    } 
    
+0

谢谢你的答案!我希望有些人可能会觉得它很有用,因为我已经和Pimcore一起工作,希望我再也不用这样做了:)我认为第二种解决方案是最合乎逻辑的方法 –