加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 17:26:02 所属栏目:PHP教程 来源:网络整理
导读:我想为moduleadmincontroller helper中的每一行添加一个下载按钮. 我试图通过在RenderList函数上使用以下代码来添加它.但它没有用. $this-addRowAction('download'); 如果我可以为每一行添加自定义操作以及如何处理它,请告诉我. 解决方法 如您所知,操作是具
我想为moduleadmincontroller helper中的每一行添加一个下载按钮.

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

$this->addRowAction('download');

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

解决方法

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

$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';
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读