Новости Joomla

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

mooha

  • Новичок
  • 3
  • 0 / 0
Чувак у тебя нет WMZ?  я хочу купить модуль твой давай как нибудь свяжемся что ли.
*

mooha

  • Новичок
  • 3
  • 0 / 0
Перевод 514,00 wmr успешно выполнен! жду инфу на мейл
*

kpk17

  • Захожу иногда
  • 257
  • 2 / 0
скажите а можно данный модуль вывести на страницах оформления заказа? что-то как "С этим товаром покупают"
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
скажите а можно данный модуль вывести на страницах оформления заказа? что-то как "С этим товаром покупают"
да, если чуть модицировать запрос на основании алгоритма VirtueMart (если он есть).
Войдет в бесплатную доработку версии по подписке или в платную к бесплатной, как вам будет удобней
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Piton66

  • Новичок
  • 4
  • 0 / 0
Всем привет. Как и многим в этой теме мне необходщимо было видеть цену со скидкой.

Вот моё експресс решение.
mod_virtuemart_universal/tmpl/default.php
Код
<?php // no direct access
defined('_JEXEC') or die('Restricted access');
/*
@author Beliyadm @license GNU/GPL
Справка по использованию шаблона:
$item->pname - заголовок (название) товара
$item->link - ссылка на полную карточку товара
$item->pimage - картинка товара, не забываем про полный путь до нее
$item->price - цена товара
$item->currency - валюта (денежная единица)
$item->intro - краткое описание товара, очищенное от HTML тегов, по умолчанию выводится как TITLE для картинки и ссылки "подробнее"
$item->amount   - скидка
*/
?>
<?php foreach ($list as $item) :  ?>
    <div class="mod_vm_universal">
        <?php if ($item->discount == '1') { ?>
         <img src="<?php echo JURI::base(); ?>modules/mod_virtuemart_universal/files/ico_discount.png" class="discount" alt="Скидка на продукт!" />
   <?php } else {} ?>
   <span class="mod_vm_title"><?php echo $item->pname; ?></span>
   <a href="<?php echo $item->link; ?>" title="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" class="mod_vm_link">
     <img src="<?php echo $item->pimage; ?>" alt="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" />
     </a>
     <a href="<?php echo $item->link; ?>" title="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" class="mod_vm_readmore">Подробнее</a>
     <span class="product-Old-Price" style="color:red;text-decoration:line-through;"><?php echo $item->price; ?> <?php echo $item->currency; ?></span>
     <span class="productPrice">
     <?php
     $value = $item->price/100*(100-$item->amount);
            echo $value;
     ?> <?php echo $item->currency; ?></span>
<br/>
</div>
<?php endforeach; ?>
<div class="clear"></div>
mod_virtuemart_universal/helper.php
Код
<?php
/**
* @author Beliyadm @license GNU/GPL
*/

// no direct access
defined('_JEXEC') or die('Restricted access');


class modVirtUniversalHelper
{
function getList(&$params)
{
global $mainframe;

echo modUniversal_style();

$db =& JFactory::getDBO();
$user =& JFactory::getUser();
$userId = (int) $user->get('id');
$max_items = $params->get( 'max_items', 6 );
$selecttype = $params->get( 'selecttype', 1 );
$ceil_price = $params->get( 'ceil_price', 0 );
$discount = $params->get( 'discount', 1 );
$jstooltip = $params->get( 'jstooltip', 1 );
$category_id = $params->get( 'category_id', null );
$checkItemid = $params->get( 'checkItemid', 1 );
$ItemidCustom = $params->get( 'checkItemidCustom' );


if (($checkItemid == '1') && ($ItemidCustom == '')) {
$query = 'SELECT id FROM #__menu WHERE link LIKE "index.php?option=com_virtuemart" LIMIT 1';
$db->setQuery($query);
$row = $db->loadObject();
$Itemid = $row->id;
} else if ($ItemidCustom != '')  {
$Itemid = $ItemidCustom;
} else {
$Itemid = JRequest::getInt( 'Itemid', 1, 'get' );
}
/*
load JS for tooltip in head or not
0 - обычные подсказки браузера title
1 - JS подсказки на mootools
2 - JS подсказки на jquery
*/
$header = '';
switch ($jstooltip) {
case '1';
/*
Если хотите добиться валидности - убедитесь что библиотека загружена до данного плагина и раскомментируйте строки
$header .= '<script type="text/javascript" src="'.JURI::base().'modules/mod_virtuemart_universal/files/mootools_tooltip.js"></script>';
             $mainframe->addCustomHeadTag($header);
             */
             echo '<script type="text/javascript" src="'.JURI::base().'modules/mod_virtuemart_universal/files/mootools_tooltip.js"></script>';
break;
case '2';
             /*
             Если хотите добиться валидности - убедитесь что библиотека загружена до данного плагина и раскомментируйте строки
             $header .= '<script type="text/javascript" src="'.JURI::base().'modules/mod_virtuemart_universal/files/jquery_tooltip.js"></script>';
             $mainframe->addCustomHeadTag($header);
             */
             echo '<script type="text/javascript" src="'.JURI::base().'modules/mod_virtuemart_universal/files/jquery_tooltip.js"></script>';
break;
case '3';

break;
default:
break;
        }
        //Округляем цену при необходимости
        if ($ceil_price == '1') {
         $ceil_price = 'floor(pp.product_price) AS pprice';
        } else {
         $ceil_price = 'pp.product_price AS pprice';
        }

        //получаем список ID категорий и подставляем в запрос
        $where = ''; $ordering = '';
        if ($category_id)
{
$ids = explode( ',', $category_id );
JArrayHelper::toInteger( $ids );
$where .= ' AND (cx.category_id=' . implode( ' OR cx.category_id=', $ids ). ')';
}

        /*
         $selecttype - тип сортировки
       1 - последние товары
       2 - наиболее продаваемые
       3 - отмеченные как special
       4 - случайные товары
        */
        switch ($selecttype) {
        case '1';
         $ordering .= ' p.product_id DESC ';
        break;
        case '2';
         $ordering .= ' p.product_sales DESC ';
        break;
        case '3';
         $where .= ' AND p.product_special = "Y" ';
         $ordering .= ' p.product_id DESC ';
        break;
        case '4';
            $ordering .= ' RAND() ';
        break;
        default:
        break;
        }

$query = 'SELECT p.product_id AS pid, p.product_sku AS psku, p.product_thumb_image AS pimage, p.product_name AS pname, ' .
' cx.category_id AS catid, '.$ceil_price.', p.product_s_desc AS pintro, pp.product_currency AS currency, p.product_discount_id AS discount, ppp.amount AS amount'.
' FROM #__vm_product p ' .
' RIGHT JOIN #__vm_product_category_xref AS cx ON p.product_id = cx.product_id'.
' RIGHT JOIN #__vm_product_price as pp ON pp.product_id = p.product_id ' .
            ' RIGHT JOIN #__vm_product_discount as ppp ON ppp.discount_id = p.product_discount_id ' .
' WHERE p.product_publish= "Y" '.$where.' GROUP BY pid  ORDER BY '.$ordering.' LIMIT '.$max_items.'';
$db->setQuery($query);
$rows = $db->loadObjectList();

$i = 0; $lists = array();

foreach ( $rows as $row )
{
$lists[$i]->link = JRoute::_('index.php?page=shop.product_details&category_id='.$row->catid.'&flypage=flypage.tpl&product_id='.$row->pid.'&option=com_virtuemart&Itemid='.$Itemid,false);
$lists[$i]->pname = $row->pname;
$lists[$i]->pid = $row->pid;
if ($row->pimage) {
$lists[$i]->pimage = JURI::base().'components/com_virtuemart/shop_image/product/'.$row->pimage;
} else {
$lists[$i]->pimage = JURI::base().'components/com_virtuemart/themes/default/images/noimage.gif';
}

$lists[$i]->intro = strip_tags($row->pintro);
$lists[$i]->price = $row->pprice;
$lists[$i]->currency = $row->currency;
if (($row->discount != '0') && ($discount == '1')) {
$lists[$i]->discount = '1';
} else {
$lists[$i]->discount = '0';
}
$lists[$i]->amount = $row->amount;
$i++;
}

return $lists;

}
}

function modUniversal_style()
{
global $mainframe;
$header = '';
$header .= '<link rel="stylesheet" href="'.JURI::base().'modules/mod_virtuemart_universal/files/mod_virtuemart_universal.css" type="text/css" />';
$mainframe->addCustomHeadTag($header);

}
Вот и всё, пользуйемся.


Решение работает, всё гут... Но понадобилось ещё вывести отдельным модулем  товары отмеченные как special .  Сделать этого не дает.
Нужно текст запроса подправить. Я в этом ничего не понимаю. Помогите кто пожалуйста...

$query = 'SELECT p.product_id AS pid, p.product_sku AS psku, p.product_thumb_image AS pimage, p.product_name AS pname, ' .
         ' cx.category_id AS catid, '.$ceil_price.', p.product_s_desc AS pintro, pp.product_currency AS currency, p.product_discount_id AS discount,
ppp.amount AS amount'. - Добавленая строка
         ' FROM #__vm_product p ' .
         ' RIGHT JOIN #__vm_product_category_xref AS cx ON p.product_id = cx.product_id'.
         ' RIGHT JOIN #__vm_product_price as pp ON pp.product_id = p.product_id ' .
            ' RIGHT JOIN #__vm_product_discount as ppp ON ppp.discount_id = p.product_discount_id ' . - Добавленая строка
         ' WHERE p.product_publish= "Y" '.$where.' GROUP BY pid  ORDER BY '.$ordering.' LIMIT '.$max_items.'';

Заранее благодарю...
*

Piton66

  • Новичок
  • 4
  • 0 / 0
разобрался сам. Условие просто добавил
 /*
           $selecttype - тип сортировки
           1 - последние товары
           2 - наиболее продаваемые
           3 - отмеченные как special
           4 - случайные товары
        */
        switch ($selecttype) {
        case '1';
           $ordering    .= ' p.product_id DESC ';
        break;
        case '2';
           $ordering    .= ' p.product_sales DESC ';
        break;
        case '3';
           $where      .= ' AND p.product_special= "Y" ';
           $ordering   .= ' p.product_id DESC ';
                $key111 = 'Q' ;
        break;
        case '4';
            $ordering    .= ' RAND() ';
        break;
        default:
        break;
        }

if ($key111 == Q)
{
    $query = 'SELECT p.product_id AS pid, p.product_sku AS psku, p.product_thumb_image AS pimage, p.product_name AS pname, ' .
         ' cx.category_id AS catid, '.$ceil_price.', p.product_s_desc AS pintro, pp.product_currency AS currency, p.product_discount_id AS discount'.
         ' FROM #__vm_product p ' .
         ' RIGHT JOIN #__vm_product_category_xref AS cx ON p.product_id = cx.product_id'.
         ' RIGHT JOIN #__vm_product_price as pp ON pp.product_id = p.product_id ' .
         ' WHERE p.product_publish= "Y" '.$where.' GROUP BY pid  ORDER BY '.$ordering.' LIMIT '.$max_items.'';
}
 else
{
    $query = 'SELECT p.product_id AS pid, p.product_sku AS psku, p.product_thumb_image AS pimage, p.product_name AS pname, ' .
         ' cx.category_id AS catid, '.$ceil_price.', p.product_s_desc AS pintro, pp.product_currency AS currency, p.product_discount_id AS discount, ppp.amount AS amount'.
         ' FROM #__vm_product p ' .
         ' RIGHT JOIN #__vm_product_category_xref AS cx ON p.product_id = cx.product_id'.
         ' RIGHT JOIN #__vm_product_price as pp ON pp.product_id = p.product_id ' .
  ' Right JOIN #__vm_product_discount as ppp ON ppp.discount_id = p.product_discount_id ' .
         ' WHERE p.product_publish= "Y" '.$where.' GROUP BY pid  ORDER BY '.$ordering.' LIMIT '.$max_items.'';
}
*

SolopoV

  • Давно я тут
  • 573
  • 16 / 0
  • зеленею...
Как показать в этом модуле цены только для зарегистрированных покупателей?


Решено...

старым методом <?php if(!$user->guest) : ?>
« Последнее редактирование: 01.03.2013, 15:12:00 от SolopoV »
*

Kayser

  • Захожу иногда
  • 50
  • 1 / 0
Помогите кто разберается! За деньги! Модуль версия 1.2.3. Joomla 1.5. Если у клиента есть постоянная скидка, то на витрине для него отображаются Неправильные цены. Если зайти в карточку товара, то всё нормально.
Спойлер
[свернуть]

Должно считаться так - 270-12%=237,6
А считае так - 290-12%=255,2

Сделать нужно срочно!
*

chesster

  • Захожу иногда
  • 149
  • 0 / 0
уже был вопрос, но ответа не видел, - платеж через PayPal возможен?
*

mstafeev

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Добрый день

Хочу купить универсальный модуль, возникло несколько вопросов:

1. Можно ли сделать что бы выводилась только картинка товаров?
2. Как остановить слайд-шоу?
3. Можно ли убрать навигацию в нижней части? (1 2 3 4..)

С уважением, Михаил
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Добрый день.
возникло несколько вопросов:
1. Можно ли сделать что бы выводилась только картинка товаров?
2. Как остановить слайд-шоу?
3. Можно ли убрать навигацию в нижней части? (1 2 3 4..)
1 - да, на уровне шаблона модуля
2 - что значит остановить? Чтобы по умолчанию не крутился? В настройках модуля есть такая опция
3 - да, в настройках модуля

http://beliyadm.rcoi.net/virt/demoslider.html
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

mstafeev

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Что бы при наведении например на картинку слайдер останавливался
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Что бы при наведении например на картинку слайдер останавливался
а он и так останавливается, штатная функция, посмотрите пример по ссылке в моем предыдущем сообщении
Опять же в настройках это можно отключить и тогда будет вращаться постоянно, без реакции на наведение
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

mstafeev

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
На Вашем примере товары в модуле не двигаются :)
*

mstafeev

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Еще один момент, когда "дохожу" до 6-го пункта, одного товара в списке не хватает. Не "подхватывает" получается модуль первый товар в цепочке. Не знаю - понятно ли я выразился
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
На Вашем примере товары в модуле не двигаются :)
http://beliyadm.rcoi.net/virt/demoslider.html - двигаются по умолчанию, при наведении не двигаются, убрали курсор с блока товаров - двигаются
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Еще один момент, когда "дохожу" до 6-го пункта, одного товара в списке не хватает. Не "подхватывает" получается модуль первый товар в цепочке. Не знаю - понятно ли я выразился
Это баговая особенность самого плагина слайдера, от разработчиков, так то он крутит именно 6 товаров, но последний иногда сбивается, за ним иногда идет белое окно.
Пока не было ни от кого из пользователей просьбы это изменить, потому пока as is
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

mstafeev

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Ограничений на кол-во товаров в слайдере нет?
А если я буду первым пользователем, который попросит этот баг исправить - за это доплатить потребуется?
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Ограничений на кол-во товаров в слайдере нет?
А если я буду первым пользователем, который попросит этот баг исправить - за это доплатить потребуется?
ограничений нет (но слишком много не есть хорошо)
будете первым - не потребуется, попробуем исправить на что потребуется
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

mstafeev

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Хорошо! Спасибо большое за ответы. Я готов приобрести этот модуль и буду рад, если Вы этот баг поправите
*

mstafeev

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Оплатил 500 рублей
*

siao

  • Захожу иногда
  • 233
  • 4 / 0
скажите, а для ВМ 2 этот модуль имеет версию?
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
скажите, а для ВМ 2 этот модуль имеет версию?
нет
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Evgen1972

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Всем привет. Как и многим в этой теме мне необходщимо было видеть цену со скидкой.

Вот моё експресс решение.
mod_virtuemart_universal/tmpl/default.php
Код
<?php // no direct access
defined('_JEXEC') or die('Restricted access');
/*
@author Beliyadm @license GNU/GPL
Справка по использованию шаблона:
$item->pname - заголовок (название) товара
$item->link - ссылка на полную карточку товара
$item->pimage - картинка товара, не забываем про полный путь до нее
$item->price - цена товара
$item->currency - валюта (денежная единица)
$item->intro - краткое описание товара, очищенное от HTML тегов, по умолчанию выводится как TITLE для картинки и ссылки "подробнее"
$item->amount   - скидка
*/
?>
<?php foreach ($list as $item) :  ?>
    <div class="mod_vm_universal">
        <?php if ($item->discount == '1') { ?>
         <img src="<?php echo JURI::base(); ?>modules/mod_virtuemart_universal/files/ico_discount.png" class="discount" alt="Скидка на продукт!" />
   <?php } else {} ?>
   <span class="mod_vm_title"><?php echo $item->pname; ?></span>
   <a href="<?php echo $item->link; ?>" title="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" class="mod_vm_link">
     <img src="<?php echo $item->pimage; ?>" alt="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" />
     </a>
     <a href="<?php echo $item->link; ?>" title="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" class="mod_vm_readmore">Подробнее</a>
     <span class="product-Old-Price" style="color:red;text-decoration:line-through;"><?php echo $item->price; ?> <?php echo $item->currency; ?></span>
     <span class="productPrice">
     <?php
     $value = $item->price/100*(100-$item->amount);
            echo $value;
     ?> <?php echo $item->currency; ?></span>
<br/>
</div>
<?php endforeach; ?>
<div class="clear"></div>
mod_virtuemart_universal/helper.php
Код
<?php
/**
* @author Beliyadm @license GNU/GPL
*/

// no direct access
defined('_JEXEC') or die('Restricted access');


class modVirtUniversalHelper
{
function getList(&$params)
{
global $mainframe;

echo modUniversal_style();

$db =& JFactory::getDBO();
$user =& JFactory::getUser();
$userId = (int) $user->get('id');
$max_items = $params->get( 'max_items', 6 );
$selecttype = $params->get( 'selecttype', 1 );
$ceil_price = $params->get( 'ceil_price', 0 );
$discount = $params->get( 'discount', 1 );
$jstooltip = $params->get( 'jstooltip', 1 );
$category_id = $params->get( 'category_id', null );
$checkItemid = $params->get( 'checkItemid', 1 );
$ItemidCustom = $params->get( 'checkItemidCustom' );


if (($checkItemid == '1') && ($ItemidCustom == '')) {
$query = 'SELECT id FROM #__menu WHERE link LIKE "index.php?option=com_virtuemart" LIMIT 1';
$db->setQuery($query);
$row = $db->loadObject();
$Itemid = $row->id;
} else if ($ItemidCustom != '')  {
$Itemid = $ItemidCustom;
} else {
$Itemid = JRequest::getInt( 'Itemid', 1, 'get' );
}
/*
load JS for tooltip in head or not
0 - обычные подсказки браузера title
1 - JS подсказки на mootools
2 - JS подсказки на jquery
*/
$header = '';
switch ($jstooltip) {
case '1';
/*
Если хотите добиться валидности - убедитесь что библиотека загружена до данного плагина и раскомментируйте строки
$header .= '<script type="text/javascript" src="'.JURI::base().'modules/mod_virtuemart_universal/files/mootools_tooltip.js"></script>';
             $mainframe->addCustomHeadTag($header);
             */
             echo '<script type="text/javascript" src="'.JURI::base().'modules/mod_virtuemart_universal/files/mootools_tooltip.js"></script>';
break;
case '2';
             /*
             Если хотите добиться валидности - убедитесь что библиотека загружена до данного плагина и раскомментируйте строки
             $header .= '<script type="text/javascript" src="'.JURI::base().'modules/mod_virtuemart_universal/files/jquery_tooltip.js"></script>';
             $mainframe->addCustomHeadTag($header);
             */
             echo '<script type="text/javascript" src="'.JURI::base().'modules/mod_virtuemart_universal/files/jquery_tooltip.js"></script>';
break;
case '3';

break;
default:
break;
        }
        //Округляем цену при необходимости
        if ($ceil_price == '1') {
         $ceil_price = 'floor(pp.product_price) AS pprice';
        } else {
         $ceil_price = 'pp.product_price AS pprice';
        }

        //получаем список ID категорий и подставляем в запрос
        $where = ''; $ordering = '';
        if ($category_id)
{
$ids = explode( ',', $category_id );
JArrayHelper::toInteger( $ids );
$where .= ' AND (cx.category_id=' . implode( ' OR cx.category_id=', $ids ). ')';
}

        /*
         $selecttype - тип сортировки
       1 - последние товары
       2 - наиболее продаваемые
       3 - отмеченные как special
       4 - случайные товары
        */
        switch ($selecttype) {
        case '1';
         $ordering .= ' p.product_id DESC ';
        break;
        case '2';
         $ordering .= ' p.product_sales DESC ';
        break;
        case '3';
         $where .= ' AND p.product_special = "Y" ';
         $ordering .= ' p.product_id DESC ';
        break;
        case '4';
            $ordering .= ' RAND() ';
        break;
        default:
        break;
        }

$query = 'SELECT p.product_id AS pid, p.product_sku AS psku, p.product_thumb_image AS pimage, p.product_name AS pname, ' .
' cx.category_id AS catid, '.$ceil_price.', p.product_s_desc AS pintro, pp.product_currency AS currency, p.product_discount_id AS discount, ppp.amount AS amount'.
' FROM #__vm_product p ' .
' RIGHT JOIN #__vm_product_category_xref AS cx ON p.product_id = cx.product_id'.
' RIGHT JOIN #__vm_product_price as pp ON pp.product_id = p.product_id ' .
            ' RIGHT JOIN #__vm_product_discount as ppp ON ppp.discount_id = p.product_discount_id ' .
' WHERE p.product_publish= "Y" '.$where.' GROUP BY pid  ORDER BY '.$ordering.' LIMIT '.$max_items.'';
$db->setQuery($query);
$rows = $db->loadObjectList();

$i = 0; $lists = array();

foreach ( $rows as $row )
{
$lists[$i]->link = JRoute::_('index.php?page=shop.product_details&category_id='.$row->catid.'&flypage=flypage.tpl&product_id='.$row->pid.'&option=com_virtuemart&Itemid='.$Itemid,false);
$lists[$i]->pname = $row->pname;
$lists[$i]->pid = $row->pid;
if ($row->pimage) {
$lists[$i]->pimage = JURI::base().'components/com_virtuemart/shop_image/product/'.$row->pimage;
} else {
$lists[$i]->pimage = JURI::base().'components/com_virtuemart/themes/default/images/noimage.gif';
}

$lists[$i]->intro = strip_tags($row->pintro);
$lists[$i]->price = $row->pprice;
$lists[$i]->currency = $row->currency;
if (($row->discount != '0') && ($discount == '1')) {
$lists[$i]->discount = '1';
} else {
$lists[$i]->discount = '0';
}
$lists[$i]->amount = $row->amount;
$i++;
}

return $lists;

}
}

function modUniversal_style()
{
global $mainframe;
$header = '';
$header .= '<link rel="stylesheet" href="'.JURI::base().'modules/mod_virtuemart_universal/files/mod_virtuemart_universal.css" type="text/css" />';
$mainframe->addCustomHeadTag($header);

}
Вот и всё, пользуйемся.

Мне нужно выводить модулем товары, помеченные как special - среди них есть и товары со скидкой и без нее.

Оригинальный модуль от beliyadm выводит все товары, которые  special, при этом те, что со скидкой - помечает значком. Но он не выводит саму скидку, когда она есть. А мне это нужно.

Доработанный модуль от LED выводит и цену и скидку - Но он выводит не все товары, помеченные special, а только те, где есть скидка. Товары без скидок - не выводятся. :(

Подскажите, пожалуйста, понимающие люди - что в варианте от LED надо подправить в helper.php, чтобы отображались и товары без скидок, если на них есть метка special? очень желательно с кодом, я в PHP совсем плохо разбираюсь.

За модуль спасибо - плюсанул. Штука очень хорошая.
« Последнее редактирование: 21.06.2013, 00:40:32 от Evgen1972 »
*

faraon_x

  • Захожу иногда
  • 362
  • 27 / 1
  • Чем смогу, тем помогу )))
Может кто сталкивался, но вроде вещь необходимая, например у меня в категории товаров цена отображается как "от ..." (наименьшей стоимости дочернего товара).
В категории это решалось вставкой вместо заглушки $product_price кода:

Код
<?php
 
$maximum=0;
$minimum=10000000;
         $getDesc = "SELECT DISTINCT product_id FROM jos_vm_product WHERE product_sku = '$product_sku'";
 
         $getDescCmd = mysql_query($getDesc);
         $getDescCmdRows = mysql_fetch_array($getDescCmd);
         $product_id = $getDescCmdRows['product_id'];
 
$test=mysql_query("SELECT product_id FROM jos_vm_product WHERE product_parent_id = '$product_id'") or die (mysql_error());
 
while ($line=mysql_fetch_array($test))
{
$product_id = $line['product_id'];
 
$test2=mysql_query("SELECT product_price FROM jos_vm_product_price WHERE product_id = '$product_id'") or die (mysql_error());
 
 
while ($line2=mysql_fetch_array($test2))
{
 
$product_pricec=$line2['product_price'];
 
 
if ($minimum>$product_pricec){$minimum=$product_pricec; }
 
if ($maximum<$product_pricec){$maximum=$product_pricec; }
 
}
 
}           
 
if ($maximum>$minimum):
echo 'от <b>'.(round($minimum * 100) / 100).' руб.</b>';
 
else:
 
if ($maximum==$minimum){
echo 'от <b>'.(round($maximum * 100) / 100).' руб.</b>';
}else{
echo '<span class="Not_available">Нет в наличии</span>';
}
 
endif;
 
?>

Здесь пробовал вставлять в default.php вместо заглушки $item->price, ничего не вышло.
Посоветуйте, кто-нибудь решил данную проблему?
Вопросы по JFORMS, можно ещё попробовать задать здесь
Российский 3d сканер от разработчиков и производителей
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Про дочерние товары вообще ничего не знаю что это такое и как оно работает, потому толком подсказать не могу.
Но - у нас в хелпере модуля есть запрос, цепляющий все параметры. В том числе и ID товара. Таблица jos_vm_product_price в выборке тоже присутствует
Осталось только добавить проверку цены товара на $minimum и $maximum

P.S. зачем в запросе получать id в цикле и для каждой итерации строить новый запрос на получение цены? JOIN для кого придумали?
P.P.S. зачем mysql_query и mysql_fetch_array когда есть стандартное API движка для упрощения всего http://kjoomla.com/lessons/35-lessons/67-database.html (для1/5)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

faraon_x

  • Захожу иногда
  • 362
  • 27 / 1
  • Чем смогу, тем помогу )))
Про дочерние товары вообще ничего не знаю что это такое и как оно работает, потому толком подсказать не могу.
Но - у нас в хелпере модуля есть запрос, цепляющий все параметры. В том числе и ID товара. Таблица jos_vm_product_price в выборке тоже присутствует
Осталось только добавить проверку цены товара на $minimum и $maximum

P.S. зачем в запросе получать id в цикле и для каждой итерации строить новый запрос на получение цены? JOIN для кого придумали?
P.P.S. зачем mysql_query и mysql_fetch_array когда есть стандартное API движка для упрощения всего http://kjoomla.com/lessons/35-lessons/67-database.html (для1/5)

Спасибо за ответ.

К сожалению, код не мой, взял его здесь.
Второй день пытаюсь решить данную проблему, но ума дать так и не смог.
Вроде и запрос нужный нашел в файле helper.php, но так и не понял как родительским товарам вывести цену дочернего, да ещё и минимальную.
« Последнее редактирование: 25.06.2013, 16:35:22 от faraon_x »
Вопросы по JFORMS, можно ещё попробовать задать здесь
Российский 3d сканер от разработчиков и производителей
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
К сожалению, код не мой, взял его здесь.
Это плохо )

Давайте сначала. Есть два товара, один стоит 70, второй 100.
Есть некоторые параметры, мин=10 и макс=100
Что должно вывестить для каждого из товаров и почему?
Извини, читать все те простыни я не хочу

P.S. что такое дочерние товары я не знаю, повторяю, не помню чтобы в VirtueMart 1.1.9 такое было, в 2.0 что-то похожее встречалось, не вникал
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

faraon_x

  • Захожу иногда
  • 362
  • 27 / 1
  • Чем смогу, тем помогу )))
Это плохо )

Давайте сначала. Есть два товара, один стоит 70, второй 100.
Есть некоторые параметры, мин=10 и макс=100
Что должно вывестить для каждого из товаров и почему?
Извини, читать все те простыни я не хочу

P.S. что такое дочерние товары я не знаю, повторяю, не помню чтобы в VirtueMart 1.1.9 такое было, в 2.0 что-то похожее встречалось, не вникал
Дочерние товары - это грубо говоря позиции товаров.

К примеру:
Salvador Dali Sea'N'Sun In Cadaques edt жен (740 руб) - родительский товар.

Salvador Dali Sea'N'Sun In Cadaques edt жен 50ml (617 руб) - дочерний товар
Salvador Dali Sea'N'Sun In Cadaques edt жен 75ml (694 руб) - дочерний товар
Salvador Dali Sea'N'Sun In Cadaques edt жен 100ml (764 руб) - дочерний товар

Сейчас модуль показывает цену Salvador Dali Sea'N'Sun In Cadaques edt жен (740 руб),  а хочется чтобы отображалась цена дочернего товар с наименьшей ценой (617 руб.)

И насколько я понял отличаются от родительских тем, что у родительских product_parent_id = 0, а у дочерних product_parent_id = id родительского товара
 
« Последнее редактирование: 25.06.2013, 16:58:37 от faraon_x »
Вопросы по JFORMS, можно ещё попробовать задать здесь
Российский 3d сканер от разработчиков и производителей
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Ага, то есть, если у товара в таблице jos_vm_product параметр product_parent_id отличен от 0 и равен product_id другого товара - то он дочерний
И теперь от обратного - если для product_id есть в результатах запроса у других товаров product_parent_id равный ему, то нужно показывать цену как "от наименьшей"?
Правильно?
Блин, почему это не mssql, там бы давно через case все уже решилось бы, в мускуле кейсы какие-то неправильные )
Если правильно мыслю, напомни завтра\послезавтра в личку, поковыряюсь, сейчас уже ухожу
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart не может создать мини-изображение из .jpeg-файла

Автор Nick IntegraLL

Ответов: 12
Просмотров: 6724
Последний ответ 03.04.2019, 03:28:34
от Roki37
Как реализовать на VirtueMart такую карточку товара?

Автор AdmbVlad

Ответов: 0
Просмотров: 1400
Последний ответ 14.10.2015, 17:01:55
от AdmbVlad
mod VirtueMart featureprod редактирование

Автор vsokol

Ответов: 1
Просмотров: 1464
Последний ответ 10.04.2015, 08:07:41
от vsokol
Редактирование главной страницы VirtueMart

Автор cheni

Ответов: 13
Просмотров: 11417
Последний ответ 02.04.2015, 08:41:09
от flyingspook
Альтернативный модуль вывода категорий товаров (mod_kdz_vm_categories)

Автор kordima

Ответов: 89
Просмотров: 26407
Последний ответ 19.02.2015, 22:02:14
от kordima