2017-01-04 12 views
3

私は単純なモジュールを開発していますが、管理コントローラを正常に動作させることができません。Prestashop - コントローラがコントローラに見つかりません

これは私のモジュールのディレクトリ構造です:

:私はこの機能を使用して、私のモジュールのインストール上のタブを作成し

<?php 

class AdminPaymentsController extends ModuleAdminController { 

} 

enter image description here

そして、これがAdminPaymentsController.phpファイルであります

public function installTab($parent, $class_name, $name) { 
    $tab = new Tab(); 
    $tab->id_parent = (int)Tab::getIdFromClassName($parent); 
    $tab->name = array(); 

    foreach (Language::getLanguages(true) as $lang) { 
     $tab->name[$lang['id_lang']] = $name; 
    } 

    $tab->class_name = $class_name; 
    $this->module = $this->name; 
    $tab->active = 1; 

    return $tab->add(); 
} 

これを次のように呼び出します。

if (!$this->installTab('AdminCatalog', 'AdminPayments', 'Payments Management')) return false; 

タブが正しくインストールされているようだ:

enter image description here

しかし、私はそれを開いたとき、それはエラーメッセージを示しています。なぜ

enter image description here

http://dev.prestashop.com/admin123asdf/index.php?controller=AdminPayments&token=52dbfa9a1a6c3935fd3cbb1276bcbedb

をこれは起こっている?これをどのようにデバッグできますか?

答えて

2

コントローラのファイル名はAdminPayments.phpである必要があります。

そして、この行を変更:$this->module = $this->name;この1のために:$tab->module = $this->name;

幸運。

+0

$tab->module = $this->name; 

。私のモジュールのダースが教えてくれる;)私がコメントしている他のバグを修正してください。がんばろう。 – PrestaAlba

1

installTab機能にタイプミスがあります。それは次のようになります。これは完璧に動作する代わりに

$this->module = $this->name; 
関連する問題