我从Prestashop 1.7开始。
我的问题是:如何访问和使用config中的数据。如果无法通过
?为什么不在自定义模块的Configuration::get(“[config.xml文件中的某些内容”)
完成,则在代码中添加xml\uu construct()
中填写属性(例如:$this-
以下是我尝试过的:
我一直在考虑创建一个PrestaShop 1.7模块;
我一直在经历:
什么是预启动模块
我体验了如何通过使用函数
getContent()
和displayForm()
来设置配置。
但是我不明白如何从
配置中获取数据。xml
文件。
我的
config.xml
文件是这样的(在目录[PrestashopProject]\模块
):
<?xml version="1.0" encoding="UTF-8" ?>
<module>
<name>mymodule</name>
<displayName><![CDATA[My module]]></displayName>
<version><![CDATA[1.0]]></version>
<description><![CDATA[Description of my module.]]></description>
<author><![CDATA[Firstname Lastname]]></author>
<tab><![CDATA[front_office_features]]></tab>
<confirmUninstall>Are you sure you want to uninstall?</confirmUninstall>
<is_configurable>1</is_configurable>
<need_instance>0</need_instance>
<limited_countries>fr</limited_countries>
</module>
我有我的文件
mymodule。php
(也在目录[PrestashopProject]\module
)中,如指南中所述:
class mymodule extends Module {
public function __construct(){
$this->name = 'mymodule';
...
$this->bootstrap = false;
parent::__construct();
$this->displayName = $this->l('My Module');
....
if (!Configuration::get('MYMODULE_NAME')) $this->warning = $this->l('No name provided.');
}
public function install(){
...
return true;
}
public function uninstall(){
...
return true;
}
public function getContent(){
....//stuff to manage the submit of the form designed for configuration settings
}
public function displayForm(){
....//
$fields_form[0]['form'] = array(
'legend' => array(
'title' => $this->l('Settings'),
),
'input' => array(
'type' => 'text',
'label' => $this->l('Configuration value'),
'name' => 'confirmUninstall',
'size' => 20,
'required' => true
),
'submit' => array(
'title' => $this->l('Save'),
'class' => 'btn btn-default pull-right'
)
);
$helper = new HelperForm();
.... // stuff with $helper like in the doc
$helper->fields_value['confirmUninstall'] = Configuration::get('confirmUninstall');
}
}
我不明白为什么配置::得到('确认卸载')
这是在我的displayForm()
函数不显示
同样在
类的
中,我可以预期如果我不添加__construct()
函数my模块扩展模块$this-
以下是我从@drectot得到的第一个答案:
我想知道我在这里遗漏了什么。在创建第一个模块的最底部写着:
在模块安装期间,PrestaShop会自动在模块的文件夹中创建一个小config.xml文件,其中存储配置信息。手工编辑时要非常小心。
的确,首先,我创建了
config。xml
文件,因为我没有看到它最初弹出。
现在我从@TheDrot得到的答案是,我已经删除了我的
config.xml
文件,从Prestashop管理仪表板卸载了我的模块,并重新安装了它。
我以为重新安装它会创建
config.xml
文件,因为它应该根据mymodule.php
。但它没有,我错过了一个设置吗?
更新:
它最终创建了
配置。xml
文件。我不知道是哪个动作触发了它,但它确实触发了。以及配置。自动创建的xml
文件内容与mymodule匹配。php
。
配置。xml对您来说是无用的,因为它是自动生成的,正如用于优化后端模块列表加载的文档所述。
这就是为什么您需要在模块构造函数中定义这些选项。
public function __construct() {
...
$this->confirmUninstall = 'Are you sure?';
...
}
并在displayForm()中使用它
$helper->fields_value['confirmUninstall'] = $this->confirmUninstall;
Configuration::get()
与配置无关。在数据库表dbprefix\u配置
中读取字符串值时使用xml。
获取默认的商店语言ID:
$defaultLangID = Configuration::get('PS_LANG_DEFAULT'):
加载表单时,prestashop 1.7中有一个问题。在我的模块中,tpl无法执行。我需要的是,当我继续付款时,我会使用付款平台打开一个新的销售,在平台车中的prestashop中,我会留下验证代码。请帮忙 prestashop模块的主文件 这是表格。第三方物流,我没有充电的方法,但它是通过测试 这是验证文件
问题内容: 我有一个包含多个Maven模块的项目 MockIFSClient 访问为 因此 IFSClientTest 运行鳍,因为它们在同一包中。 问题? 尝试访问相同代码的 调用,但现在失败,因为 services / pom.xml 具有以下依赖性 题 我要做出什么改变 这样也可以从不同的模块访问它 问题答案: 这个答案帮助我正确了 如何从Java中的类路径真正读取文本文件 我将代码更改为
我有一个使用git子模块的项目。在我的python文件中,我想在子模块项目中使用另一个python文件中的函数。 为了工作,我必须将init.py文件添加到路径中的所有子文件夹中。我的文件夹树如下: 有没有办法让它在不接触mygitsubmodule的情况下工作? 谢谢
我正在设计一个程序,为消息中的特定字符保存索引位置。然后,我需要根据这些字符的索引位置来检索它们。我将这些字符的位置保存在。txt文件中。我检索了它们,但在最后,我得到了这样一条消息“Exception in thread”AWT-EventQueue-0“java.lang.IndexoutOfBoundsException:Index 120 out of bounded for length
嗨,我是prestashop的新手,我尝试创建一个1.7版的管理模块。我会创建一个新的菜单来显示模板和管理我的数据库。 mymodule.php: 模块/mymodule/controller/admin/MyModuleController。php: 模块/mymodule/views/templates/admin/mymodule。第三方物流: 我用很多教程1.7/1.6的编译创建了这个,但
问题内容: 我经历了许多Python相对导入问题,但是我无法理解该问题/无法正常工作。 我的目录结构是: 当我尝试运行时: 我得到错误 问题答案: 之所以发生这种情况,是因为就Python而言,它们是独立的,无关的软件包。 在与该目录相同的目录中创建一个目录,一切都会按预期进行。