隐藏PrestaShop产品显示页面中特定产品的价格

时间:2014-03-13 13:31:37

标签: prestashop

我想在PrestaShop中隐藏特定产品的价格。

我有创建模块的基本想法,我已经创建了一个模块。我想在单击配置按钮后加载产品名称ID和后台办公室中的复选框。希望修改像Db::getInstance()->executeS(‘SELECT * FROM ‘._DB_PREFIX_.’product’);这样的代码可以帮助我,但我找不到一种方法来放置它并从数据库中获取值。

我还想保存在配置页面中检查的值,并且在查看产品页面时,如果产品ID的复选框值为1,则不会显示价格。有人可以给我一些如何做到这一点的提示吗?非常感谢你。

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;
  }

对不起,但如果没有“为你做”,我就做不了更多,但我希望无论如何都可以帮助你。