如何从Prestashop模块数据库中获取值



我有非常简单的Prestashop模块,我想重新设计以使用具有单独语言等的自己的数据库表。

以前这个模块是在没有多语言功能的情况下编写的,具有简单的ps_configuration表使用。

 public function hookDisplayFooter($params)
     {
         $value = Configuration::get('MYMODULE_SETTINGS');

现在我有

 public function hookDisplayFooter($params)
     {
         $value = Tools::getValue('mymodule_settings');

一切正常,但我无法再在此函数中获取mymodle_settings值。这是我的输入数组。

array(
    'type' => 'text',
    'label' => $this->l('Settings'),
    'desc' => $this->l('My module settings.'),
    'name' => 'mymodule_settings',
    'lang' => true,
    'size' => 64,
),

这是我的数据库表

 `mymodule_settings` varchar(255) NOT NULL,

mymodule_settings值正确放置在数据库中,我在模块 BO 中看到它们,问题是如何让它们发挥作用 $value =

tools::getValue 返回存储在 $_POST/$_GET 变量中的值,因此它不返回数据库条目。

所以在这种情况下,我们需要使用 Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(''); function

就我而言,这完成了工作

public function hookDisplayFooter($params)
    {
        $sql = 'SELECT mymodule_settings FROM '._DB_PREFIX_.'mymodule';
        $value = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql);

最新更新