Как получить десятичное значение веса в мини-корзине?


Как получить десятичное значение веса в mini cart. Мне нужно отображать только 2 десятичные дроби 11.00 вместо 11.0000

enter image description here

enter image description here

enter image description here

Author: trilok kumar, 2018-10-15

3 answers

Для этого вам нужно добавить одну пользовательскую функцию и передать значение точности и значение веса . Добавьте этот код ниже в свой html-файл:

<strong class="product-item-Weight">
<!-- ko if: weight -->
    <div class="Approx-Weight" data-bind="html: 'Approx Weight : ' + getWeight(2,weight * qty) ">
    </div>
<!-- /ko -->
</strong>

Теперь создайте функцию getWeight() в своем файле нокаута внутри компонента. расширьте :

getWeight : function(precision,WeightValue){
    var self = this;
    return WeightValue / Math.pow(10, self.precision());
},

Теперь обновите свой html-файл и js-файл нокаута и проверьте его.

Надеюсь, это может быть полезно для вас.

 2
Author: Rohan Hapani, 2018-10-15 09:17:32

Вы можете использовать number_format подобную функцию в файле шаблона мини-карты -

number_format($weight, 2, '.', '');
 1
Author: Shashank Kumrawat, 2018-10-15 07:34:02

JS:

var value = 11.0000;
var result = value.toFixed(2); 
alert(result); // 11.00

PHP:

$value  = "11.0000";
$result = bcadd($value , 0, 2);

echo $result ; // 11.00

Обновление:

Вы можете создать блок, поместить свой js внутрь, а затем связать этот блок в своем knockoutjs

1. <?php $jsBlock = echo $this->getLayout()->createBlock("Magento\Framework\View\Element\Template")->setTemplate("html/custom.phtml")->toHtml(); ?>

<script type="text/javascript">
    var js_block = <?php echo json_encode($jsBlock)?>;
</script>
2. web/template/somename.html
<div class="name-class" data-bind="html:js_block"></div> 

3. custom.phtml 
<script type="text/javascript">
    var value = 11.0000;
    var result = value.toFixed(2); 
    alert(result); // 11.00
</script>

Обновление 2:

  1. App/design/frontend/{Vendor}/{theme}/Magento_Checkout/view/frontend/templates/cart/minicart.phtml

    <?php $jsBlock = echo $this->getLayout()->createBlock("Magento\Framework\View\Element\Template")->setTemplate("html/custom.phtml")->toHtml(); ?>
    
    <script type="text/javascript">
        var js_block = <?php echo json_encode($jsBlock)?>;
    </script>
    
  2. Web/template/somename.html

    <div class="name-class" data-bind="html:js_block"></div> 
    
 1
Author: PЯINCƏ, 2018-10-15 09:25:00