在Prestashop Back Ofiice订单表中添加州字段

时间:2015-12-16 10:08:46

标签: php mysql smarty prestashop

我正在尝试在prestashop中的bo order表中添加state字段。在我的AdminOrdersController.php文件中,我使用此代码获取地址字段:

$this->_select = '
            addr.address1 AS `address`,

$this->_join = '
        LEFT JOIN `'._DB_PREFIX_.'address` addr ON (a.`id_address_delivery` = addr.`id_address`)

在我的$ this-> fields_list数组中我有:

'address' => array(
            'title' => $this->l('Address')
        ),

这是为地址工作......我正在尝试做一些熟悉的事情,但没有很好的结果。当我想要获得状态的名称时,我只得到id_state。

我用过:

$this->_select = '
        go.id_state AS `city`,
$this->_join = '
        LEFT JOIN `'._DB_PREFIX_.'address` go ON (a.`id_address_delivery` = go.`id_address`)

并在数组中:

'city' => array(
                'title' => $this->l('City')
            ),

我知道它的mysql语法错误。我怎么写的正确? 感谢

2 个答案:

答案 0 :(得分:1)

'

之前,您的代码中只有一个$this->_join = '

请记住,此sql只会为您提供id_state而非州名

答案 1 :(得分:-1)

我正在做同样的事情,但我在PS 1.6.1.4工作了。 在AdminOrdersController.php中(覆盖它更好):

$this->_select = 'css.name AS `state`,

然后再进一步说明:

$this->_join = '
    LEFT JOIN `'._DB_PREFIX_.'address` ca ON (a.`id_address_delivery` = ca.`id_address`)
    LEFT JOIN `'._DB_PREFIX_.'state` css ON (ca.`id_state` = css.`id_state`)

最后称之为:

'state' => array(
    'title' => $this->l('State')
),

如果这没有意义,请查看AdminOrdersController.php文件并进行包含此操作的覆盖。您可能还想查看this tutorial