как вы знаете, действия - это массив по умолчанию, у которого есть массив значений по умолчанию ('view', 'edit', 'delete', 'duplicate'); и вы можете использовать это, но если вы хотите добавить новое действие, которое вы должны использовать некоторые function.for Например, вы можете перейти к your_prestashop/контроллеры/администратор/AdminRequestSqlController.php этот класс добавить новое действие с именем «экспорта»
$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() функция и do something lik загрузить
public function initProcess()
{
parent::initProcess();
if (Tools::getValue('export'.$this->table))
{
$this->display = 'export';
$this->action = 'export';
}
}
Хотя это не решит мою цель, но это помогло мне в другом месте. Я хочу загрузить изображение, а не данные db. Я это исправил. – biztiger
Как вы исправили _that_ @biztiger? – Matt