Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Доступ к ценам


chukcha

Recommended Posts

ocstore 1.5.5.1.1

 

/catalog/controller/product/category.php и... наверное во всех других контроллерах...

                if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                    $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
                } else {
                    $price = false;
                }
                
                if ((float)$result['special']) {
                    $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
                } else {
                    $special = false;
                }    
                
                if ($this->config->get('config_tax')) {
                    $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
                } else {
                    $tax = false;
                }                

Обратите внимание

special доступно всегда!

Как мне кажется такой код более корректен.

				if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
					$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
					if ((float)$result['special']) {
						$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
					} else {
						$special = false;
					}	
					if ($this->config->get('config_tax')) {
						$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
					} else {
						$tax = false;
					}				

				} else {
					$price = false;
					$tax = false;
					$special = false;
				}

Надіслати
Поділитися на інших сайтах

Ну... так это ж несерьезно...

Надо отделить мух от котлет, это ж все таки MVC

 

А то получается, что весь код завязан на стандартном шаблоне.

Может по какой-то задумке мне special (или price-old)  нужно вынести в другой контейнер.. а я ограничен контейнером "price"

Надіслати
Поділитися на інших сайтах

Не, мил человек именно контейнером, в том числе

     <?php if ($product['price']) { ?>
      <div class="price">
        <?php if (!$product['special']) { ?>
        <?php echo $product['price']; ?>
        <?php } else { ?>
        <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
        <?php } ?>
        <?php if ($product['tax']) { ?>
        <br />
        <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
        <?php } ?>
      </div>
Надіслати
Поділитися на інших сайтах

<?php if ($product['price']) { ?>

<div class="price">

<?php if (!$product['special']) { ?>

<?php echo $product['price']; ?>

<?php } else { ?>

<span class="price-old"><?php echo $product['price']; ?></span>

<?php } ?>

...

</div>

<?php } ?>

<?php /* ... куча другой инфы ... */ ?>

<?php if ($product['price']) { ?>

<?php if ($product['special']) { ?>

<span class="price-new"><?php echo $product['special']; ?></span>

<?php } ?>

<?php } ?>

<?php echo $footer; ?>

Надіслати
Поділитися на інших сайтах

:)

Такое решение я и сам могу.

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

Ведь по сути special зависит от "разрешения" вывода цен, а не от несуществующей цены.

 

Допустим price = 0, а special  существует...

Надіслати
Поділитися на інших сайтах

>> Ведь по сути special зависит от "разрешения" вывода цен, а не от несуществующей цены.

:? 

>> Допустим price = 0, а special  существует...

это уже проблемы поставщиков/владельцев_магазинов/менеджеров/способа_добавления-обновления_товаров/итпд.

Надіслати
Поділитися на інших сайтах

Ну причем здесь поставщик и владельцы, которые не знают внутренней логики.

 

"Взула и забула"  - принцип OC.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.