2014-02-14 39 views
2

我使用MVC创建了一个新模块。prestashop displayFieldName()重载字段翻译

在我的ObjectModel类中,我重载了displayFieldName()函数,以便在用户没有很好地填写表单时获取人类阅读字段错误。

例如:“开始日期字段是必需的”而不是“需要start_date字段”。

我无法找到如何将这个领域这个功能

/* Overload */ 
public static function displayFieldName($field, $class = __CLASS__, $htmlentities = true, Context $context = null) 
{ 
    $fieldname = array(
     'date_start' => 'Start date', 
     'title' => 'Title', 
    ); 
    if ($fieldname[$field]) 
     return $fieldname[$field]; 
    else 
     return $field; 
} 

我试过很多东西,但不能从这里找到平时的L()函数中平移。 有什么想法?

回答

1

你根本不需要那样做。它已经在PrestaShop中实施。

的BackOffice>本地化>翻译>字段名称翻译

注意,在安装过程中必须复制你的对象模型中的文件夹类。

所以,如果你调用对象模型MyDataObject必须具备:

类/ MyDataObject.php中,你必须有

<?php 

class MyDataObjectCore extends ObjectModel 
{ 

} 

不要忘了“核心”的后缀,因为翻译领域功能需要它。

+0

谢谢,它按照您所说的复制类并清除缓存/ class_index.php文件后工作。 我看到,编辑该翻译的方式去/translations/lang/fields.php,在安装过程中复制现有字段翻译的任何方式? – Axi

+0

你可以打开/translations/lang/fields.php并在最后分配一个新的后添加: $ _FIELDS ['Zone_b068931cc450442b63f5b3d276ea4297'] ='name'; 数组索引是该字段的“ClassName”+下划线+ MD5。 $ key = $ class .'_'。md5($ field); – PrestaShopDeveloper