我想在PrestaShop中隐藏特定产品的价格。
我有创建模块的基本想法,我已经创建了一个模块。我想在单击配置按钮后加载产品名称ID和后台办公室中的复选框。希望修改像Db::getInstance()->executeS(‘SELECT * FROM ‘._DB_PREFIX_.’product’);
这样的代码可以帮助我,但我找不到一种方法来放置它并从数据库中获取值。
我还想保存在配置页面中检查的值,并且在查看产品页面时,如果产品ID的复选框值为1,则不会显示价格。有人可以给我一些如何做到这一点的提示吗?非常感谢你。
答案 0 :(得分:2)
获取模块管理面板的最简单方法是为模块创建一个AdminController,并使用prestashop使用的基本表单帮助程序。以下是如何做到这一点:
在“mymodule / controllers / admin / AdminmymoduleController.php”中创建您的类(首先创建文件,替换为您的模块名称)
通过定义重要信息来设置构造函数。如果您不知道该怎么做,只需查看另一个核心管理类(如“AdminContactsControllerCore”)
重写renderForm方法,使用您自己的字段设置“fields_form”属性。您可以再次查看另一个管理类,但您需要填写的最重要的字段是“$ this-> fields_form”
在模块安装方法中创建一个新选项卡。你应该做的事情如下: $ this-> installModuleTab('Adminmymodule',array(1 =>'Attribute description'),$ idTabParent = 9)
编辑:
有installModuleTab函数
private function installModuleTab($tabClass, $tabName, $idTabParent) {
@copy(_PS_MODULE_DIR_ . $this->name . '/logo.png',
_PS_IMG_DIR_ . 't/' . $tabClass . '.png');
$tab = new Tab();
$tab->name = $tabName;
$tab->class_name = $tabClass;
$tab->module = $this->name;
$tab->id_parent = $idTabParent;
if (!$tab->save())
return false;
return true;
}
对不起,但如果没有“为你做”,我就做不了更多,但我希望无论如何都可以帮助你。