0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 1200 Просмотров
*

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
Здравствуйте.

Добавил несколько цен стандартным функционалом VirtueMart 2.0.18a. Кто-нибудь встречал как сделать так, чтобы в представлении категории товаров и в детальном представлении отображались несколько цен?
Например как во вложении.

Благодарю

[вложение удалено Администратором]
*

aleksandrkr

  • Новичок
  • 6
  • 0
optima.lg.ua
посмотри ты это имеешь ввиду.
*

aleksandrkr

  • Новичок
  • 6
  • 0
прошу строго не судить это только альфа версия
*

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
прошу строго не судить это только альфа версия
не знаю, что у вас за цифры. В общем уже сделал, благодарю
*

neGODnic

  • Осваиваюсь на форуме
  • 140
  • 3
Как вы сделали несколь цен в VM2. Уже весь инет перерыл, не могу никак найти.
*

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
если версия VM не ниже 2.0.16, то там уже можно добавлять несколько цен в карточке товара и закреплять их, к примеру, за определенными группами покупателей. Если версия VM ниже, то можно загонять вторую цену куда-нибудь в непредназначенное для нее место и править логику компонента, чтобы работать с этой второй ценой так, как вам надо.
*

Myst

  • Осваиваюсь на форуме
  • 44
  • 0
подскажите пожалуйста, как именно вывести цены и на страницу товара и на страницу категории для всех посетителей (а не для определенной группы)?
у меня добавлено несколько цен на товар, которые нужно отобразить (группа покупателей: для всех), но выводится только первая цена.
*

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
Честно говоря, не помню, что делал для этого. может мои настройки вас натолкнут на решение
*

Myst

  • Осваиваюсь на форуме
  • 44
  • 0
не помогло.., вы что-то правили в коде, если подскажете что и где то буду очень признателен, готов даже заплатить
*

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
не помогло.., вы что-то правили в коде, если подскажете что и где то буду очень признателен, готов даже заплатить
посмотрел - правил. насколько вспоминаю во многих местах правил. на неделе занят, простите, попробую либо в воскресенье либо на следующей неделе вам подсказать, если будет актуально
*

Myst

  • Осваиваюсь на форуме
  • 44
  • 0
да, будет актуально, спасибо, жду
*

Myst

  • Осваиваюсь на форуме
  • 44
  • 0
всё еще актуально, с каждым часом актуальнее), подскажите кто нибудь.
*

borro

  • Живу я здесь
  • 1281
  • 21
  • желаю вам счастья
всё еще актуально, с каждым часом актуальнее), подскажите кто нибудь.
тестировал на VirtueMart 2.0.22c, но и на VirtueMart 2.0.18a работает
Чтобы вывести доп. цену в категории товаров надо:
0. Создать группу покупателей либо воспользоваться одной из существующих, указывая ее при вводе новой цены.
1. в файле сайт\templates\ваш_шалон\html\com_virtuemart\category\default.php, скопированном из сайт\components\com_virtuemart\views\category\tmpl\
в районе 290-й строки после строки
Код
echo $this->currency->createPriceDiv ('salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $product->prices);
добавить строку
Код
echo $this->currency->createPriceDiv ('wholesale_price', 'COM_VIRTUEMART_PRODUCT_WHOLESALESPRICE', $product->prices);
Вместо wholesale_price можете использовать здесь и далее другие метки - я добавлял оптовую цену просто.
2. В языковых файлах используемых языков например en-GB.com_virtuemart.ini, ru-RU.com_virtuemart.ini, добавить соответственно константы:
COM_VIRTUEMART_PRODUCT_WHOLESALESPRICE="Wholesales price: "
COM_VIRTUEMART_PRODUCT_WHOLESALESPRICE="Опт: "
3. В сайт\administrator\components\com_virtuemart\helpers\calculationh.php в функции getProductPrices перед последним return добавляем
Код
		$this->_db->setQuery('SELECT * FROM #__virtuemart_product_prices  WHERE `virtuemart_product_id`="' . $product->virtuemart_product_id . '" AND `virtuemart_shoppergroup_id`="3"');
$row = $this->_db->loadAssoc();
if ($row) {
if (!empty($row['product_price'])) {
$this->productPrices["wholesale_price"]=$row['product_price'];
} else {
$app = Jfactory::getApplication();
$app->enqueueMessage('cost Price empty, if child, everything okey, this is just a dev note');
return false;
}
}
где `virtuemart_shoppergroup_id`="3"' меняем на на id той группы покупателей, которым назначается вторая выводимая цена. по умолчанию у вас новая группа покупателей будет иметь 3, если других не добавляли после создания мага
4. Если возникает ошибка со словами, что есть ошибка в SQL запросе SELECT `virtuemart_currency_id`,CONCAT_WS(" ",`currency_name`,`currency_symbol`) as currency_txt FROM `#__virtuemart_currencies` WHERE `virtuemart_currency_id` IN ('.$vendor_currency['all_currencies'].') and (`virtuemart_vendor_id` = "'.$vendorId.'" OR `shared`="1") AND published = "1" ORDER BY `ordering`,`currency_name`'
, то в файле сайт\modules\mod_virtuemart_currencies\mod_virtuemart_currencies.php
надо на 49 строке в запросе
$q = 'SELECT `virtuemart_currency_id`,CONCAT_WS(" ",`currency_name`,`currency_symbol`) as currency_txt
FROM `#__virtuemart_currencies` WHERE `virtuemart_currency_id` IN ('.$vendor_currency['all_currencies'].') and (`virtuemart_vendor_id` = "'.$vendorId.'" OR `shared`="1") AND published = "1" ORDER BY `ordering`,`currency_name`';
поменять `virtuemart_currency_id` = 131 - если у вас только рубли. иначе используйте синтаксис `virtuemart_currency_id` IN(ххх, ххх, ...) чтобы перечислить несколько id используемых валют

5. Добавляем доп. цену в карточку товара: в сайт\templates\шаблон\html\com_virtuemart\productdetails\default_showprices.php, скопированном из соответствующего места (сайт\components\com_virtuemart\views\productdetails\tmpl\default_showprices.php) вставить после
Код
echo $this->currency->createPriceDiv ('salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices);
или до(куда вам надо) строку
Код
echo $this->currency->createPriceDiv ('wholesale_price', 'COM_VIRTUEMART_PRODUCT_WHOLESALESPRICE', $this->product->prices);

Вроде все верно. Успехов
« Последнее редактирование: 27.09.2013, 10:22:13 от borro »
*

Myst

  • Осваиваюсь на форуме
  • 44
  • 0
спасибо большое! пошел пробовать
*

neGODnic

  • Осваиваюсь на форуме
  • 140
  • 3
Разобрался более менее с VM3. Прошу помочь с дальнейшее реализацией.

Частично решил вопрос... следующим методом:
В фаил administrator/components/com_virtuemart/helpers/calculationh.php
перед строкой return $this->productPrices;
вставил следующий код
Код
	$this->_db->setQuery('SELECT * FROM #__virtuemart_product_prices  WHERE `virtuemart_product_id`="' . $product->virtuemart_product_id . '" AND `virtuemart_shoppergroup_id`="1"');
$row = $this->_db->loadAssoc();
if ($row) {
if (!empty($row['product_price'])) {
$this->productPrices["wholesale_price_rozn"]=$row['product_price'];
} else {
$app = Jfactory::getApplication();
$app->enqueueMessage('cost Price empty, if child, everything okey, this is just a dev note');
return false;
}
}


$this->_db->setQuery('SELECT * FROM #__virtuemart_product_prices  WHERE `virtuemart_product_id`="' . $product->virtuemart_product_id . '" AND `virtuemart_shoppergroup_id`="3"');
$row = $this->_db->loadAssoc();
if ($row) {
if (!empty($row['product_price'])) {
$this->productPrices["wholesale_price_opt"]=$row['product_price'];
} else {
$app = Jfactory::getApplication();
$app->enqueueMessage('cost Price empty, if child, everything okey, this is just a dev note');
return false;
}
}
virtuemart_shoppergroup_id указываете необходимую группу которую хотите видеть.



в фаиле шаблона
templates/ВАШ_шаблон/html/com_virtuemart/sublayouts/prices.php если шаблон переопределн, либо в components/com_virtuemart/sublayouts/prices.php
вставил 2 следующих кода в необходимое место, смотря где Вы хотите чтобы выводились суммы
Код
echo $currency->createPriceDiv ('wholesale_price_rozn', 'COM_VIRTUEMART_PRODUCT_WHOLESALESPRICEROZN', $product->prices);
echo $currency->createPriceDiv ('wholesale_price_opt', 'COM_VIRTUEMART_PRODUCT_WHOLESALESPRICEOPT', $product->prices);

если я нахожусь в группе 2, то все цены вижу правильно. Все выводится правильно, 2 цены.
 
Теперь вопрос следующего характера:
У меня 3 группы по базе с ID 1-(розница, не зарегистрированные пользователи) 2-(зарегистрированные пользователи) 3-(назначается в ручную ОПТОВИКИ)
необходимо сделать следующее.
Если я в группе 2, то вижу правильно цены.
Если я в группе 1то вижу 2 одинаковые цены.

Нужно сделать так:
Пользователь группы 1 (не зарег.) видит все 3 цены... Цена розница выделена другими цветом и шрифтом, остальные 2 цены (мелк. опт и опт) одного цвета и меньшего размера.
Пользователь группы 2 (зарегистр) видит все 3 цены... Цена мелк.опт для него выделена цветом и шрифтом, остальные 2 цены (розн и опт) одного цвета и меньшего размера.
Пользователь группы 3 (VIP) видит все 3 цены... Цена ОПТ выделена другими цветом и шрифтом, остальные 2 цены (розн и мелк. опт) одного цвета и меньшего размера.

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

и еще проблема, все 3 цены выводятся в категории товаров, как это убрать, чтобы выводилась только 1 цена, для той группы в которой находится покупатель.
« Последнее редактирование: 14.10.2016, 15:50:03 от neGODnic »
*

VIPersone

  • Осваиваюсь на форуме
  • 55
  • 2
Не получилось вывести разные цены... Может в карточке товара что-то нужно указывать?

Как сделать примерно так:


В VirtueMart это возможно?
« Последнее редактирование: 26.04.2017, 01:45:06 от VIPersone »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Присвоение товарам несколько категорий, стоит ли?

Автор OutLaw1

Ответов: 0
Просмотров: 75
Последний ответ 02.08.2017, 11:55:34
от OutLaw1
[Решено] Как сделать кнопку "добавить в корзину" в категориях?

Автор sm_ph

Ответов: 63
Просмотров: 47990
Последний ответ 10.06.2017, 15:43:13
от street
Несколько складов с выводом остатков в карточке товара

Автор Peleiro

Ответов: 2
Просмотров: 248
Последний ответ 18.03.2017, 07:57:45
от Peleiro
Несколько курсов валют в VirtueMart 3

Автор Litop

Ответов: 7
Просмотров: 676
Последний ответ 30.11.2016, 04:26:03
от gartes
Особая сортировка в некоторых категориях

Автор Diazz

Ответов: 9
Просмотров: 354
Последний ответ 29.05.2016, 17:19:28
от denis2008