Prestashop 1.4 - 如何对每个请求执行初始 MySQL 查询
Prestashop 1.4 - How to execute an initial MySQL query on every request
Prestashop 的旧版本,我知道,但我需要在每个请求.
上执行初始 MySQL 查询
我需要将要always
执行的逻辑放在哪里?
无论请求什么 URL,应用程序始终执行的某种初始化点。
提前致谢。
终于找到了解决方案(我认为很聪明)。
而且我还认为这种方法可以适用于其他版本的 Prestashop(1.5、1.6、1.7...)。
在 classes/MySQL.php
文件中的 connect
函数中,我在返回 $this->_link
:
之前添加了我的查询
public function connect()
{
if (!defined('_PS_DEBUG_SQL_'))
define('_PS_DEBUG_SQL_', false);
if ($this->_link = mysql_connect($this->_server, $this->_user, $this->_password))
{
if (!$this->set_db($this->_database))
die('The database selection cannot be made.');
}
else
die('Link to database cannot be established.');
/* UTF-8 support */
if (!mysql_query('SET NAMES \'utf8\'', $this->_link))
die(Tools::displayError('PrestaShop Fatal error: no utf-8 support. Please check your server configuration.'));
// removed SET GLOBAL SQL_MODE : we can't do that (see PSCFI-1548)
/** MY QUERY IS INSERTED HERE, USING $this->_link BY THE WAY **/
mysql_query('...', $this->_link);
return $this->_link;
}
这样,有2个好处:
- 除了 Prestashop 的
,我不需要维护数据库凭据的副本
- 查询在每个请求中执行,包括商店前台和后台用户界面。
希望对大家有所帮助。
Prestashop 的旧版本,我知道,但我需要在每个请求.
上执行初始 MySQL 查询我需要将要always
执行的逻辑放在哪里?
无论请求什么 URL,应用程序始终执行的某种初始化点。
提前致谢。
终于找到了解决方案(我认为很聪明)。 而且我还认为这种方法可以适用于其他版本的 Prestashop(1.5、1.6、1.7...)。
在 classes/MySQL.php
文件中的 connect
函数中,我在返回 $this->_link
:
public function connect()
{
if (!defined('_PS_DEBUG_SQL_'))
define('_PS_DEBUG_SQL_', false);
if ($this->_link = mysql_connect($this->_server, $this->_user, $this->_password))
{
if (!$this->set_db($this->_database))
die('The database selection cannot be made.');
}
else
die('Link to database cannot be established.');
/* UTF-8 support */
if (!mysql_query('SET NAMES \'utf8\'', $this->_link))
die(Tools::displayError('PrestaShop Fatal error: no utf-8 support. Please check your server configuration.'));
// removed SET GLOBAL SQL_MODE : we can't do that (see PSCFI-1548)
/** MY QUERY IS INSERTED HERE, USING $this->_link BY THE WAY **/
mysql_query('...', $this->_link);
return $this->_link;
}
这样,有2个好处:
- 除了 Prestashop 的 ,我不需要维护数据库凭据的副本
- 查询在每个请求中执行,包括商店前台和后台用户界面。
希望对大家有所帮助。