Произвольный текст в поле с разницей в цене на карточке товара со знаком "-"

4 года 6 мес. назад - 4 года 6 мес. назад #5643 от Vasja
Hello W0r1d :) У меня назрел вопрос и очень надеюсь на отзывчивость...

/language/overrides/en-GB.override.ini у меня переменная COM_VIRTUEMART_CART_PRICE_FREE="* Keine zusätzlichen Gebühren", что преводится как "Без доплаты" НО, хотелось бы чтобы это поле до того как на него нажать имело вид "выбирите размер" и было просто информационным, при условии что размеров несколько, но если один, то автоматически был бы уже выбранным. Если такое возможно, например как тут:



Но это второй попрос... А основной ниже:

Я посмотрел в админке, в дополницельных ценовых полях и всё стало ясно. Там где разница по цене в плюсе, там разработчики придумали функцию выводящую "+" к которой я добавил произвольный текст.
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;
	}

А там где разница по цене в минус, то знак "-" берётся из ценового поля вместе с ценой. Вот скрин:


И так это выглядит на сайте:


Проблема в том, что они решили вводить разницу в цене именно таким образом, путём ввода разницы от основной цены либо в + либо в -...
Вопрос: как придумать чтобы в это поле (там где разница прописана со знаком "-") выводился произвольный текст перед ценой?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 6 мес. назад #5647 от Wedal
Vasja, по вашему основному вопросу:
попробуйте сделать код таким:
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

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 6 мес. назад - 4 года 6 мес. назад #5649 от Vasja
Спасибо огромное, это сработало правильно! В корзину заказ идёт правильно.

Донастроил практически всё, остался один нюанс ) Представьте себе ситуацию:

1 Была у товара основная цена.
2 Путём добавления функций в "Налоги и правила расчета" вы выводите в поле "Окончательная цена" нужную вам сумму и она меньше основной цены.
3 Основная цена перечёркивается и это выглядит как скидка.
4 Вы хотите добавить фактическую цену со скидкой/временную скидку через поле "Override" на скрине это фактическая цена со скидкой.
5 Включаете вывод цены на сайт и у вас теперь две цены без описания. Покупатель запутается...

Вопрос: как сделать так, чтобы при добавлении временной скидки, сумма из поля "Окончательная цена" тоже выводилось зачёркнутым? Только при этом условии!

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 6 мес. назад #5658 от Wedal
Vasja, нужно добавить для каждого типа цены свой CSS-класс. Далее через CSS оформить так, как нужно.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.


Вверх