2015-02-07 26 views
0

在列表视图中,我想显示供应商名称而不是id。该视图是自动生成的。我该如何改变它?Prestashop - 显示供应商名称改为id

的代码,我在renderList选项是:

public function renderList() 
{ 
    $this->addRowAction('view'); 
    // Adds an Edit button for each result 
    $this->addRowAction('edit'); 

    // Adds a Delete button for each result 
    $this->addRowAction('delete'); 

    $this->simple_header = false; 

    return parent::renderList(); 
} 

和字段列表下一个:

$this->fields_list = array(
     ... 
     'id_product_supplier' => array('title' => $this->l('ID Supplier'), 'align' => 'center', 'class' => 'fixed-width-xs'), 
     ... 
     ); 

如果我想显示供应商的名称,而不是身份证,并可以选择筛选供应商名单...

我该怎么办?

谢谢!

回答

0

您可以通过两种方式改变它,这取决于它的控制器是(默认的你):

如果你建立你自己的管理控制器:如果您使用的是模块

public function getList($id_lang, $order_by = null, $order_way = null, $start = 0, $limit = null, $id_lang_shop = false) 
{ 
    parent::getList($id_lang, $order_by, $order_way, $start, $limit, $id_lang_shop); 

    foreach($this->_list as &row) 
    { 
     $row['new_field'] = 'Hello'; 
     $row['existing_field'] = 'Changed'; 
    } 
} 

修改和现有表格:

public function hookActionAdminProductsListingResultsModifier($args) 
{ 
    $args['list_total'] += 1; 

    foreach($args['list'] as &row) 
     { 
     $row['new_field'] = 'Hello'; 
      $row['existing_field'] = 'Changed'; 
    } 
} 

如果你是goona使用钩子,你必须先注册。另外,将钩子名称中的{AdminProducts}部分封装起来。

欲了解更多信息,请参阅classes/controller/AdminController.php @ Line 2952

Hook::exec('action'.$this->controller_name.'ListingResultsModifier', array(
    'list' => &$this->_list, 
    'list_total' => &$this->_listTotal, 
));