Prestashop 1.4.3我需要获取数据库值并在MailAlerts模块中使用它

时间:2012-06-22 08:37:23

标签: database prestashop

我在Prestashop论坛上问了这个问题,但到目前为止还没有回复。

我需要能够在mailalert模块中使用的新订单电子邮件中添加sagepay代码。

我拥有的是什么;

// Filling-in vars for email
$template = 'new_order';
$subject = $this->l('New order');
$spvtxc = Db::getInstance()->ExecuteS("SELECT vendortxcode FROM `"._DB_PREFIX_."sagepay_transactions` WHERE id_cart = '$order->id_cart'");
...
$templateVars = array(
'{firstname}' => $customer->firstname,
'{lastname}' => $customer->lastname,
...
'{sagepay_no}' => $spvtxc,
...
 );

每次测试交易时,$ spvtxc都会返回'ARRAY'。 我试过了;

$spvtxc = '5';

如预期的那样,这将返回5作为sagepay编号,因此我相信这些变量正在被调用并添加到电子邮件中。 我试过了;

$spvtxc = Db::getInstance()->ExecuteS("SELECT vendortxcode FROM `"._DB_PREFIX_."sagepay_transactions` WHERE id_cart = '2'");

所以这应该将$ spvtxc设置为最终定义的值(我在数据库中手动添加它),但这仍然返回'ARRAY'。

如果有人能够指出我错过了什么,那就非常适用。

1 个答案:

答案 0 :(得分:1)

因为我只需要返回一个值,所以我应该使用getValue函数而不是ExecuteS。

$spvtxc = Db::getInstance()->getValue("SELECT vendortxcode FROM `"._DB_PREFIX_."sagepay_transactions` WHERE id_cart = '$order->id_cart'");

这返回了值。