Произвольный текст в поле с разницей в цене на карточке товара со знаком "-"
- Vasja
- Автор темы
- Не в сети
- Новый участник
Less
Больше
- Сообщений: 4
- Спасибо получено: 0
11 года 6 мес. назад - 11 года 6 мес. назад #5643
от Vasja
Vasja создал тему: Произвольный текст в поле с разницей в цене на карточке товара со знаком "-"
Hello W0r1d У меня назрел вопрос и очень надеюсь на отзывчивость...
/language/overrides/en-GB.override.ini у меня переменная COM_VIRTUEMART_CART_PRICE_FREE="* Keine zusätzlichen Gebühren", что преводится как "Без доплаты" НО, хотелось бы чтобы это поле до того как на него нажать имело вид "выбирите размер" и было просто информационным, при условии что размеров несколько, но если один, то автоматически был бы уже выбранным. Если такое возможно, например как тут:
Но это второй попрос... А основной ниже:
Я посмотрел в админке, в дополницельных ценовых полях и всё стало ясно. Там где разница по цене в плюсе, там разработчики придумали функцию выводящую "+" к которой я добавил произвольный текст.
А там где разница по цене в минус, то знак "-" берётся из ценового поля вместе с ценой. Вот скрин:
И так это выглядит на сайте:
Проблема в том, что они решили вводить разницу в цене именно таким образом, путём ввода разницы от основной цены либо в + либо в -...
Вопрос: как придумать чтобы в это поле (там где разница прописана со знаком "-") выводился произвольный текст перед ценой?
/language/overrides/en-GB.override.ini у меня переменная COM_VIRTUEMART_CART_PRICE_FREE="* Keine zusätzlichen Gebühren", что преводится как "Без доплаты" НО, хотелось бы чтобы это поле до того как на него нажать имело вид "выбирите размер" и было просто информационным, при условии что размеров несколько, но если один, то автоматически был бы уже выбранным. Если такое возможно, например как тут:
Но это второй попрос... А основной ниже:
Я посмотрел в админке, в дополницельных ценовых полях и всё стало ясно. Там где разница по цене в плюсе, там разработчики придумали функцию выводящую "+" к которой я добавил произвольный текст.
Code:
static function _getCustomPrice($customPrice, $currency, $calculator) {
if ((float)$customPrice) {
$price = strip_tags ($currency->priceDisplay ($calculator->calculateCustomPriceWithTax ($customPrice)));
if ($customPrice >0) {
$price ="* der Preis ist Mehr: +".$price;
}
}
else {
$price = ($customPrice === '')? '' : JText::_ ('COM_VIRTUEMART_CART_PRICE_FREE');
}
return $price;
}
А там где разница по цене в минус, то знак "-" берётся из ценового поля вместе с ценой. Вот скрин:
И так это выглядит на сайте:
Проблема в том, что они решили вводить разницу в цене именно таким образом, путём ввода разницы от основной цены либо в + либо в -...
Вопрос: как придумать чтобы в это поле (там где разница прописана со знаком "-") выводился произвольный текст перед ценой?
Последнее редактирование: 11 года 6 мес. назад пользователем Vasja.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
Less
Больше
- Сообщений: 2868
- Спасибо получено: 659
11 года 6 мес. назад #5647
от Wedal
Wedal ответил в теме Произвольный текст в поле с разницей в цене на карточке товара со знаком "-"
Vasja, по вашему основному вопросу:
попробуйте сделать код таким:
Хотя все это невероятно криво. Я вообще не уверен, что после этого товар будет нормально добавляться в корзину.
попробуйте сделать код таким:
Code:
static function _getCustomPrice($customPrice, $currency, $calculator) {
if ((float)$customPrice) {
$price = strip_tags ($currency->priceDisplay ($calculator->calculateCustomPriceWithTax ($customPrice)));
if ($customPrice >0) {
$price ="* der Preis ist Mehr: +".$price;
}
else{
$price ="* text2: -".$price;}
}
else {
$price = ($customPrice === '')? '' : JText::_ ('COM_VIRTUEMART_CART_PRICE_FREE');
}
return $price;
}
Спасибо сказали: Vasja
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Vasja
- Автор темы
- Не в сети
- Новый участник
Less
Больше
- Сообщений: 4
- Спасибо получено: 0
11 года 6 мес. назад - 11 года 6 мес. назад #5649
от Vasja
Vasja ответил в теме Произвольный текст в поле с разницей в цене на карточке товара со знаком "-"
Спасибо огромное, это сработало правильно! В корзину заказ идёт правильно.
Донастроил практически всё, остался один нюанс ) Представьте себе ситуацию:
1 Была у товара основная цена.
2 Путём добавления функций в "Налоги и правила расчета" вы выводите в поле "Окончательная цена" нужную вам сумму и она меньше основной цены.
3 Основная цена перечёркивается и это выглядит как скидка.
4 Вы хотите добавить фактическую цену со скидкой/временную скидку через поле "Override" на скрине это фактическая цена со скидкой.
5 Включаете вывод цены на сайт и у вас теперь две цены без описания. Покупатель запутается...
Вопрос: как сделать так, чтобы при добавлении временной скидки, сумма из поля "Окончательная цена" тоже выводилось зачёркнутым? Только при этом условии!
Донастроил практически всё, остался один нюанс ) Представьте себе ситуацию:
1 Была у товара основная цена.
2 Путём добавления функций в "Налоги и правила расчета" вы выводите в поле "Окончательная цена" нужную вам сумму и она меньше основной цены.
3 Основная цена перечёркивается и это выглядит как скидка.
4 Вы хотите добавить фактическую цену со скидкой/временную скидку через поле "Override" на скрине это фактическая цена со скидкой.
5 Включаете вывод цены на сайт и у вас теперь две цены без описания. Покупатель запутается...
Вопрос: как сделать так, чтобы при добавлении временной скидки, сумма из поля "Окончательная цена" тоже выводилось зачёркнутым? Только при этом условии!
Последнее редактирование: 11 года 6 мес. назад пользователем Vasja.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
Less
Больше
- Сообщений: 2868
- Спасибо получено: 659
11 года 6 мес. назад #5658
от Wedal
Wedal ответил в теме Произвольный текст в поле с разницей в цене на карточке товара со знаком "-"
Vasja, нужно добавить для каждого типа цены свой CSS-класс. Далее через CSS оформить так, как нужно.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.