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

artlux

  • Завсегдатай
  • 468
  • 58
1.модуль может выводить товары в виде карусели, либо обычным видом;
2.выбирает товары из текущей категории, либо все товары, либо из выбранной категории;
3.опционально вывод текущего товара, если он есть;
4.можно указать количество для вывода, также количество вывода в строку(либо видимая часть слайдера), можно указать шаг для промотки слайдера;
5.опционально показывать цены;
6.опционально показывать кнопку купить;
7.возможность вывода товаров по производителю можно выбрать или использовать текущего;
8.возможность вывода модуля - только в детальном виде товара;
9.возможность скрывать товары которых нет на складе
10. Возможность выводить последние просмотренные товары

Почему лучше использовать модуль, вместо хака в теме (ссылка выше)
тест на 20 товарах, включаем кеш и на 426 запросов меньше в БД...

Важно! во время настройки модуля и его модификации отключаем кеш в настройках модуля!

v.1.1 стала довольно универсальной. Теперь задачи типа:
"Вывести товары в подробном виде из текущей категории и с текущим производителем";
"Вывести товары из всех категорий с текущим производителем и наоборот" и т.п.;
- решаемы с помощью данного модуля и без хаков...

идея, x-render, http://joomlaforum.ru/index.php/topic,262593.0.html

История версий
Спойлер
[свернуть]

Вопросы, предложения по улучшению, ошибки - пишем в теме.
« Последнее редактирование: 23.06.2013, 22:21:48 от artlux »
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
Гуд супер все работает, только вот гемор у меня наверное из за шаблона http://templates.yag-demo.com/joomla/free/vision/component/content/article/77-demo-contents/90-sidebar-sidebar-content
публикую модуль в позицию Main Content Bottom а он отображается не горизонтально, а вертикально.
 :( - поставил, постарался исправить и в нес в CSS
Код
.mod_rand_product { float: left; }
- вроде встало все горизонтально.

Кстати было бы хорошо размер картинкам сделать настраиваемый, а то хочется что бы они были поменьше, чем в параметрах магазина, а то ставишь например 5 товаров в строке, а они друг на друга лезут, так как в параметрах магазина стоит 200px ширина картинки, вот если бы их уменьшать в модуле или как то стилем до 120 например, тогда в строк увлезит 5 товаров

+1 в карму  :D

« Последнее редактирование: 10.05.2013, 10:54:08 от melkiialex »
*

x-render

  • Осваиваюсь на форуме
  • 25
  • 2
Супер. Работает отлично, то что надо. *DRINK*
Плюсище поставил.
Цитировать
кстати было бы хорошо размер картинкам сделать настраиваемый, а то хочется что бы они были поменьше, чем в параметрах магазина
Это стилями можно оформить.
« Последнее редактирование: 10.05.2013, 11:09:03 от x-render »
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
Как подскажите человеку тупому?
*

x-render

  • Осваиваюсь на форуме
  • 25
  • 2
Ну в стилях именно для img в этом модуле .mod_rand_product img{width:120px;}
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
Сделал, вот что показывает фиребаг
Код
<div class="mod_rand_image"> - для него поставил { width: 120px; }, а ниже идет так
<a title="Campri Waterproof JktLd30" href="/shop/index.php/ru/glavnaya/zhenskaya-odezhda/verkhnyaya-odezhda2013-04-26-15-10-47_/campri-waterproof-jktld30-detail">
<img class="featuredProductImage" border="0" alt="wj59" src="/shop/images/stories/virtuemart/product/resized/wj59_236x306.png">
и почему то все равно значение 236x306.png лидирует, а 120px не работает
*

x-render

  • Осваиваюсь на форуме
  • 25
  • 2
.mod_rand_image img {width:120px !important} навсякий случай !important если другой стиль перекрывает
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
« Последнее редактирование: 30.06.2014, 00:28:38 от fsv »
*

melkiialex

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

x-render

  • Осваиваюсь на форуме
  • 25
  • 2
в модуле после
Код
if (!empty($product->prices['salesPriceWithDiscount'])) {
echo $currency->createPriceDiv ('salesPriceWithDiscount', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
}

вставь
Код
if ($product->prices['discountAmount']>0) {echo $currency->createPriceDiv ('priceWithoutTax', '', $product->prices, FALSE, FALSE, 1.0, TRUE);}

и должна появится цена без скидки
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
Не хочет, а если взять код который работает у меня
Код
if ($this->show_prices == '1') {
if ($product->prices['salesPrice']<=0 and VmConfig::get ('askprice', 1) and  !$product->images[0]->file_is_downloadable) {
echo JText::_ ('COM_VIRTUEMART_PRODUCT_ASKPRICE');
}
//todo add config settings
if ($this->showBasePrice) {
echo $this->currency->createPriceDiv ('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $product->prices);
echo $this->currency->createPriceDiv ('basePriceVariant', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_VARIANT', $product->prices);
}
echo $this->currency->createPriceDiv ('variantModification', 'COM_VIRTUEMART_PRODUCT_VARIANT_MOD', $product->prices);
if (round($product->prices['basePriceWithTax'],$this->currency->_priceConfig['salesPrice'][1])!= $product->prices['salesPrice']) {
echo '<span class="price-crossed" >' . $this->currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices). "</span>";
}
if (round($product->prices['salesPriceWithDiscount'],$this->currency->_priceConfig['salesPrice'][1])!= $product->prices['salesPrice']) {
echo $this->currency->createPriceDiv ('salesPriceWithDiscount', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITH_DISCOUNT', $product->prices);
}
if($product->prices[salesPrice] != $product->prices[priceWithoutTax]) {
                   echo $this->currency->createPriceDiv('salesPrice', 'Цена со скидкой: ', $product->prices);
                   echo $this->currency->createPriceDiv('priceWithoutTax', 'Обычная цена: ', $product->prices);
                      } else {
                   echo $this->currency->createPriceDiv('salesPrice', 'Обычная цена: ', $product->prices);
                   echo $this->currency->createPriceDiv('priceWithoutTax', '', '');
                      }
echo $this->currency->createPriceDiv ('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $product->prices);
echo $this->currency->createPriceDiv ('taxAmount', 'COM_VIRTUEMART_PRODUCT_TAX_AMOUNT', $product->prices);
$unitPriceDescription = JText::sprintf ('COM_VIRTUEMART_PRODUCT_UNITPRICE', $product->product_unit);
echo $this->currency->createPriceDiv ('unitPrice', $unitPriceDescription, $product->prices);
} ?>

и в ставить его?
Просто пытаюсь его вставить вместо
Код
if ($show_price==1){
echo'<div class="mod_rand_price">';
if (!empty($product->prices['salesPrice'])) {
echo $currency->createPriceDiv ('salesPrice', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
}
if (!empty($product->prices['salesPriceWithDiscount'])) {
echo $currency->createPriceDiv ('salesPriceWithDiscount', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
if ($product->prices['discountAmount']>0) {echo $currency->createPriceDiv ('priceWithoutTax', '', $product->prices, FALSE, FALSE, 1.0, TRUE);}
}
echo'</div>';
}

не работает, то ошибка, то пустая страница белая.
Сорри не селен в PHP
*

x-render

  • Осваиваюсь на форуме
  • 25
  • 2
Код
if ($show_price==1){
echo'<div class="mod_rand_price">';
if (!empty($product->prices['salesPrice'])) {
echo $currency->createPriceDiv ('salesPrice', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
}
if (!empty($product->prices['salesPriceWithDiscount'])) {
echo $currency->createPriceDiv ('salesPriceWithDiscount', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
if ($product->prices['discountAmount']>0) {echo $currency->createPriceDiv ('priceWithoutTax', '', $product->prices, FALSE, FALSE, 1.0, TRUE);}
}
echo'</div>';
}
не туда вставил
Код
if ($show_price==1){
echo'<div class="mod_rand_price">';
if (!empty($product->prices['salesPrice'])) {
echo $currency->createPriceDiv ('salesPrice', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
}
if (!empty($product->prices['salesPriceWithDiscount'])) {
echo $currency->createPriceDiv ('salesPriceWithDiscount', '', $product->prices, FALSE, FALSE, 1.0, TRUE);

}
                        if ($product->prices['discountAmount']>0) {echo $currency->createPriceDiv ('priceWithoutTax', '', $product->prices, FALSE, FALSE, 1.0, TRUE);}
echo'</div>';
}
или
Код
if ($show_price==1){
echo'<div class="mod_rand_price">';
if (!empty($product->prices['salesPrice'])) {
echo $currency->createPriceDiv ('salesPrice', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
}
if (!empty($product->prices['salesPriceWithDiscount'])) {
echo $currency->createPriceDiv ('salesPriceWithDiscount', '', $product->prices, FALSE, FALSE, 1.0, TRUE);

}
                        if($product->prices['salesPrice'] != $product->prices['priceWithoutTax']) {
                   echo $currency->createPriceDiv('salesPrice', 'Цена со скидкой: ', $product->prices, FALSE, FALSE, 1.0, TRUE);
                   echo $currency->createPriceDiv('priceWithoutTax', 'Обычная цена: ', $product->prices, FALSE, FALSE, 1.0, TRUE);
                      } else {
                   echo $currency->createPriceDiv('salesPrice', 'Обычная цена: ', $product->prices, FALSE, FALSE, 1.0, TRUE);
                   echo $currency->createPriceDiv('priceWithoutTax', '', $product->prices, FALSE, FALSE, 1.0, TRUE);
                      }
}
должно работать
« Последнее редактирование: 10.05.2013, 13:52:48 от x-render »
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
Без изменений.  :(

а как сделать, что бы этот модуль был только в карточке товара и больше ни в одном пункте меню его не было видно
*

x-render

  • Осваиваюсь на форуме
  • 25
  • 2
не много код подправил, проверь. Сейчас нет возможности мне у себя проверять. Про вывод модуля попозже напишу.
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
Нет тоже не показывает, ладно черт с этой ценой.
Главное что бы теперь модуль был только в карточке товара и больше не где и все будет изумительно красиво  :D
*

artlux

  • Завсегдатай
  • 468
  • 58
Цитировать
а как сделать, что бы этот модуль был только в карточке

В первом сообщении написано как вставить модуль в любое место шаблона...
Код
<?
$document    = &JFactory::getDocument();
$renderer    = $document->loadRenderer('modules');
$options    = array('style' => 'noner'); //тут стиль вывода модуля, можно оставить как тут
$position    = 'rand'; //тут название позиции (ее можно задать при публикации модуля, можно просто вписать туда rand как тут)
echo $renderer->render($position, $options, null);
?>

заходите в ваш шаблон VirtueMart (Подробный вид товара и вставляете в нужное место этот код)
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
а публикацию шаблона в самой системе не делать?
и как понимаю noner - то когда просто вывод без карусели да?
*

artlux

  • Завсегдатай
  • 468
  • 58
noner - это просто стиль выцвода модуля(они у вас в шаблоне формируются)... можете так и оставить, стиль просто не будет задаваться....
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
Сделал так
Код
<?
$document    = &JFactory::getDocument();
$renderer    = $document->loadRenderer('modules');
$options    = array('style' => 'noner'); //тут стиль вывода модуля
$position    = 'main-content-bottom'; //тут название позиции
echo $renderer->render($position, $options, null);
?>
В админке отключил
но нечего не выводит.


Если же ставлю в настройках модуля в системе
опубликован, на всех страницах, и позиция main-content-bottom - то естественно он работает везде по мимо карточки товара.
*

artlux

  • Завсегдатай
  • 468
  • 58
в админке должен быть включен на всех страницах... А вот позицию задаете любую которая не используется в шаблоне
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
не хочет, причем перед кодом написал gfdgdfg - это в карточке товара показывается а вод сам модуль нет

Код
<!-- /Product Custom Fields -->
gfdgdfg
<?
$document    = &JFactory::getDocument();
$renderer    = $document->loadRenderer('modules');
$options    = array('style' => 'noner'); //тут стиль вывода модуля
$position    = 'main-content-bottom'; //тут название позиции
echo $renderer->render($position, $options, null);
?>
<!-- Related Products -->

причем если в настройках модуля в админке ставлю эту же позицию main-content-bottom - то в карточке отображается 2 раза модуль, а на страницах других 1 раз

фаил карточки находится в папке шаблона магазина, а не стандартный
« Последнее редактирование: 10.05.2013, 14:37:55 от melkiialex »
*

artlux

  • Завсегдатай
  • 468
  • 58
сделал возможность в настройках модуля задать вывод модуля в карточке товара опционально... (публикацию ставим на все страницы)

включу в следующий релиз... modules/mod_virtuemart_randcatproduct - просто с заменой файлы заливать

уже доступно в v.1.1
« Последнее редактирование: 09.07.2013, 17:42:53 от artlux »
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

melkiialex

  • Осваиваюсь на форуме
  • 152
  • 0
*

artlux

  • Завсегдатай
  • 468
  • 58
Впринципе предполагал, что возникнут проблемы с вставкой модуля только в подробный вид товара...
Сейчас подумаю что еще добавить в модуль... и сделаю обновление... (пока вариант с выводом товаров одного производителя, и товаров с примерно одной ценой - как предлагали в первой теме)
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

artlux

  • Завсегдатай
  • 468
  • 58
v.1.1
- добавлена возможность выводить модуль только в детальном виде
- добавлены фильтры по производителю
- добавлена возможность указать категорию принудительно (что делает модуль универсальным)
- добавлена возможность менять шаг карусели
- сгрупированы параметры модуля
- разные полезные штуки

Для обновления модуля, заливаем файлы поверх (папка assets и tmpl - не изменялись). Если вы правили шаблон вывода модуля не позатирайте файлы :)
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

x-render

  • Осваиваюсь на форуме
  • 25
  • 2
 :D Браво. Это конечно круто получилось. Полная замена стандартному "mod_virtuemart_product". Огромнейшее спасибо.
*

artlux

  • Завсегдатай
  • 468
  • 58
v.1.2
Добавлена возможность вывода последних просмотренных товаров
Исправлен пакет установки (не копировалась папка fields) - и скачавшие модуль молчали, неужели все догадались скопировать?

прошу добавить в FAQ
10. Возможность выводить последние просмотренные товары (решения на форуме не было).

« Последнее редактирование: 03.07.2013, 15:28:48 от artlux »
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

web11

  • Осваиваюсь на форуме
  • 58
  • 1
огромное спасибо за очень нужное решение!
на vm 2.0.20b все работает как часы
virtuemart2.info - блог о virtuemart 2
*

Snake 60

  • Осваиваюсь на форуме
  • 33
  • 0
  • Скользкий тип...
Присоединяюсь ко всем, кто поблагодарил автора и хочу сказать от себя лично большое спасибо за проделанную работу. Как дадут ЗП - скину пару бонусов ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться