Перейти к содержанию
IVANLVOVICH

[Решено] Прошу помочь, как установить текст, вместо цены 0.00

Рекомендуемые сообщения

Доброго времени суток всем!

 

Прошу помочь, как установить текст (например Звоните), вместо цены 0.00 

 

Версия магазина ocStore 2.3.0.2

 

Уже пробовал вот так в файле system/library/cart/currency.php:

 

$string = '';
if ((float)$value == 0 && ($format)) {
return 'Звоните';
}

 

Не работает, что не так...

 

Заранее благодарен!

Изменено пользователем IVANLVOVICH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго времени суток всем!

 

Прошу помочь, как установить текст (например Звоните), вместо цены 0.00 

 

Версия магазина ocStore 2.3.0.2

 

Уже пробовал вот так в файле system/library/cart/currency.php:

 

$string = '';
if ((float)$value == 0 && ($format)) {
return 'Звоните';
}

 

Не работает, что не так...

 

Заранее благодарен!

Для начала выведите $value через var_dump и посмотрите что там у меня есть сомнения насчет того что там знечение равно просто 0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А с какой радости вы решили, что $value - это цена товара?

$value - это курс! Цена - это $number.

 

И зачем скобки вокруг $format?

 

Должно быть так:

if ((float)$number == 0 && $format) {
    return 'Звоните';
}

Но я очень рекомендую не вписывать сюда никакие тексты, а добавить эту строку в базовый языковой файл и выводить так:


if ((float)$number == 0 && $format) {
    return $this->language->get('text_call');
}

Где text_call - название переменной из /catalog/language/ru-ru/ru-ru.php.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А с какой радости вы решили, что $value - это цена товара?

$value - это курс! Цена - это $number.

 

И зачем скобки вокруг $format?

 

Должно быть так:

if ((float)$number == 0 && $format) {
    return 'Звоните';
}

Но я очень рекомендую не вписывать сюда никакие тексты, а добавить эту строку в базовый языковой файл и выводить так:


if ((float)$number == 0 && $format) {
    return $this->language->get('text_call');
}

Где text_call - название переменной из /catalog/language/ru-ru/ru-ru.php.

 

Ну что сказать, громадное Вам спасибо. Все сделал как сказали, работает.  :eek:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 12.01.2017 в 00:49, Dotrox сказал:

Но я очень рекомендую не вписывать сюда никакие тексты, а добавить эту строку в базовый языковой файл и выводить так:



if ((float)$number == 0 && $format) {
    return $this->language->get('text_call');
}

Где text_call - название переменной из /catalog/language/ru-ru/ru-ru.php.

А подскажите базовый языковой файл это какой?

 

Разобрался, все заработало, спасибо большое

Изменено пользователем bakser101

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, bakser101 сказал:

А подскажите базовый языковой файл это какой?

Он указан в том тексте, который вы процитировали.

Если у вас такого файла нет, тогда вместо ru-ru везде - russian (это пример для русского, в других языках соответственно языку).

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 12.01.2017 в 01:49, Dotrox сказал:

А с какой радости вы решили, что $value - это цена товара?

$value - это курс! Цена - это $number.

 

И зачем скобки вокруг $format?

 

Должно быть так:


if ((float)$number == 0 && $format) {
    return 'Звоните';
}

Но я очень рекомендую не вписывать сюда никакие тексты, а добавить эту строку в базовый языковой файл и выводить так:



if ((float)$number == 0 && $format) {
    return $this->language->get('text_call');
}

Где text_call - название переменной из /catalog/language/ru-ru/ru-ru.php.

если установлен модификатор auco calc price, то в карточке товара на секунду появляется надпись и меняется на 0. В остальных местах все норм.

 

Может знаете как поправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, kamar87 сказал:

модификатор auco calc price

вы думаете все обязаны знать этот мод?  ссылку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 часов назад, kamar87 сказал:

если установлен модификатор auco calc price, то в карточке товара на секунду появляется надпись и меняется на 0. В остальных местах все норм.

 

Может знаете как поправить?

Найдите в модуле строку:

price_text = s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right;

После неё вставьте код:
 

if (n == 0) price_text = 'Звоните';

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

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 часов назад, mpn2005 сказал:

Найдите в модуле строку:


price_text = s_left + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : '') + s_right;

После неё вставьте код:
 


if (n == 0) price_text = 'Звоните';

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

огромное Вам спасибо, работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.