2016-04-13 8 views
0

で注文リストビューにカスタムアイコンを追加します。私は、オーダーのリストビューに新しいボタンを追加したいと思いますが、私はそれを行う方法を見当がつかない:はPrestaShopの

what I would like to do

私はそれをしたいです新しいアップグレードでは削除されません。

編集:この新しいボタンは新しいブラウザウィンドウを開き、PrestaShopの機能とは完全に独立しています。しかし、私はこのツールバーの行に入れたいと思います。

ありがとうございました!

+0

現在、あなたの質問は広すぎます。このボタンの目的を説明してください。 –

答えて

2

オーバーライドで実行できます。あなたのoverrides/controllers/admin/フォルダにAdminOrdersController.phpと呼ばれるファイルを作成し、次の行を追加します。これは迅速なモックアップであることを

<?php 
class AdminOrdersController extends AdminOrdersControllerCore 
{ 
    public function initPageHeaderToolbar() 
    { 
     parent::initPageHeaderToolbar(); // this will assign native icons 

     // This is where you add you custom icon 
     $this->page_header_toolbar_btn['my_custom_icon'] = array(
      'href' => self::$currentIndex.'&mycustomaction&token='.$this->token, 
      'desc' => $this->l('My custom action', null, null, false), 
      'icon' => 'process-icon-save' 
     ); 
    } 

    public function initProcess() 
    { 
     parent::initProcess(); 

     if (Tools::getIsset('mycustomaction')) { 
      if ($this->tabAccess['view'] === '1') { 
       $this->display = 'mycustomaction'; 
       $this->action = 'mycustomaction'; 
      } 
      else 
       $this->errors[] = Tools::displayError('You do not have permission to edit this.'); 
     } 
    } 

    public function initContent() 
    { 
     parent::initContent(); 

     if ($this->display == 'mycustomaction') 
      $this->content.= $this->renderMyCustomAction(); 
    } 

    public function renderMyCustomAction() 
    { 
     // this is where you render your custom page. 
    } 
} 

注意を。それはinitContent、あなただけのアイコンは、新しいページを開くだけinitPageHeaderToolbar方法を残し、右href属性を提供したい場合は、あなたがinitProcessを削除することができ

UPDATE

:)が、動作するはずですし、 renderMyCustomAction方法。他の誰かが役に立つと思ったら元の返信に残しておきます。