我有非常简单的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);