Форум русской поддержки Joomla!® CMS
11.12.2016, 15:59:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Несколько цен в категориях и детальном представлении

 (Прочитано 879 раз)
0 Пользователей и 1 Гость смотрят эту тему.
borro
Живу я здесь
******

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 1163


желаю вам счастья


« : 22.02.2013, 13:35:32 »

Здравствуйте.

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

Благодарю

[вложение удалено Администратором]
Записан
aleksandrkr
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 6


« Ответ #1 : 24.02.2013, 00:03:50 »

optima.lg.ua
посмотри ты это имеешь ввиду.
Записан
aleksandrkr
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 6


« Ответ #2 : 24.02.2013, 00:04:54 »

прошу строго не судить это только альфа версия
Записан
borro
Живу я здесь
******

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 1163


желаю вам счастья


« Ответ #3 : 24.02.2013, 06:32:09 »

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

Репутация: +3/-0
Offline Offline

Сообщений: 140


« Ответ #4 : 06.03.2013, 14:46:35 »

Как вы сделали несколь цен в VM2. Уже весь инет перерыл, не могу никак найти.
Записан
borro
Живу я здесь
******

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 1163


желаю вам счастья


« Ответ #5 : 06.03.2013, 15:23:31 »

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

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44


« Ответ #6 : 18.09.2013, 00:45:36 »

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


* Безымянный.jpg (66.4 Кб, 995x679 - просмотрено 85 раз.)
Записан
borro
Живу я здесь
******

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 1163


желаю вам счастья


« Ответ #7 : 18.09.2013, 09:48:21 »

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


* 2цены.jpg (172.62 Кб, 1083x787 - просмотрено 88 раз.)

* 2цены_2.jpg (150.9 Кб, 1147x786 - просмотрено 90 раз.)

* 2цены_3.jpg (57.44 Кб, 1160x497 - просмотрено 87 раз.)
Записан
Myst
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44


« Ответ #8 : 18.09.2013, 17:10:21 »

не помогло.., вы что-то правили в коде, если подскажете что и где то буду очень признателен, готов даже заплатить
Записан
borro
Живу я здесь
******

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 1163


желаю вам счастья


« Ответ #9 : 18.09.2013, 17:23:23 »

не помогло.., вы что-то правили в коде, если подскажете что и где то буду очень признателен, готов даже заплатить
посмотрел - правил. насколько вспоминаю во многих местах правил. на неделе занят, простите, попробую либо в воскресенье либо на следующей неделе вам подсказать, если будет актуально
Записан
Myst
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44


« Ответ #10 : 18.09.2013, 17:29:59 »

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

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44


« Ответ #11 : 26.09.2013, 23:39:38 »

всё еще актуально, с каждым часом актуальнее), подскажите кто нибудь.
Записан
borro
Живу я здесь
******

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 1163


желаю вам счастья


« Ответ #12 : 27.09.2013, 10:02:45 »

всё еще актуально, с каждым часом актуальнее), подскажите кто нибудь.
тестировал на 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
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44


« Ответ #13 : 27.09.2013, 12:00:55 »

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

Репутация: +3/-0
Offline Offline

Сообщений: 140


« Ответ #14 : 13.10.2016, 19:20:33 »

Разобрался более менее с 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 цена, для той группы в которой находится покупатель.


* цены.jpg (18.81 Кб, 340x130 - просмотрено 4 раз.)
« Последнее редактирование: 14.10.2016, 16:50:03 от neGODnic » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet