【问题标题】:Update all textfields of multiple products by one button一键更新多个产品的所有文本字段
【发布时间】:2015-12-17 13:06:15
【问题描述】:

我们正在使用 magento 多供应商网站

对于单个产品,我们在供应商帐户中显示价格、售价、数量...等。

我们为供应商提供了一个选项,可以通过单击一个“更新”按钮来更新单个产品的所有文本字段。

我们为此使用以下代码。

PHTML

<button id="update_button_<?php echo $products->getId(); ?>" class="button wk_mp_btn1" onclick="updateAllFields('<?php echo $products->getId(); ?>'); return false;"  >
<span><span style="font-size:12px;"><?php echo $helper->__('Update') ?></span></span>
</button>

Javascript

function updateAllFields(product_id) {
            updateFieldPrice(product_id);
            updateFieldSpecialPrice(product_id);
            updateField(product_id);

            }

现在我们想提供一个选项,通过单击一个“更新”按钮来更新多个产品的所有文本字段。 例如:对于一种产品我们将编辑价格,对于第二种我们将编辑价格和数量,对于第三种价格、数量、特价。我们编辑所有文本字段值并输入按钮“全部保存”。

在图片的最后一列,您可以看到“全部保存”按钮。一旦我们点击那个按钮,它应该会保存所有的字段值。

【问题讨论】:

  • 祝你好运:)
  • @Epodax 非常感谢.....
  • 需要完整的文件代码可以发给我吗..
  • 当然,我会送你.....
  • 请查看:pastebin.com/vXps0NFq

标签: javascript php html magento


【解决方案1】:

您可以在数组中添加与价格和特价相同的产品 ID

<input type="hidden" name="product_mass_update[]"  value="<?php echo $products->getEntityId(); ?>"/>
<input class="ama1" type = "text" id = "price_<?php echo $products->getId(); ?>" onkeydown="validateNumbers(event)" name= "price[]" value = "<?php echo $products->getPrice(); ?>" style = ""/>
    <input class="ama1" type = "text" id = "specialprice_<?php echo $products->getId(); ?>" onkeydown="validateNumbers(event)" name = "specialprice[]" value = "<?php echo $products->getSpecialPrice(); ?>" onblur="updateFieldSpecialPrice('<?php echo $products->getId(); ?>')" style = ""/>

更新所有记录

public function massupdatesellerproAction(){
    if($this->getRequest()->isPost()){
        if(!$this->_validateFormKey()){
             $this->_redirect('marketplace/marketplaceaccount/myproductslist/');
        }
        $ids= $this->getRequest()->getParam('product_mass_update');
        $price= $this->getRequest()->getParam('price');
        $special= $this->getRequest()->getParam('specialprice');
        foreach ($ids as $key => $value) {
    $product = Mage::getModel('catalog/product')->load($value);
    $product->setPrice($price[$key]);
    $product->setSpecialPrice($special[$key]);
    $product->save();
        }
        Mage::getSingleton('core/session')->addSuccess( Mage::helper('marketplace')->__('Products has been sucessfully deleted from your account'));
        $this->_redirect('marketplace/marketplaceaccount/myproductslist/');


    }}

【讨论】:

  • 解析错误:语法错误,文件意外结束,期望函数 (T_FUNCTION) 在 MarketplaceaccountController.php 的第 1219 行
  • 是我必须替换旧的价格和特价的html代码还是我需要添加这个代码?
  • 我必须添加这条线:
  • 一旦我们刷新页面,它不会保存在数据库中:2.kidsdial.com/index.php/marketplace/marketplaceaccount/…
  • onclick="changeaction()" 在更新按钮上更新此表单未提交
猜你喜欢
  • 2022-11-17
  • 2022-09-23
  • 1970-01-01
  • 1970-01-01
  • 2022-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多