2011-09-23 41 views
2

我想擴展聯繫人詳細信息視圖,以便關聯帳戶的詳細信息視圖出現在同一視圖中。如何創建一個結合了2詳細視圖的SugarCRM視圖

我的直覺是重寫聯繫人詳細信息視圖的顯示功能,並從那裏創建帳戶詳細信息的實例並附加它的顯示輸出。

但我不知道是否有一個標準的方式拉這個。

回答

6

我瞭解到,在即將推出的版本(6.3)中,將會有一種生成可訪問相關模塊字段的計算字段的方法。

如果是這種情況,那麼一個選項是創建引用帳戶字段的計算字段,然後使用引用的帳戶字段向聯繫人詳細視圖添加面板。

雖然,我原來的預感被證明是可行的,以及不作爲哈克我曾以爲起初:

<?php 
    require_once('include/MVC/View/views/view.detail.php'); 

    class ContactsViewDetail extends ViewDetail { 

    function ContactsViewDetail() { 
     parent::ViewDetail(); 
    } 

    function preDisplay(){ 
     parent::preDisplay(); 
     // Configuration to display All account info 
     $this->dv2 = new DetailView2(); 
     $this->dv2->ss =& $this->dv->ss; 
     $this->bean2 = new Account(); 
     $this->bean2->retrieve($this->bean->account_id); 
     $accountMetadataFile = 'custom/modules/Accounts/metadata/detailviewdefs.php'; 
     $accountTemplate = 'custom/modules/Accounts/tpls/AccountsDetailView.tpl'; 
     $this->dv2->setup('Accounts', $this->bean2, $accountMetadataFile, $accountTemplate); 
    } 

    function display(){ 
     parent::display(); 

     // Display Accounts information. 
     $this->dv2->process(); 
     echo $this->dv2->display(); 
    } 
    } 
?> 

總之

  1. 覆蓋詳細信息視圖。
  2. 向當前視圖添加新顯示。
  3. 向視圖添加一個新的bean(模塊)。
  4. 使用新的bean處理顯示。
  5. 回顯示。
2

另一個更簡單的選項可能只是添加一個iframe字段,該字段在其內部的帳戶上加載detailview。不如漂亮,但少了很多黑客。