在Prestashop ModuleAdminController中添加自定义行操作

时间:2013-12-15 15:29:32

标签: php e-commerce shopping-cart prestashop prestashop-1.5

我想为moduleadmincontroller helper中的每一行添加一个下载按钮。

我试图通过在RenderList函数上使用以下代码来添加它。但它没有用。

$this->addRowAction('download');

如果我可以为每一行添加自定义操作以及如何处理它,请告诉我。

1 个答案:

答案 0 :(得分:5)

如您所知,操作是具有默认值数组的默认数组('view','edit','delete','duplicate');你可以使用它,但如果你想添加新的动作你应该使用一些函数。例如你可以去your_prestashop / controllers / admin / AdminRequestSqlController.php 此类使用'export'name

添加新操作
          $this->addRowAction('export');

然后对于此操作的创建链接,它使用displayExportLink()函数,如下面的代码所示

         public function displayExportLink($token, $id)
{
    $tpl = $this->createTemplate('list_action_export.tpl');

    $tpl->assign(array(
        'href' => self::$currentIndex.'&token='.$this->token.'&
                     '.$this->identifier.'='.$id.'&export'.$this->table.'=1',
            'action' => $this->l('Export')
    ));

    return $tpl->fetch();
}

然后你可以使用initProcess()函数或initcontent()函数获取你的新动作并做一些下载

public function initProcess()
{
    parent::initProcess();
    if (Tools::getValue('export'.$this->table))
    {
        $this->display = 'export';
        $this->action = 'export';
    }
}