我有一个非常简单的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 =
答案 0 :(得分:2)
tools :: getValue返回存储在$ _POST / $ _GET变量中的值,因此它不会返回数据库条目。
所以在这种情况下我们需要使用 Db :: getInstance(_PS_USE_SQL_SLAVE _) - > getRow(''); 功能
就我而言,这可以完成工作
public function hookDisplayFooter($params)
{
$sql = 'SELECT mymodule_settings FROM '._DB_PREFIX_.'mymodule';
$value = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql);