我正在尝试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; “已安装模块”选项卡上的“模块和服务”,但我找不到我的模块......
我在做什么错误?
由于
济
答案 0 :(得分:10)
你的步骤没事。 要提醒一下,要创建一个&#39; custom&#39;我们应该做的模块:
Modules
然后,对于prestashop 1.7.x.x,您必须进入Selection
并在ps -ef | grep java
标签中点击&#39;类别&#39;并找到你的模块(还记得$ this-&gt;标签片段吗?)
否则你可以通过搜索找到它:
答案 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个解决问题的方法:
压缩模块并使用Prestashop后台上传它。不好,例如,如果您使用git上传更改。因此,我一直在搜索,并找到第2个解决方案
如果创建自定义模块,它将显示在“模块”->“目录”中,而不出现在“模块”->“模块和服务”选项卡中。安装此模块后,一切都会按预期进行。