Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Подскажите, как подправить запрос на выборку товаров так, что бы он не выбирал товары без цены для текущей группы покупателей. У меня на сайте есть товары которые стоят по разному для разных групп и некоторые товары для определенной группы вообще не показываются - для данной группы покупателей цена просто не прописана, а данный модуль их все равно вытягивает :(
*

beliyadm

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

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Угу... На как познакомить этот модуль с группами покупателей и разными ценами? Сделать так, что бы он выводил только те товары, у которых есть цена для текущей группы покупателей? Поясню: есть товар Т1 и Т2. Есть группы покупателей Г1 и Г2. Ну у товара Т1 есть 2 цены - для групп Г1 и Г2 соответственно, а у товара Т2 есть цена только для группы Г2 - потому что группе Г1 этот товар не положен (ну подарок это для премиум покупателя или еще чего). А модуль не знает ничего про разные цены и получается некрасиво - в каталоге магазина цена одна, а в модуле цена другая :(
*

beliyadm

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

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Ну да. Неавторизованные пользователи (они же розничные покупатели) сидят в группе default, авторизованные в группе 1 (оптовики) и авторизованные в группе 2 (особые клиенты).
Есть 2 таблицы:
1. jos_vm_shopper_group с полями shopper_group_id и другими нам уже не интересными, ну там название группы, ее описание... есть там поле скидки для группы, но я его не использую, хотя для кого-то это нужно...
2. jos_vm_product_price с полями product_price_id (уникальный id), product_id, product_price, shopper_group_id и еще другие...
3. jos_vm_shopper_vendor_xref которая связывает user_id и shopper_group_id.
Ну я понимаю, что нужно как-то по id клиента вытягивать shopper_group_id из jos_vm_shopper_vendor_xref, ну и уже в jos_vm_product_price вытягивать цену для нужного товара.
К сожалению в SQL не силен, что бы все это дело запихать в один красивый запрос :(
*

beliyadm

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

ivanesx2008

  • Захожу иногда
  • 66
  • 0 / 0
И все-таки вопрос - КАК вывести валюту, в которой отображаются товары в магазине? У меня к примеру UAH (грн.), а в модуле USD. Не порядок...
*

marigolu

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
loginbox, огромное вам спасибо за совет по увеличению изображений в модуле!

...если хотите сделать определенного размера, то нужно в файле mod_virtuemart_universal/tmpl/default.php
для <img src="<?php echo $item->pimage; ?>" задать нужные размеры.
единственный момент, лучше всего изменять размер не уменьшенной картинки а полной, а то если у вас автоматом уменьшенная картинка 90x90, то выставив размеры 150x150 картинка будет не красивой.
для этого в файле mod_virtuemart_universal/helper.php нужно сделать следующее  в строке 112
$query = 'SELECT p.product_id AS pid, p.product_sku AS psku, p.product_thumb_image AS pimage, p.product_name AS pname, ' . .....
заменить p.product_thumb_image AS pimage на p.product_full_image AS pimage

Вот как красиво получилось http://www.surell.su
Но я хочу также сделать красивые увеличенные изображения и в категориях товаров. Пока получилось только увеличить http://clip2net.com/clip/m26970/1303194616-clip-37kb.jpg Где можно задать, чтобы брались не уменьшенные картинки, оригинальные?

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

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
пока никакая, в модуль этого не заложено
в хелпер добавить через JOIN таблицу #__vm_category, в SELECT соответственно добавить category_name, в цикле foreach обозначить новый элемент массива
Код: php
$lists[$i]->catname 		= $row->category_name;
и дальше в шаблоне модуля оперировать значением
Код: php
<?php echo $item->catname; ?>

Кому нужно, чтобы отображались названия категорий и ссылки на страницы категорий, вот код:

Цитировать
$query = 'SELECT distinct p.product_id AS pid, p.product_sku AS psku, p.product_thumb_image AS pimage, p.product_name AS pname, p.product_full_image AS pfimage, ' .
      'cat.category_flypage as flypage,' . 'cat.category_name as category_name,' .
         ' 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 ' .
         ' JOIN #__vm_product_category_xref AS cx ON p.product_id = cx.product_id'.
         ' JOIN #__vm_product_price as pp ON pp.product_id = p.product_id ' .
         ' JOIN #__vm_category AS cat ON cx.category_id = cat.category_id'.
         ' WHERE p.product_publish= "Y" '.$where.' ORDER BY '.$ordering.' LIMIT '.$max_items.'';
      $db->setQuery($query);
      $rows = $db->loadObjectList();

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

      foreach ( $rows as $row )
      {
         $flypage = $row->flypage;
         if ($flypage == '')  $flypage = $flypage_default;
      
         $lists[$i]->clink = JRoute::_('index.php?&page=shop.browse&category_id='.$row->catid.'&option=com_virtuemart&Itemid='.$Itemid,false);
   
         $lists[$i]->link = JRoute::_('index.php?page=shop.product_details&category_id='.$row->catid .
                               '&flypage=' . $flypage .
                               '&product_id='.$row->pid .
                               '&option=com_virtuemart&Itemid='.$Itemid,false);
         $lists[$i]->template_path = $template_path;
         $lists[$i]->product_sku     = $row->psku;
         $lists[$i]->pname         = $row->pname;
         $lists[$i]->catid         = $row->catid;
         $lists[$i]->catname         = $row->category_name;
         $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]->pfimage       = JURI::base().'components/com_virtuemart/shop_image/product/'.$row->pfimage;
         $lists[$i]->intro       = strip_tags($row->pintro);
         $lists[$i]->price       = $row->pprice;

Жирным выделены ключевые добавки. Далее в default.php используются $item->catname - для названий категорий и $item->clink - для ссылок на эти категории.
« Последнее редактирование: 19.04.2011, 22:29:03 от mrhuge »
*

ivanesx2008

  • Захожу иногда
  • 66
  • 0 / 0
Ребят, по поводу отображения нужной валюты в модуле отпишите пожалуйста! !
*

marigolu

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Доброго дня!

Было замечено, что при расположении на странице нескольких модулей mod_vm_universal пропадают всплывающие подсказки к названиям товаров. Вот пример http://surell.su/index.php?option=com_content&view=article&id=58&Itemid=41 Как помочь делу?
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Доброго дня!

Было замечено, что при расположении на странице нескольких модулей mod_vm_universal пропадают всплывающие подсказки к названиям товаров. Вот пример http://surell.su/index.php?option=com_content&view=article&id=58&Itemid=41 Как помочь делу?
marigolu, у Вас явный конфликт скриптов. Если копируете и включаете параллельно несколько вариантов одного модуля отключайте подгрузку скриптов в дубликатах. Смотрите в helper.php - подключение mootools_tooltip.js. К сожалению, строку не помню, да и файл у меня переделан.
PS, Обратите внимание  на время загрузки страниц сайта (при том, что с интернетом у меня дома все в порядке).
И еще... На сайте стоит Copyright © "VM-STUDIO" .  Действительно авторство принадлежит этому коллективу?
(на ответе не настаиваю...)
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
beliyadm, есть вопрос к тебе!

Благодаря твоим наводкам, я реализовал отображение названия категории товара в модуле http://joomlaforum.ru/index.php/topic,71309.msg872227.html#msg872227

Но есть цель пойти дальше. Хочу реализовать отображение родительской категории рядом с дочерней. Разработчик VirtueMart Metadata hack сделал это таким образом:

Цитировать
$dbcpx = new ps_DB;
$q = "SELECT category_parent_id FROM #__{vm}_category_xref WHERE category_child_id='$category_id'";
$dbcpx->query( $q );
$dbcpx->next_record();
$category_has_parent_id = $dbcpx->f('category_parent_id');
$category_has_parent_name = "";
$category_has_parent_description = "";
if ($category_has_parent_id == "0") {
   $category_has_parent_id = "";
}
if ($category_has_parent_id != "") {
   $dbcp = new ps_DB;
   $q = "SELECT category_name, category_description FROM #__{vm}_category WHERE category_id='$category_has_parent_id'";
   $dbcp->query( $q );
   $dbcp->next_record();
   $category_has_parent_name = $dbcp->f('category_name');
   $category_has_parent_description = $dbcp->f('category_description');
}

То есть один запрос выбирает category_parent_id из таблицы #__{vm}_category_xref где category_child_id - текущая категория. Потом, второй запрос выбирает category_name из #__{vm}_category по полученному родительскому id.

Попытался доработать похожим образом твой модуль (добавлять JOIN #__vm_category_xref, из нее выбрать category_parent_id), но не выходит. У тебя сделано по другому принципу: с целью экономии запросов всё делается через один запрос $query, в котором выбираются все данные. Как сюда приклепать выбор родительского id, а потом через него выбор имени родительской категории - ума не приложу, не хватает знаний mysql.

Подскажешь куда копать? Как, используя способы твоего модуля, осуществить задуманное?
*

kiriamba

  • Захожу иногда
  • 86
  • 0 / 0
Классный модуль :)
а его как то можно использовать на одном сайте в нескольких функциях ?
например в Рекомендуемые товары и Последние новинки ?
*

beliyadm

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

ivanesx2008

  • Захожу иногда
  • 66
  • 0 / 0
ПО ПОВОДУ ВАЛЮТЫ ОТПИШИТЕ ПОЖАЛУЙСТА!

Или поста не видно? Или только у меня проблема с отображением не USD а другой валюты, выбранной пользователем через модуль mod_vmcurrency?
*

Lightning21

  • Новичок
  • 6
  • 0 / 0
Здравствуйте. Есть ли такой модуль/плагин который увеличивает картинку при наведении курсора? Нужно реализовать именно на главной странице этого сайта http://bearloga21.ru/ для раздела случайные товары. Заранее Спасибо за ответы.
*

Lightning21

  • Новичок
  • 6
  • 0 / 0
както можно с интегрировать с этим скрипотм? http://videouroki.su/video-urok-plavnoe-uvelichenie-kartinki-pri-navedenii-na-neyo-kursorom-myshi.html
*

lividum

  • Новичок
  • 4
  • 0 / 0
После переноса сайта на хостинг(РБК-хостинг) модуль не отображает товары.

Версия PHP - 5.3 (на хостинге и в локалке)

PHP Warning:  Invalid argument supplied for foreach() in /www/htdocs/joomla/modules/mod_virtuemart_universal/helper.php on line 155
PHP Warning:  Invalid argument supplied for foreach() in /www/htdocs/joomla/modules/mod_virtuemart_universal/helper.php on line 155

Часть кода, на которую ругается:

Код
              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;
                        $lists[$i]->mfname              = $row->mfname;
                        $lists[$i]->catname             = $row->category_name;
                        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]->price               = modVirtUniversalHelper::getFullValue(($row->pprice),$row->currency);
                        $lists[$i]->currency    = $row->currency;
                        if (($row->discount != '0') && ($discount == '1')) {
                                $lists[$i]->discount    = '1';
                        } else {
                                $lists[$i]->discount    = '0';
                        }
                        $i++;
                }
*

dark_star

  • Захожу иногда
  • 109
  • 7 / 0
Можно ли сделать в модуль, еще чтобы товары выводились те, которых не было на складе, и они появились. Т.е. у меня товара нет в наличии, я привез его, сменил в админке "На складе" с 0 на 1, и чтобы модуль выводил товары те которые вновь появились на складе.
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Можно ли сделать в модуль, еще чтобы товары выводились те, которых не было на складе, и они появились. Т.е. у меня товара нет в наличии, я привез его, сменил в админке "На складе" с 0 на 1, и чтобы модуль выводил товары те которые вновь появились на складе.
Модуль с добавлением принудительного показа нужных товаров по ID:
http://joomlaforum.ru/index.php/topic,71309.msg729947.html#msg729947
И здесь его вариант с добавлениями:
http://joomlaforum.ru/index.php/topic,71309.msg795497.html#msg795497
Выбираем и показываем только те товары, которые нужны...
*

orchanin

  • Захожу иногда
  • 172
  • 3 / 0
Вижу вопрос в ветке поднимался но без ответа! Может кто вкурсе как вывести параметры типа товара в модуле этом?
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
добрый день! модуль отличный! J 1.5.20 + VM 1.1.5

есть вопросы:

1. Как исправить косяк с выводом обычной цены товара, когда есть скидка? Скидка указана, но в модуле упорно выводится цена без скидки!
2. у меня на картинки накладывается водяной знак по средствам .htaccess Накладываются только на большие картинки товаров, на превьюшки - нет. Как в ваш модуль интегрировать именно превьюшки, без водяного знака? т.е. картинки из папки /components/com_virtuemart/shop_image/product/resized?

Заранее спасибо!
« Последнее редактирование: 03.05.2011, 23:25:52 от dron »
*

morph

  • Давно я тут
  • 924
  • 105 / 0
Вижу вопрос в ветке поднимался но без ответа! Может кто вкурсе как вывести параметры типа товара в модуле этом?
это будет уже мегазапрос,если еще тянуть 3 таблицы с типами )
посмотрите
function list_product_type в ps_product_type.php вроде и подобным образом подключайте таблицы в главный запрос
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Так будет проще, но прибавится несколько запросов к каждому товару.
*

sagym

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Ребят всем привет.Вожусь весь день не могу оцентровать картинку выводимого товара если картинка маленькая то текст скачет то вниз то вверху помогите пожалуйста.
все перепробывал даже vertical-align:middle; не помогает(
*

kiriamba

  • Захожу иногда
  • 86
  • 0 / 0
Ребят всем привет.Вожусь весь день не могу оцентровать картинку выводимого товара если картинка маленькая то текст скачет то вниз то вверху помогите пожалуйста.
все перепробывал даже vertical-align:middle; не помогает(
у меня почти такая же проблема
Если Картинка большая текст вылазит за рамки
Подскажите как подправить :)
*

vertraut

  • Захожу иногда
  • 53
  • 0 / 0
Спасибо огромное за модуль!
Установил, все круто) но есть проблемка... Если название у товаров разное, то текст выходит за рамки.
+ добавить кнопочку "в корзину"
Скрин прилагаю) Заранее спасибо)



*************************************
Сам нашел решение!
Идем в /modules/mod_virtuemart_universal/files/mod_virtuemart_universal.css
и изменяем:
1) с .mod_vm_universal  {float: left; width: 200px; height: 200;  border: 1px solid #ccc; margin: 5px; padding: 5px;}
на .mod_vm_universal  {float: left; width: 200px; height: auto;  border: 1px solid #ccc; margin: 5px; padding: 5px;}
2) с .mod_vm_title {font-weight: bold;}
на .mod_vm_title {font-weight: bold; height: 30px;}
« Последнее редактирование: 11.05.2011, 12:57:35 от vertraut »
*

slava088

  • Захожу иногда
  • 79
  • 1 / 0
Установил все прекрасно, но сайт начинает тормозить ужасно, может есть возможность устранить проблему?
*

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
может кто-нибудь расскажет, как выводить товары по ID...  :'(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Nick IntegraLL

Ответов: 13
Просмотров: 12050
Последний ответ 19.08.2025, 09:55:52
от AgentSmith
Как реализовать на VirtueMart такую карточку товара?

Автор AdmbVlad

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

Автор vsokol

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

Автор cheni

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

Автор kordima

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