2016-01-20 2 views
1

Мы используем сайт с множеством поставщиков magento, где продавцы могут продавать продукты через сайт.Количество отображаемых количеств внутри текстового поля

мы показываем цена в веб-интерфейсе, используя следующий код:

PHTML

<input onFocus="showPriceCancel('<?php echo $products->getId(); ?>');" class="ama1" type = "text" id = "price_<?php echo $products->getId(); ?>" onkeydown="validateNumbers(event)" name= "price[]" value = "<?php echo $products->getPrice(); ?>" style = ""/> 

<input type="hidden" name="curr_<?php echo $products->getId(); ?>" id="curr_<?php echo $products->getId(); ?>" value="<?php echo $products->getPrice(); ?>" /> 

<p id="updatedprice_<?php echo $products->getId(); ?>" style = "display:none;color:red; position:relative; top:16px;">Updated</p> 
<br/> 


<button style="display:none;" id="price_reset_button_<?php echo $products->getId(); ?>" type="reset" class="cancel" onclick="hideResetPrice('<?php echo $products->getId(); ?>','<?php echo $products->getPrice(); ?>'); return false;"> 
<span><span><?php echo $helper->__('Cancel') ?></span></span> 
</button> 

</span> 

сценарий

function showPriceCancel(p) { 
       jQuery('#price_reset_button_'+p).css('display','block'); 

     }; 

function hideResetPrice(product_id,priceold) { 

var qtyId='#price_'+ product_id; 
var currprice='#curr_'+ product_id; 
var editLink="#price_edit_link_"+ product_id; 
var updateButton="#price_update_button_"+ product_id; 
var valueprice="#valueprice_"+ product_id; 
var resetButton="#price_reset_button_"+ product_id; 


$wk_jq(valueprice).show(); 
$wk_jq(qtyId).val($wk_jq(currprice).val()); 
$wk_jq(editLink).show(); 

} 



function showFieldPrice(product_id) 
     { 

      var qtyId='#price_'+ product_id; 

      var editLink="#price_edit_link_"+ product_id; 
      var valueprice="#valueprice_"+ product_id; 
      var updateButton="#price_update_button_"+ product_id; 
      var resetButton="#price_reset_button_"+ product_id; 

      $wk_jq(qtyId).show(); 
      $wk_jq(valueprice).hide(); 

      $wk_jq(editLink).hide(); 
      $wk_jq(updateButton).show(); 
      $wk_jq(updateButton).prop('disabled', false);//just in case 
      $wk_jq(resetButton).show(); 

      return false; 


     } 


function updateFieldPrice(product_id) 
{ 
var priceId = '#price_'+ product_id; 
var currprice='#curr_'+ product_id; 
var updatedqty = '#updatedprice_'+ product_id; 
var url ='<?php echo Mage::getUrl('marketplace/marketplaceaccount/updateFieldPrice/')?>'; 
$price = $wk_jq(priceId).val(); 
$wk_jq(currprice).val($price); 
new Ajax.Request(url, { 
method: 'post', 
parameters: {id: product_id, price: $price}, 
onComplete: function (transport) { 
//alert(transport.responseText); 

jQuery(updatedqty).show().delay(2000).fadeOut(); 

} 
}); 
} 

Его отображения, как это: enter image description here

Таким же образом, мы используем следующий код для отображения количество.

PHTML

<span id="valueqty_<?php echo $products->getId(); ?>"><?php echo (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($products)->getQty(); ?></span> 
    <input type = "text" id = "qty_<?php echo $products->getId(); ?>" onkeydown="validateNumbers(event)" "name = "qty" value = "<?php echo (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($products)->getQty(); ?>" style = "display:none"/> 

<span class="label wk_action" id="edit_link_<?php echo $products->getId(); ?>"> 
     <img onclick="showField('<?php echo $products->getId(); ?>'); return false;" src="<?php echo $this->getSkinUrl('marketplace/images/icon-edit.png'); ?>"/> 
    </span> 
<p id="updatedqty_<?php echo $products->getId(); ?>" style = "display:none;color:red;">Updated</p> 
    <br/> 
    <button id="update_button_<?php echo $products->getId(); ?>" class="button wk_mp_btn1" onclick="updateField('<?php echo $products->getId(); ?>'); return false;" style="display:none" > 
     <span><span style="font-size:12px;"><?php echo $helper->__('Update') ?></span></span> 
    </button> 

    <button id="reset_button_<?php echo $products->getId(); ?>" type="reset" class="cancel" onclick="hideReset('<?php echo $products->getId(); ?>'); return false;" style="display:none" > 
     <span><span><?php echo $helper->__('Cancel') ?></span></span> 
    </button> 

Script

function hideReset(product_id) { 

      var qtyId='#qty_'+ product_id; 
      var editLink="#edit_link_"+ product_id; 
      var updateButton="#update_button_"+ product_id; 
      var resetButton="#reset_button_"+ product_id; 

      $wk_jq(qtyId).hide(); 
      $wk_jq(editLink).show(); 
      $wk_jq(updateButton).hide(); 
      $wk_jq(resetButton).hide(); 
     } 
     function showField(product_id) 
     { 

      var qtyId='#qty_'+ product_id; 

      var editLink="#edit_link_"+ product_id; 
      var updateButton="#update_button_"+ product_id; 
      var resetButton="#reset_button_"+ product_id; 

      $wk_jq(qtyId).show(); 

      $wk_jq(editLink).hide(); 
      $wk_jq(updateButton).show(); 
      $wk_jq(updateButton).prop('disabled', false);//just in case 
      $wk_jq(resetButton).show(); 

      return false; 


     } 
     function updateField(product_id) 
     { 
      var qtyId = '#qty_'+ product_id; 
      var valueId = '#valueqty_'+ product_id; 
      var updatedqty = '#updatedqty_'+ product_id; 


      var editLink = "#edit_link_"+ product_id; 
      var updateButton = "#update_button_"+ product_id; 
      var resetButton = "#reset_button"+ product_id; 
     var url ='<?php echo Mage::getUrl('marketplace/marketplaceaccount/updateField/')?>'; 

      $wk_jq(qtyId).toggle() 

      $wk_jq(editLink).hide(); 
      $wk_jq(updateButton).show(); 
      $wk_jq(resetButton).show(); 

      $qty = $wk_jq(qtyId).val(); 
      jQuery(valueId).html($qty); 
      hideReset(product_id); 

      new Ajax.Request(url, { 
       method: 'post', 
       parameters: {id: product_id, qty: $qty}, 
       onComplete: function (transport) { 
        //alert(transport.responseText); 


        jQuery(updatedqty).show().delay(2000).fadeOut(); 

        $updateButton.prop('disabled', false); 

        $wk_jq(qtyId).setValue($qty); 



       } 
      }); 
     } 

величина отображения так: enter image description here

я хочу, чтобы отобразить Quanity, как, как цена, я хочу, чтобы количество, как текстовое поле и удалить кнопку редактирования.

ответ

1

С этой разметкой в ​​вашем втором Phtml фрагмента:

<input type = "text" id = "qty_<?php echo $products->getId(); ?>" onkeydown="validateNumbers(event)" name = "qty" value = "<?php echo (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($products)->getQty(); ?>" style = "display:none"/> 

удалить style = "display:none". Также удалите <span> с изображением 'edit'.

Так сниппет будет выглядеть следующим образом:

<input type="text" id="qty_<?php echo $products->getId(); ?>" onkeydown="validateNumbers(event)" name = "qty " value = "<?php echo (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($products)->getQty(); ?>"/> 

<p id="updatedqty_<?php echo $products->getId(); ?>" style="display:none;color:red;">Updated</p> 
<br/> 

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

<button id="reset_button_<?php echo $products->getId(); ?>" type="reset" class="cancel" onclick="hideReset('<?php echo $products->getId(); ?>'); return false;" style="display:none"> 
    <span><span><?php echo $helper->__('Cancel') ?></span></span> 
</button> 
+0

я попробовал этот код: http://pastebin.com/05dLUNKy, но столкнулись с некоторыми вопрос, как http://prntscr.com/9sq0oq – fresher

+0

код вниз, что url такой же, как в вашем вопросе. Я думаю, вам стоит попробовать что-то еще, например. мое решение. –

+0

извините, прежде чем я отправил неправильный код, теперь я разместил правильный код здесь http://pastebin.com/QkWsa1r0 теперь его отображение: http://prntscr.com/9stu0c значения отображаются как внутри, так и внутри вне текстового поля. пожалуйста, помогите мне удалить значение количества вне поля текста – fresher

Смежные вопросы