我需要的是一些简单的东西,您可以通过某种方式创建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用来选择所有项目的。