按摩不选择项目magento


Massaction without selecting items magento

我需要的是一些简单的东西,您可以通过某种方式创建MassAction,但不必选择项目(如果适用于所有项目)。

在创建MassAction时,有什么选项可以让它发生吗?

默认情况下,如果未选择某个项目,则会返回一条消息,说明必须至少选择一个项目。

@EDIT

这就是它验证的地方——它是否有办法在不重写CORE的情况下进行验证?

js''mage''adminhtml''grid.js

apply: function() {
    if(varienStringArray.count(this.checkedString) == 0) {
            alert(this.errorText);
            return;
    }

看起来大规模行动在帖子中有效:app/code/core/Mage/Adminhtml/Model

public function massactionPrepareKey()
{
    $request = Mage::app()->getFrontController()->getRequest();
    if ($key = $request->getPost('massaction_prepare_key')) {
        $value = is_array($request->getPost($key)) ? $request->getPost($key) : explode(',', $request->getPost($key));
        $request->setPost($key, $value ? $value : null);
    }
    return $this;
}

可能最简单的方法是修改批量操作JS,以便在发布之前选择所有项目。

JS在JS/mage/adminhtml/grid.JS中。我必须运行,所以我现在还不知道该怎么做,但你可以从这里开始:

selectAll: function() {
        this.setCheckedValues((this.useSelectAll ? this.getGridIds() : this.getCheckboxesValuesAsString()));
        this.checkCheckboxes();
        this.updateCount();
        this.clearLastChecked();
        return false;
    },

这看起来是Magento用来选择所有项目的。