2013-06-25 27 views
0

我需要構建一個像這樣的image顯示的管理界面。在過去,我使用組件來達到這個目的,但是現在因爲模塊生成低谷admin-generator我不知道如何完成這個任務。我檢查了所有這些文檔1,2, 3,但沒有任何線索如何做到這一點。我還創建modules/sdriving_empresa/actions文件夾下的components.class.php並在視圖中包括include_component('sdriving_empresa')的成分,但得到這個錯誤:在管理生成器模塊中使用組件,有可能嗎?怎麼樣?

sfComponents initialization failed.

任何幫助嗎?

+0

include_component('sdriving_empresa','actionName')也許? –

+0

哪個組件是? – Reynier

+0

好你想要的!看到Ixark的答案,這基本上與我的相同。 –

回答

1

標籤和局部模板,最簡單的方式:)

一個用於這一目的的最佳可能的JavaScript的是Javascript Tabifier。它很容易 安裝和使用它。你會發現很多其他的Javascript和jQuery Tabbers,得到你最喜歡的那個。

我會建議你學習關於symfony 1 partials的一切,以便輕鬆完成工作。通常,partials是一段保存在外部文件中的代碼,稍後將在代碼的任何部分加載。它就像一個有很多html和php代碼的變量。部分(外部文件)也允許接收輸入變量,所以它很容易從相關模塊或表格發送它們。

讓我們看看與Tabifier的例子有兩個標籤,信息和管理兩個諧音

editSuccess.php

$sModuleName = sfContext::getInstance()->getModuleName(); 
$sbasepathtabs = $sModuleName . '/tabs'; 
<div class='tabber' id='tabberglobal1'> 
    <div class='tabbertab' title='Information' > 
     <?php 
      include_partial($sbasepathtabs . '/_information/_information', array('form' => $form)); 
     ?> 
    </div> 

    <div class="tabbertab" title="Admin" > 
    <?php 
     include_partial($sbasepathtabs . '/_admin/_admin', array('form' => $form)); 
    ?> 
    </div> 
</div> 

輕鬆地設置它:

  1. 在您的模塊模板文件夾中,創建摺疊ER:/_tabs
  2. 裏面的文件夾/ _tabs創建文件夾/_information/_admin
  3. 裏面的文件夾/ _tabs/_information創建該文件的部分:_information.php
  4. 文件夾/ _tabs內/ _admin創建文件部分:_admin.php

在這些文件的每一個裏面,部分寫入任何你想要的東西。
這些partials會收到左變量的形式:array('form'=> $ form)。
可以發送到泛音多於一個變量:陣列(「形式」 => $形式,「變量2」 => $ formnumber2)

當寫部分,例如在部分_information,可以輕鬆獲取模板中的表單對象及其值:

$id = $form->getObject()->getId(); 

對於普通變量,您不需要調用getObject。

最後,深入研究symfony partials和Javascript Tabifier的文檔。他們會爲你解決任何你需要的。

後臺管理程序生成器:

聯繫發電機自動生成緩存文件夾中的所有模板。例如:

cache\backend\prod\modules\autoTbPrueba1Backend\templates 
cache\backend\prod\modules\autoTbPrueba1Backend\templates\indexSuccess.php 

它的大部分文件都已經諧音,注意誰在他們的名字_符號的文件,他們是諧音。這意味着大部分工作已經完成,唯一需要做的是重寫一些部分(TbPrueba1Backend/list_header,這是_list_header.php文件),甚至是完整的模板(indexSuccess.php )與您需要的擴展信息。 爲了覆蓋後臺生成的模板和諧音,你可以將這些文件複製到你的模塊的模板文件夾:

apps\backend\modules\TbPrueba1Backend\templates 
apps\backend\modules\TbPrueba1Backend\templates\indexSuccess.php 

設置有您需要任何額外的信息,如果你沒有看到任何新的東西,同時刷新網頁,請記住清除symfony緩存(symfony cc)。

一旦您用新信息覆蓋了模板和部分,現在您唯一需要的就是在由引導框架創建的div選項卡內寫入/添加這些部分,如上所述。

對於管理生成的一個很好的解釋:()
Symfony 1.4 change admin generator actions or templates
http://www.slideshare.net/loalf/symfony-y-admin-generator
http://symfony.com/legacy/doc/jobeet/1_4/en/12?orm=Doctrine

+0

很好的解釋,但對我沒用,爲什麼?因爲我主要使用'doctrine:generate-admin'任務模塊。我的意思是我使用這個任務來生成模塊,在這種情況下,部分將如何適應?我使用Twitter Bootstrap作爲CSS框架,所以我使用他們的標籤,這不是一個問題,因爲我很瞭解他們 – Reynier

+0

添加了關於管理生成器的信息,它是如何工作的,如何覆蓋模板並將它們添加到div選項卡的引導。 – xtrm

0

你需要在你的include_component的模塊名和組件名

function include_component($moduleName, $componentName, $vars = array()) 
{ 
    echo get_component($moduleName, $componentName, $vars); 
} 

或者,也許你模塊在錯誤的應用程序中。在這種情況下,你可能會考慮將它移動到一個插件中。

相關問題