Jump to content
Sign in to follow this  
Yano4ka

[Решено?..] цена "договорная"

Recommended Posts

Посоветуйте, пожалуйста, как вместо "цена ДОГОВОРНАЯ", которая после добавления в currency.php:

 

if ($format && (float)$value == 0) {
return 'Цена ДОГОВОРНАЯ';
 }
 
 
появилась и в пустой корзине, и в доставке "самовывоз", вернуть им изначальное значение 0,00 руб., при этом что бы изменения не коснулись продукции?
 
Спасибо.

Share this post


Link to post
Share on other sites

С корзиной почти решила: изменила файл в контролере cart.php

 

if ($this->currency->format($total) == 0) {
            $totalzero = '0.00 руб.';
            } else {
            $totalzero = $this->currency->format($total);
            }
 

$this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $totalzero );
 
 
работать работает, но если добавить товар с договорной ценой, то сначала показывает "цена договорная", а потом снова обнуляет, если на корзине стрелочку вниз нажать. Не критично, конечно, но была бы признательна, если подскажете, как подправить.
 
 
для доставки "самовывоз" вопрос по-прежнему актуальный.
Edited by AlexFisher
code

Share this post


Link to post
Share on other sites

"стрелочка вниз на корзине" - это в шапке которая?

Тогда вам в модуль корзины и в common.js

Share this post


Link to post
Share on other sites

"стрелочка вниз на корзине" - это в шапке которая?

Тогда вам в модуль корзины и в common.js

 

Да. Спасибо!

 

Доставку тоже нашла, где исправить.

 

Но тут другой вопрос в связи с изменениями вылез:

 

Если положить в корзину товар с ценой "по запросу" (*изменила с "договорной"), то выпадает такая ошибка:

 

Warning: Invalid argument supplied for foreach() in /*/**/*.*/docs/catalog/model/total/paymentmethoddiscounts.php on line 20

 

а в 20й строке блок начинается:

foreach($discounts as $discount){

if ($discount['paymentmethod']==$this->session->data['payment_method']['code']) {
$this->load->language('total/paymentmethoddiscounts');

$number=0;

if($discount['znak']){
if($discount['mode']) $number = -$total*$discount['number']/100; // -%
else  $number = -$discount['number']; // -ed
}else{
if($discount['mode']) $number =  $total*$discount['number']/100; // +%
else  $number =  $discount['number']; // +ed 
}

$total_data[] = array( 
'code'       => 'paymentmethoddiscounts',
'title'      => ($discount['znak']?$this->language->get('text_skidka'):$this->language->get('text_nacenka')).sprintf($this->language->get('text_paymentmethoddiscounts'), $payment_method),
'text'       => $this->currency->format($number),
'value'      => $number,
'sort_order' => $this->config->get('paymentmethoddiscounts_sort_order')
);
//print_r($total_data);
if ($discount['tax_class_id']) {
$tax_rates = $this->tax->getRates($number, $discount['tax_class_id']);

foreach ($tax_rates as $tax_rate) {
if (!isset($taxes[$tax_rate['tax_rate_id']])) {
$taxes[$tax_rate['tax_rate_id']] = $tax_rate['amount'];
} else {
$taxes[$tax_rate['tax_rate_id']] += $tax_rate['amount'];
}
}
}

$total += $number;
}

}

Можете ли помочь поправить ошибку?

Share this post


Link to post
Share on other sites

$discounts - не массив.

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

В catalog/model/total/paymentmethoddiscounts.php перед 

foreach($discounts as $discount){

добавьте следующее:

if ((!isset($discounts)) || (!is_array($discounts))) {
    $discounts = array();
}

Share this post


Link to post
Share on other sites

 

$discounts - не массив.

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

В catalog/model/total/paymentmethoddiscounts.php перед 

foreach($discounts as $discount){

добавьте следующее:

if ((!isset($discounts)) || (!is_array($discounts))) {
    $discounts = array();
}

 

 

СПАСИБО ОГРОМНОЕ!!! ПОМОГЛО!

Share this post


Link to post
Share on other sites

"стрелочка вниз на корзине" - это в шапке которая?

Тогда вам в модуль корзины и в common.js

 

не смогла разобраться :(

 

Я так думаю, что в cart.php условие нужно как-то сформулировать, где если цена и количество = 0, то тогда  $totalzero = '0.00 руб.'

 

 if ($this->currency->format($total) == 0) {

            $totalzero = '0.00 руб.';

            } else {

            $totalzero = $this->currency->format($total);

            }

Share this post


Link to post
Share on other sites

Это типа мы не ищем легких путей?

Предлагаю теперь еще все баги этого кривого пути исправлять налету, в response.php

 

 

p.s. верните все как было, и просто в catalog/controller/catalog/product.php или даже в catalog/view/catalog/product.tpl пропишите свое "по запросу"

Share this post


Link to post
Share on other sites

Это типа мы не ищем легких путей?

Предлагаю теперь еще все баги этого кривого пути исправлять налету, в response.php

 

 

p.s. верните все как было, и просто в catalog/controller/catalog/product.php или даже в catalog/view/catalog/product.tpl пропишите свое "по запросу"

 

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

Сейчас все функционирует так как хотела. В счете и в корзине появляется цена по запросу. В каталоге тоже. 

 

Единственный баг это только со стрелочкой в корзине, которая в шапке. В принципе ни на что это не влияет, кроме как на мой душевный комфорт, что не все идеально смотрится, как хотелось бы. В аллегории, это как пыль на очень высоком шкафу... видеть видишь, а достать и вытереть не можешь :)

 

 

з.ы.: не судите строго, "копаю", как могу :) 

для семьи делаю магазинчик сама просто потому, что заказать на стартапе не имею возможности, а программирование это не мой "конёк".

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.