Module Prestashop-backoffice表格表单中的计算字段

Module Prestashop-backoffice表格表单中的计算字段,module,prestashop-1.6,Module,Prestashop 1.6,我想在后台的Prestashop 1.6自定义表中添加一个虚拟字段。不应将字段indice_calculou pvp2保存到数据库中,因为它是根据indice_calculou pvp和precio_venta_recondado的值计算得出的。正确的方法是什么 我的代码如下: public function renderList() { $this->addRowAction('edit'); $this->addRowAction('delete');

我想在后台的Prestashop 1.6自定义表中添加一个虚拟字段。不应将字段indice_calculou pvp2保存到数据库中,因为它是根据indice_calculou pvp和precio_venta_recondado的值计算得出的。正确的方法是什么

我的代码如下:

public function renderList() {
    $this->addRowAction('edit');
    $this->addRowAction('delete');

    $this->fields_list = array(
        'id_product_price' => array(
            'search' => false,
            'title' => 'ID'
        ),
        'precio_coste' => array(
            'title' => 'Precio coste',
            'search' => false,
            'callback' => 'callback_format_price',
            'suffix' => '€'
        ),
        'indice_calculo_pvp' => array(
            'title' => 'Indice de cálculo PVP',
            'search' => false,
            'callback' => 'callback_format_price',
            'suffix' => '%'
        ),
        'indice_calculo_pvp2' => array(
            'title' => 'Indice de cálculo PVP2',
            'search' => false,
            'callback' => 'callback_calculate_pvp',
            'suffix' => '%'
        ),
        'precio_venta_recomendado' => array(
            'title' => 'Precio de venta recomendado con IVA',
            'search' => false,
            'callback' => 'callback_format_price',
            'suffix' => '€'
        )
    );

    return parent::renderList();
}
您有两种选择:

您可以在代码中使用回调函数:

公共函数回调\u计算\u pvp$id,$tr { 返回$tr['indice_calculo_pvp']*$tr['precio_venta_recomendado']; }

您可以在字段列表indice_calculo_pvp2中使用虚拟列,并在SQL查询或getList override函数中设置值,就像ProductController对price所做的那样。
祝你好运。

在SQL SELECT查询中使用calculation查询列表。我不知道您的计算公式和SELECT查询是什么,但示例如下:

$this->_select = 'a.indice_calculo_pvp / a.precio_venta_recomendado AS indice_calculo_pvp2';

嗨,我对Prestashop很陌生。。。我将如何做这些事情,你能给我一个简短的例子我如何添加回调到字段列表-想法是添加一个新的字段除了现有的吗?我也评论了下面。。。我不知道我会怎么做,我能按你说的写选择吗?谢谢,我只是按你说的方式写,而且很有效!我将尝试调试代码,以了解其内部工作原理。