Prestashop 1.7无法显示自定义模块

时间:2017-03-17 07:41:34

标签: php prestashop prestashop-1.7

我正在尝试prestashop 1.7,我在创建自定义模块时遇到了问题。 我在“modules”文件夹中创建了一个文件夹“mymodule”,正如文档中所示,我在其中创建了一个简单的mymodule.php文件:

<?php

/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

if (!defined('_PS_VERSION_'))
 exit;

class MyModule extends Module
{
  public function __construct()
  {
    $this->name = 'mymodule';
    $this->tab = 'front_office_features';
    $this->version = '1.0.0';
    $this->author = 'Firstname Lastname';
    $this->need_instance = 0;
    $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_); 
    $this->bootstrap = true;

    parent::__construct();

    $this->displayName = $this->l('My module');
    $this->description = $this->l('Description of my module.');

    $this->confirmUninstall = $this->l('Are you sure you want to uninstall?');

    if (!Configuration::get('MYMODULE_NAME'))      
      $this->warning = $this->l('No name provided');
  }
}

?>

然后我进入“模块”下的管理页面 - &gt; “已安装模块”选项卡上的“模块和服务”,但我找不到我的模块......

我在做什么错误?

由于

4 个答案:

答案 0 :(得分:10)

你的步骤没事。 要提醒一下,要创建一个&#39; custom&#39;我们应该做的模块:

  1. 在modules文件夹中创建一个文件夹,例如名为“mycustommodule”
  2. 创建一个名为文件夹的php文件,例如`mycustommodule.php`
  3. 然后&#34; bootstrap&#34; class(和construct)应该是这样的:
  4. Modules

    然后,对于prestashop 1.7.x.x,您必须进入Selection并在ps -ef | grep java标签中点击&#39;类别&#39;并找到你的模块(还记得$ this-&gt;标签片段吗?)

    issue

    否则你可以通过搜索找到它:

    Categories menu

答案 1 :(得分:4)

我在1.7.4版上遇到了同样的问题

我通过注释文件中的以下行

解决了该问题
  

\ src \ PrestaShopBundle \ Controller \ Admin \ ModuleController.php

$filters = new AddonListFilter();
 $filters->setType(AddonListFilterType::MODULE | AddonListFilterType::SERVICE);
 //    ->removeStatus(AddonListFilterStatus::UNINSTALLED);
 $installedProducts = $moduleRepository->getFilteredList($filters);

我不知道为什么我们看不到已卸载的模块

答案 2 :(得分:2)

只需进入模块目录而不是Modules Manager,您将找到自定义模块。

答案 3 :(得分:1)

今天,我在Prestashop 1.7.6.1中遇到了相同的问题。找到了2个解决问题的方法:

  1. 压缩模块并使用Prestashop后台上传它。不好,例如,如果您使用git上传更改。因此,我一直在搜索,并找到第2个解决方案

  2. 如果创建自定义模块,它将显示在“模块”->“目录”中,而不出现在“模块”->“模块和服务”选项卡中。安装此模块后,一切都会按预期进行。