之前講到prestashop升級至1.5.x後它的backoffice 改動很太,所以基本上admin tab 也是要重新寫過的呢,如果看看它的change log, 基本上v1.5.0.1把之前的admintab 也換了是controller 呢,所以寫法上也會有一點點的出入,所以之前的筆記2及3是不太適用於1.5+呢
好首先最主要的改動是我地由之前extends AdminTab變成為AdminController
它的constructor 基本上是類似的, 不過之前所用的fieldsDisplay就換成為fields_list
參考example:
除此之外之前是利用edit/delete的變數來設定每一行可以做的action, 但在controller的叫法則改變了
也可以利用bulk_action來設定批量的移除
class AdminFastGetDiscountSettingControllerCore extends AdminController{ ... }
它的constructor 基本上是類似的, 不過之前所用的fieldsDisplay就換成為fields_list
參考example:
public function __construct() { $this->table = 'product_fast_get_discount'; $this->className = 'FastGetDiscount'; $this->lang = false; $this->identifier = "id_pfgd"; $this->addRowAction('edit'); $this->addRowAction('delete'); $this->bulk_actions = array('delete' => array('text' => $this->l('Delete selected'), 'confirm' => $this->l('Delete selected items?'))); $this->fields_list = array( 'id_pfgd' => array( 'title' => $this->l('ID'), 'align' => 'center', 'width' => 25 ), 'product_name' => array( 'title' => $this->l('Name'), 'align' => 'left', 'orderby' => false, 'filter' => false, 'search' => false ), 'position' => array( 'title' => $this->l('No. of Sold'), 'align' => 'center', 'width' => 90 ), 'reduction' => array( 'title' => $this->l('Reduction'), 'align' => 'right', 'width' => 100 ) ); parent::__construct(); }
除此之外之前是利用edit/delete的變數來設定每一行可以做的action, 但在controller的叫法則改變了
// 之前在AdminTab 時用$this->edit=true; $this->addRowAction('edit'); // 之前在AdminTab 時用$this->delete=true; $this->addRowAction('delete');
也可以利用bulk_action來設定批量的移除
$this->bulk_actions = array( 'delete' => array( 'text' => $this->l('Delete selected'), 'confirm' => $this->l('Delete selected items?')) );
加入批量的效果 |
0 回應:
Post a Comment