2015-02-07 53 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, 
));