2012-12-12 16 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一起工作,希望我再也不用這樣做了:)我認爲第二種解決方案是最合乎邏輯的方法 –