默认值不正常,默认宽>英语是完美的
-
29-09-2020 - |
题
我们有Marketplace Multi供应商/卖家网站。我们为卖家提供了一种选择,通过前端更新产品信息。
"Cod" is Attribute Label and "cod_available" is attribute code
.
cod属性仅适用于特定商店视图
当我们为我们的商店更新时,它的工作。
当我们通过“默认值”更新时,它不起作用
在图像中,您可以看到:默认宽>英文
一旦我们选择它并更新属性值,而不是其工作正常。但是
当我们选择“默认值”时,而不是不起作用。
它是下拉属性我们面临这个问题。但是对于“TextField”属性一切正常工作。
我们使用以下代码:
cod
的phtml代码<td>
<?php $attribute = $products->getResource()->getAttribute('cod_available');?>
<?php if($attribute):?>
<?php $attribute_value = $attribute ->getFrontend()->getValue($products); ?>
<select id = "cod_<?php echo $products->getId(); ?>" name= "cod[]" >
<option value="0" <?php if($pro->getCodAvailable()==0) { echo "selected";} ?>>No</option>
<option value="1"<?php if($pro->getCodAvailable()==1) { echo "selected";} ?>>Yes</option>
</select>
<?php endif; ?>
<input type="hidden" name="codcurr_<?php echo $products->getId(); ?>" id="codcurr_<?php echo $products->getId(); ?>" value="<?php echo $products->getCod(); ?>" />
<p id="updatedcod_<?php echo $products->getId(); ?>" style = "display:none;color:red; position:relative; top:16px;">Updated</p>
<br/>
<button id="cod_reset_button_<?php echo $products->getId(); ?>" type="reset" class="cancel" onclick="hideResetCod('<?php echo $products->getId(); ?>','<?php echo $products->getPrice(); ?>'); return false;">
<span><span><?php echo $helper->__('Cancel') ?></span></span>
</button>
</span>
</td>
.
所有产品的phtml代码
<td>
<button id="update_button_<?php echo $products->getId(); ?>" class="button wk_mp_btn1" onclick="updateAllFields('<?php echo $products->getId(); ?>'); return false;" type="button" >
<span><span style="font-size:12px;"><?php echo $helper->__('Update') ?></span></span>
</button>
</td>
.
cod
的脚本function hideResetCod(product_id,codold) {
var qtyId='#cod_'+ product_id;
var currcod='#codcurr_'+ product_id;
var editLink="#cod_edit_link_"+ product_id;
var updateButton="#cod_update_button_"+ product_id;
var valuecod="#valuecod_"+ product_id;
var resetButton="#cod_reset_button_"+ product_id;
$wk_jq(valuecod).show();
$wk_jq(qtyId).val( $wk_jq(currcod).val());
$wk_jq(editLink).show();
}
function updateFieldCod(product_id)
{
var codId = '#cod_'+ product_id;
var currcod='#codcurr_'+ product_id;
var updatedqty = '#updatedcod_'+ product_id;
var url ='<?php echo Mage::getUrl('marketplace/marketplaceaccount/updateFieldCod/')?>';
$cod = $wk_jq(codId).val();
$currcod = $wk_jq(codId).val();
if($cod!=$currcod) {
$wk_jq(currcod).val($cod);
new Ajax.Request(url, {
method: 'post',
parameters: {id: product_id, cod: $cod},
//parameters: {id: product_id, cod: $cod},
onComplete: function (transport) {
//alert(transport.responseText);
jQuery(updatedqty).show().delay(2000).fadeOut();
}
});
}
}
.
脚本更新所有产品Infromation
function updateAllFields(product_id) {
jQuery('#price_reset_button_'+product_id).css('display','none');
if(jQuery("#price_"+product_id).val() != jQuery("#curr_"+product_id).val())
updateFieldPrice(product_id);
if(jQuery("#specialprice_"+product_id).val() != jQuery("#specialcurr_"+product_id).val())
updateFieldSpecialPrice(product_id);
updateField(product_id);
if(jQuery("#cod_"+product_id).val() != jQuery("#codcurr_"+product_id).val())
updateFieldCod(product_id);
updateField(product_id);
}
.
controller.php for cod
public function updateFieldCodAction(){
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$id= $this->getRequest()->getParam('id');
$customerid=Mage::getSingleton('customer/session')->getCustomerId();
$collection_product = Mage::getModel('marketplace/product')->getCollection()->addFieldToFilter('mageproductid',array('eq'=>$id))->addFieldToFilter('userid',array('eq'=>$customerid));
try{
$upd_cod = $this->getRequest()->getParam('cod');
$product = Mage::getModel('catalog/product')->load($id);
$product->setData('cod_available',$upd_cod);
$product->getResource()->saveAttribute($product,'cod_available');
// $product->setCod($upd_cod);
$product->save();
echo $cod = $product->getCod();
echo $name = $product->getName();
$response['message'] = 'Your Product Is Been Sucessfully Updated';
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
}catch(Exception $e){
echo "Not Saving"; exit;
Mage::log($e->getMessage());
}
}
.
controller.php所有产品信息
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');
$cod= $this->getRequest()->getParam('cod');
foreach ($ids as $key => $value) {
$product = Mage::getModel('catalog/product')->load($value);
$product->setPrice($price[$key]);
$product->setSpecialPrice($special[$key]);
$product->setQty($qty[$key]);
$product->setCodAvailable($cod[$key]);
$product->save();
}
Mage::getSingleton('core/session')->addSuccess( Mage::helper('marketplace')->__('Products has been sucessfully deleted from your account'));
$this->_redirect('marketplace/marketplaceaccount/myproductslist/');
}}
. 解决方案
function hideResetCod(product_id,codold) {
var qtyId='#cod_'+ product_id;
var currcod='#codcurr_'+ product_id;
var editLink="#cod_edit_link_"+ product_id;
var updateButton="#cod_update_button_"+ product_id;
var valuecod="#valuecod_"+ product_id;
var resetButton="#cod_reset_button_"+ product_id;
$wk_jq(valuecod).show();
$wk_jq(qtyId).val( $wk_jq(currcod).val());
$wk_jq(editLink).show();
}
function updateFieldCod(product_id)
{
var codId = '#cod_'+ product_id;
var currcod='#codcurr_'+ product_id;
var updatedqty = '#updatedcod_'+ product_id;
var url ='<?php echo Mage::getUrl('marketplace/marketplaceaccount/updateFieldCod/')?>';
$cod = $wk_jq(codId).val();
$currcod = $wk_jq(codId).val();
if($cod!=$currcod) {
$wk_jq(currcod).val($cod);
new Ajax.Request(url, {
method: 'post',
parameters: {id: product_id, cod: $cod},
//parameters: {id: product_id, cod: $cod},
onComplete: function (transport) {
//alert(transport.responseText);
jQuery(updatedqty).show().delay(2000).fadeOut();
}
});
}
}
.