2013-11-25 85 views
0

我正在創建一個包含多個模塊的YII應用程序。每個模塊包含一個FrontendController和一個BackendController如何爲多個模塊使用創建Yii模塊/組件/擴展?

現在我擁有所有這些模塊共享的功能,如可定製的Facebook共享按鈕。分享按鈕應該有一個文本和一個可以在後端編輯的標題。然後顯示在模塊前端。

最好的方案是將兩行添加到每個控制器,導致後端的另一個設置選項卡和呈現前端內的共享按鈕。

我已經研究過PHP Traits這可能將功能添加到控制器,但我仍然需要額外的模型等

回答

1

你應該利用所謂的應用程序組件的高級編程。這是將類別中邏輯分開的方式,它擴展了CApplicationComponent並將該組件包括到前端和後端控制器中。

API:http://www.yiiframework.com/doc/api/1.1/CApplicationComponent

樣品組件:http://www.yiiframework.com/wiki/187/how-to-write-a-simple-application-component

在HTML中再次使用的可定製的Facebook分享按鈕,你可以只使用一個CWidget類,幷包括一個在意見的情況。這是html代碼重用的最原始方式。

API:http://www.yiiframework.com/doc/api/1.1/CWidget

樣品部件:http://www.yiiframework.com/wiki/310/simple-share-widget-for-facebook-twitter-and-google

這裏是你如何使用小工具:

<?php 
$this->widget('SimpleShare', array(
    'pageTitle' => 'The title of the page.', 
    'pageDescription' => 'The long descriptions of the page.', 
)); 
?>