2013-04-09 3 views
2

Я играл с шаблоном по умолчанию и пытался изменить некоторые его функции. На моей странице продукта (каталог/просмотр/тема/mytheme/template/product/product.tpl) я хочу отобразить цену после того, как была применена скидка, в зависимости от моей группы клиентов.OpenCart - Показать цену после Скидка

Я знаю, что я не использую самое лучшее решение, чтобы запросить мою группу пользователей, так как я жестко закодированную информацию, но вот как выглядит:

<?php 
    $customer_group_id = $this->customer->getCustomerGroupId(); 

    if (is_null($customer_group_id)) 
    { 
     // not logged in 
     // show full price 
     echo $price; 
    } 
    else 
    { 
     if ($customer_group_id == "1") 
     { 
      // customer group used with full price 
      echo $price; 
     } 
     else 
     { 
      // customer group with discount 
      # ????????????????????????????? 
     } 
    } 
?> 

Я хотел бы знать, как отображать цену с скидка предоставляется пользователю. В моих продуктах, на вкладке «Дисконт», я поступил скидку для моей желаемой группы клиентов со следующими данными:

Quantity : 0 
Priority : 0 
Price : 5.00 
Date Start : 2000-01-01 
Date End : 2050-12-31 

На вкладке «Данные», моя цена установлена ​​на «7.00».

Я пробовал несколько бит кода, но ни один из них не показывает код скидки. Тем не менее, у меня есть полная цена, если мой пользователь не вошел в систему или не зарегистрировался как пользователь в другой группе пользователей.

Любые предложения?

ответ

3

Возможно Вы путаете с скидкой и специальной цена ... Скидка понимается как продажа, если вы покупаете больше деталей, позволяет сказать, что базовая цена составляет $ 35, но Вы хотите, чтобы дать клиентам если они купят более 10 штук одновременно, скажем, 30 долларов и 20 долларов, если они купят более 25 предметов одновременно, а 10 долларов США, если они купят более 100 штук одновременно.

Тогда Вы должны установить скидку (ы), как это:

Customer Group | Quantity | Priority | Price | Start | End 
pick one  | 10  | 1  | 35 |  | 
pick one  | 25  | 2  | 20 |  | 
pick one  | 100  | 3  | 10 |  | 

Эти скидки затем будут применимы только для зарегистрированных в клиентов, которые от желаемой группы клиентов.

Значение, которое вы хотите установить, это Special - и, опять же, специальная цена будет немедленно доступна зарегистрированному клиенту из желаемой группы клиентов - поэтому не требуется проверка для группы клиентов ... Для получения дополнительной информации проверьте SQL-запрос в методе getProduct() (или getProducts()) в классе catalog/model/catalog/product.php - скидки и специальные предложения уже объединены и выбраны в отношении группы клиентов, зарегистрированной в клиенте.

Просто оставьте его, как это было:

<div class="price"><?php echo $text_price; ?> 
    <?php if (!$special) { ?> 
    <?php echo $price; ?> 
    <?php } else { ?> 
    <span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span> 
    <?php } ?> 
... 

Если Вам необходимо изменить порядок (по специальной цене первой), измените соответствующую строку

<span class="price-new"><?php echo $special; ?></span> <span class="price-old"><?php echo $price; ?></span> 
+1

Привет, спасибо за ответ. Я использовал смесь обеих наших строк, которые пришли с желаемым результатом - я в основном отгонял $ special для своего второго, который отлично работал. Благодарим за отличия b/w двух вариантов ценообразования. – davewoodhall

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