【发布时间】:2014-02-12 15:24:06
【问题描述】:
我正在开发一个名为 Zurmo 的开源 CRM 平台。它使用 Yii 框架和 RedBean。我试图“扩展?”或更改特定“模块”中的功能。我想知道是否可以创建一个单独的文件,我可以在其中更改原始函数中的任何变量或数组。
我仍然无法在外部文件中定义类和类函数。我在 accounts/models/ 中创建了一个名为 AccountExtend.php 的文件,并认为第 53 行的 AccountsModule.php 如下所示:
public function getRootModelNames()
{
return array('Account, AccountExtend');
}
在 AccountExtend.php 文件中,我有这个函数,它将标签从默认的“帐单地址”更改为“物业地址”
class AccountExtend extends Account implements StarredInterface
{
protected static function translatedAttributeLabels($language)
{
$params = LabelUtil::getTranslationParamsForAllModules();
$paramsForAffiliations = $params;
return array_merge(OwnedSecurableItem::translatedAttributeLabels($language),
array(
'billingAddress' => Zurmo::t('AccountsModule', 'Property Address', array(), null, $language),
)
);
}
所以在上面我将这个数组与以前合并到扩展 Account.php 中的类“OwnedSecurableItem”合并,并在 Account.php 模型中用“AccountExtend”替换了“OwnedSecurableItem”,并做了一个“merge_diff”php 函数来覆盖默认标签。
现在我的问题是,这是最好的方法吗?任何提示或建议?我的下一个难题是尝试在 Account.php 模块中扩展一个函数,以添加自定义关系下拉字段或添加任何其他功能。由于这些是包含元素的更复杂的数组,我该如何处理?
【问题讨论】:
-
我以为我已经删除了那个帖子。对不起。感谢您了解这一点