Задать вопрос
@Alpha12

Как убрать лишние нули в цене, опенкарт 2?

Добрый день, я вывожу опции товаров в категории
вот таким кодом
category.php

// Function Products Options in category

	$options = array();

			foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) {
				$product_option_value_data = array();

				foreach ($option['product_option_value'] as $option_value) {
					if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
						if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) {
							$opt_price = $this->currency->format($this->tax->calculate($option_value['price'], $result['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']);
						} else {
							$opt_price = false;
						}

						$product_option_value_data[] = array(
							'product_option_value_id' => $option_value['product_option_value_id'],
							'option_value_id'         => $option_value['option_value_id'],
							'name'                    => $option_value['name'],
							'image'                   => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '',
							'price'                   => $opt_price,
							'price_prefix'            => $option_value['price_prefix']
						);
					}
				}

				$options= array(
					'product_option_id'    => $option['product_option_id'],
					'product_option_value' => $product_option_value_data,
					'option_id'            => $option['option_id'],
					'name'                 => $option['name'],
					'type'                 => $option['type'],
					'value'                => $option['value'],
					'required'             => $option['required']
				);
			}


// END Function



В масив
$data['products'][] = array(
Пишу
'options'   => $this->model_catalog_product->getProductOptions($result['product_id']), // Add option to $result products.


В фронте вывожу так
category.tpl

<?php if ($product['options']) { ?>
  <?php $i= 0; ?>
<?php foreach ($product['options'] as $option) { ?>

   <?php if ($option['type'] == 'radio') { ?>
            <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
             
              <div id="input-option<?php echo $option['product_option_id']; ?>">
                <?php foreach ($option['product_option_value'] as $option_value) { ?>
                <?php $i++;?>

                <div class="radio">
                  <label>
                  <?php if($i== 1) {?>
                    <input checked type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
                    <?php } else {?>
                                          <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />

                      <?php } ?>
                    <?php if ($option_value['image']) { ?>
                    <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> 
                    <?php } ?>                    
                    <?php echo $option_value['name']; ?>
                    <?php if ($option_value['price']) { ?>
                    (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                    <?php } ?>
                  </label>
                </div>
                <?php } ?>
              </div>
            </div>
            <?php } ?>
<?php } ?>
<?php } ?>



И тут проблема оно мне цену выводит в таком формате
Large (+30.0000)

Что мне делать ... Все сделал по аналогии с файлом карточки, там цена нормально выводится.
Сайт
https://www.pizzaritta.ru/
  • Вопрос задан
  • 411 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
IceRD
@IceRD
Специально для вас придумали метод $this->currency->format с учетом налогов $this->tax->calculate, чтобы пользователь не лазил в код, а устанавливал кол-во символов после запятой из админки.
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы