2017-11-09 5 views
0

https://webkul.com/blog/create-modules-admin-controllers-without-creating-tab-prestashop/PrestaShopの開発 - 私は、このガイド以下のコントローラーをセットアップする方法コントローラを設定(プロパティタブ - > nameが空である)

だから私のカスタムモジュールで、私はこれを実行します。

.... 
public function install() { 

    return (parent::install() 
     && $this->registerHook('header') 
     && $this->registerHook('footer') 
     && $this->installTab() 
    ); 
} 


public function installTab() { 
    $tab = new Tab(); 
    $tab->active = 1; 
    $tab->class_name = 'abandonedCartsAdminModuleController'; 
    $tab->name = "test"; 
    //If you don't want to create a tab for your admin controller then Pass id_parent value as -1. 
    $tab->id_parent = -1; 
    $tab->module = $this->name; 
    return $tab->add(); 
} 

これはコントローラーです:abandonedCartsAdminModuleController.php

<?php 

class abandonedCartsAdminModuleController extends AdminModuleController { 

public function __construct() { 
    parent::__construct(); 
    $this->context = Context::getContext(); 
} 


public function init() { 
    $this->retrieve(); 
} 


public function retrieve() { 
    ... 
} 

} 

私は私のモジュールをインストールしようとすると、私はPrestaShopE持っている何が起こりますxception: "プロパティタブ - >名前が空です 行887のファイルクラス/ ObjectModel.php"

+0

「abandonedCarts」(拡張ObjectModel)というモデルが必要です。 – Pauloscorps

答えて

0

$ tab-> nameは、言語ごとに1つの名前にする必要があります。

$tab->name = array(); 
foreach (Language::getLanguages(true) as $lang) { 
    $tab->name[$lang['id_lang']] = 'test'; 
} 
関連する問題