Новости 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 Пользователей и 1 Гость просматривают эту тему.
  • 1448 Ответов
  • 380231 Просмотров
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия

Представляю Вашему внимания достаточно универсальный модуль для VirtueMart, версия mod_VirtueMart_universal для Joomla 1.5.


Версия модуля 2.1.1 (теперь в общем доступе)
Скачать


[spoiler title=Новые возможности модуля версии 2.1]
  • кнопка "добавить в корзину" на ajax
  • визуальный выбор категорий и возможность включать вложенные подкатегории
  • различные варианты вывода цены (с учетом налога и скидки)
  • многоязычность (в текущем виде только рус\англ), константы вынесены в языковые файлы language\ru-RU\ru-RU.mod_virtuemart_universal.ini
  • различные варианты вывода изображения в модуле с эффектами lightbox и\или zoom
   
[/spoiler]

Почему этот модуль, а не родной от разработчика VirtueMart Soeren - родной модуль на 6 товаров генерит от 40 запросов в БД, мой же только один SQL запрос

Возможности
 - показать последние добавленные товары
 - показать наиболее продаваемые товары
 - показать товары, отмеченные как featured
 - показывать случайные товары
 - задать количество показываемых товаров
 - задать категории для выборки (ID через запятую)
 - возможно включения JS подсказок для ссылок в модуле, с использованием либо встроенной библиотеки Mootools либо Jquery. Внимание - Jquery не включена в модуль, подключение библиотеки в код контролируйте самостоятельно. Если на сайте одновременно подключены обе библиотеки - JS эффект подсказок отрабатывать не будет, покажется стандартный title для ссылки. JS эффекты отрабатываются для элемента title для .mod_vm_universal a, для полноценного управления изучите CSS. Оформление заложено в файле modules\mod_VirtueMart_universal\files\mod_virtuemart_universal.css (см. комментарии)

Дополнительно:
 - код максимально документирован, смотрите файл modules\mod_VirtueMart_universal\tmpl\default.php для создания собственного шаблона (внимание - класс mod_vm_universal используется для работы JS tooltip)
[spoiler title=справка по шаблону]
   Справка по использованию шаблона:
Код: php
	$item->pname 	- заголовок (название) товара
$item->link - ссылка на полную карточку товара
$item->pimage - картинка товара, не забываем про полный путь до нее
$item->price - цена товара
$item->currency - валюта (денежная единица)
$item->intro - краткое описание товара, очищенное от HTML тегов, по умолчанию выводится как TITLE для картинки и ссылки  "подробнее"
[/spoiler]
 - для достижения валидности и уменьшения нагрузки на сервер перед публикацией сайта на production рекомендуется все JS и CSS файлы компоновать в один файл и применять сжатие (работа соответствующих инструментов и азы создания сайтов находятся вне данной темы)
 - для достижения валидности необходимо подключить скрипт Jquery и  Mootools до вызова скриптов тултипов (всплывающих подсказок), смотри комментарии в helper.php) в блоке HEAD, по умолчанию они выводятся в BODY для работы на 99% хостов без конфликтов
 - по умолчанию HTML структура модуля для каждого элемента такова:
[spoiler title=html вывод элементов модуля]
Код: php-brief
<div class="mod_vm_universal">
 <span class="mod_vm_title">Название товара</strong><br />
 <a href="link" title="Название товара - краткое описание" class="mod_vm_link">
    <img src="linkImg" alt="Название товара - краткое описание" />
  </a>
  <br />
  <a href="link" title="Название товара - краткое описание" class="mod_vm_readmore">Подробнее</a>
  <br />
  <span class="mod_vm_price">Цена: 1000 рублей</span>
</div>
[/spoiler]
 - если у вас VirtueMart используется в качестве каталога (и соответственно нет цен) - решение ниже

[spoiler title=скриншот модуля]

[/spoiler]

Возможные баги:
 - возможно все, поскольку я не очень хорошо знаю структуру товаров магазина. Пожелания и предложения по развитию оставляем в комментариях

Тестировал на Joomla 1.5.10-12 и VirtueMart 1.1.3, огромная благоданость Sulpher за тестирование и общие рекомендации

[spoiler title=Версия модуля 1.2.3]
  • Если для товара не назначено изображение выводится картинка по умолчанию components/com_virtuemart/themes/default/images/noimage.gif (спасибо Sulpher)
[/spoiler]

[spoiler title=Версия модуля 1.2.2]
  • Добавлена возможность показа иконки для товаров с скидкой
  • Добавлена возможность либо автоматически определять ItemID ссылки в меню, ведущей на магазин, либо руками задавать в настройках модуля. Для чего - чтобы при переходе по ссылкам модуля корректно работала активность пункта меню, хлебные крошки и прочие привязки
[/spoiler]

UPD
[spoiler title=Версия модуля 1.2.1]
  • Добавлена возможность обрезания цены до точки (пример: 48.12000 -> 48)
  • Добавлена случайная сортировка товаров (если при кол-ве записей в БД более 10 000 будут проблемы с производительностью - пишите, будут менять алгоритм)
[/spoiler]

[вложение удалено Администратором]
« Последнее редактирование: 24.05.2015, 11:33:11 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

morph

  • Давно я тут
  • 924
  • 105 / 0
+1 однозначно!первый модуль для VirtueMart  со структурой и использованием всего функционала 1.5.
*

Sulpher

  • Живу я здесь
  • 2136
  • 402 / 16
  • Шаблоны и расширения Joomla
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Пётр, у тебя так быстро и хорошо получилось, может ты нам и vm перепишешь? :) +1
*

beliyadm

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

sova

  • Захожу иногда
  • 135
  • 22 / 1
Модуль супер.
А для универсальности есть ли возможность добавить:
1. Возможность вывода случайных товаров.
2. Выбор вывода товаров -  (горизонтально/вертикально).?

Поживу - увижу, доживу - узнаю, выживу - учту
*

Sulpher

  • Живу я здесь
  • 2136
  • 402 / 16
  • Шаблоны и расширения Joomla
2. Выбор вывода товаров -  (горизонтально/вертикально).?
Это можно сделать с помощью CSS. Модуль специально написан на div'ах, дабы не засорять сайт таблицами.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Модуль супер.
А для универсальности есть ли возможность добавить:
1. Возможность вывода случайных товаров.
2. Выбор вывода товаров -  (горизонтально/вертикально).?
спасибо :)
1 - можно, заложил на будущее, на днях добавлю (сделано в версии 1.2.1)
2 - настраивается в CSS, по умолчанию для mod_vm_universal прописаны стили float: left, убрать и будут выстраиваться друг под другом
« Последнее редактирование: 13.07.2009, 17:13:58 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Модуль обновлен до 1.2.1
  • Добавлена возможность обрезания цены до точки (пример: 48.12000 -> 48)
  • Добавлена случайная сортировка товаров (если при кол-ве записей в БД более 10 000 будут проблемы с производительностью - пишите, будут менять алгоритм)
« Последнее редактирование: 13.07.2009, 17:10:26 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmon47

  • Новичок
  • 3
  • 0 / 0
У меня почему то модуль ничего не отображает. Опубликовал его, вывел в позицию left. Название модуля появилось, но больше ничего не отображается. В VirtueMart забито 2 товара в одну категорию, остальные 5 категорий пустые. В модуле даже выставлял Id категории, в которой есть товары.

Я использую Joomla 1.5.12 и VirtueMart 1.1.3.

Не подскажите, что может быть не так?
*

beliyadm

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

dmon47

  • Новичок
  • 3
  • 0 / 0
Товары опубликованы, но цены нет. VirtueMart работает в режиме каталога.
А где копать, чтобы выводилось даже если цен нет? В модуле или шаблоне?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Товары опубликованы, но цены нет. VirtueMart работает в режиме каталога.
А где копать, чтобы выводилось даже если цен нет? В модуле или шаблоне?
В модуле.
1 - в файле helper.php модуля найти запрос
Код: php
		$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 '.
' 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.'';
и заменить на
Код: php
		$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, p.product_s_desc AS pintro '.
' FROM #__vm_product p ' .
' RIGHT JOIN #__vm_product_category_xref AS cx ON p.product_id = cx.product_id'.
' WHERE p.product_publish= "Y" '.$where.' GROUP BY pid  ORDER BY '.$ordering.' LIMIT '.$max_items.'';
Ниже в этом же файле удалить строки
Код: php
$lists[$i]->price 		= $row->pprice;
$lists[$i]->currency = $row->currency;
И из tmpl\default.php убрать строку
Код
<span class="mod_vm_price">Цена: <?php echo $item->price; ?> <?php echo $item->currency; ?></span>

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

dmon47

  • Новичок
  • 3
  • 0 / 0
ОГРОМНОЕ СПАСИБО!!! Все заработало!
*

beliyadm

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

Sulpher

  • Живу я здесь
  • 2136
  • 402 / 16
  • Шаблоны и расширения Joomla
Петь, а по поводу константы "цена" - забыли вынести в настройки модуля, чтобы можно было это слово на др. язык прямо из админки перевести, не лазя в исходник модуля (что, в принципе, тоже не сложно, но ради универсальности можно сделать то, о чем говорили ранее)
*

beliyadm

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

Akirad

  • Новичок
  • 4
  • 0 / 0
Модуль супер!!!
но есть перу нюансов: 1) Картинка выходит за облать модуля
                                 2) Валюта выводиться из списка валют, но не преобразовываеться в "Символ валюты:"
Если только у меня, то где это исправить?
СпС. !!!???!!!      
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
1 - это верстка, HTML вывод модуля я описал в первом посте (по умолчанию в стилях размеры одного блока заданы жестко, если у вас в настройках магазина картинка больше чем у меня при тестировании - будет выходить, поправить легко)
2 - я не закладывал преобразование валюты в символ, если надо поменять - открываем файл modules\mod_VirtueMart_universal\tmpl\default.php и заменяем <?php echo $item->currency; ?> на нужный нам символ валюты
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Akirad

  • Новичок
  • 4
  • 0 / 0
1 - это верстка, HTML вывод модуля я описал в первом посте (по умолчанию в стилях размеры одного блока заданы жестко, если у вас в настройках магазина картинка больше чем у меня при тестировании - будет выходить, поправить легко)
2 - я не закладывал преобразование валюты в символ, если надо поменять - открываем файл modules\mod_VirtueMart_universal\tmpl\default.php и заменяем <?php echo $item->currency; ?> на нужный нам символ валюты
Спс за быстрый ответ)
Если не сложно, ответить более широко.
Что нужно написать для вывода уменьшиного изображения?
на, что нужно заменить <?php echo $item->currency; ?> чтоб получить символ?
Зарание благодарен)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Что нужно написать для вывода уменьшиного изображения?
в файле стилей modules\mod_VirtueMart_universal\files\mod_VirtueMart_universal.css изменить ширину\высоту блока
Код: css
.mod_vm_universal {
float: left; width: 200px; height: 200px; border: 1px solid #ccc; margin: 5px; padding: 5px;
text-align: center !important;
}
на, что нужно заменить <?php echo $item->currency; ?> чтоб получить символ?
на символ валюты, к примеру $
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Akirad

  • Новичок
  • 4
  • 0 / 0
в файле стилей modules\mod_VirtueMart_universal\files\mod_VirtueMart_universal.css изменить ширину\высоту блока
Код: css
.mod_vm_universal {
float: left; width: 200px; height: 200px; border: 1px solid #ccc; margin: 5px; padding: 5px;
text-align: center !important;
}
на символ валюты, к примеру $
С символом все гуд.Спс.
А вот картинка, стоит на месте(
 изменяя ширину\высоту блока - не изменяеться размер картинки, думал вставить кусок кода вывода картинки с flypage-страницы ну что-то не выходить.
Может у Вас получиться прикруть ??

*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
я совершенно не понимаю вашей проблемы, показали бы скриншот, сказали бы каких размеров превьюшка из товара выводится
Можете еще задать размеры картинки в html
Код
<img src="<?php echo JURI::base(); ?>components/com_VirtueMart/shop_image/product/<?php echo $item->pimage; ?>" alt="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" />
заменить на
Код
<img width="150" src="<?php echo JURI::base(); ?>components/com_VirtueMart/shop_image/product/<?php echo $item->pimage; ?>" alt="<?php echo $item->pname; ?> - <?php echo $item->intro; ?>" />
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Akirad

  • Новичок
  • 4
  • 0 / 0
:) Все было так просто!!!
Спасибо
*

Romarios

  • Новичок
  • 3
  • 0 / 0
 !!!???!!! Выручайте! Поставил модуль и сайт мой рухнул.
После длительного ожидания того, что страничка загрузится выпадает ошибка "CGI script error  Ошибка исполнения CGI приложения"
Админка работает, модуль удалял но ничего не изменилось!
*

beliyadm

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

Romarios

  • Новичок
  • 3
  • 0 / 0
beliyadm

Можешь в аську выйти пообщаться?
ICQ 6947262

Спасибо!
Классный модуль!
Все настроил как надо вот только вопрос один...
Как можно сделать так что б модуль выводился только на одной странице (на главной, для которой я назначил отдельный шаблон с юзерблоком1, в котором и отображается этот модуль)? Просто если кликнуть на "подробнее" инфа грузится в томже шаблоне, который назначен для главной страницы...
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
FenderQ - есть такое дело, причина в том что модуль отдает информацию по ItemID текущей страницы, вот привязка шаблона и остается старой. Для решения внесем изменение в файл helper.php модуля
найдем строку
Код: php
$Itemid 		= JRequest::getInt( 'Itemid', 1, 'get' );
и заменим на
Код: php
$Itemid = '10';
где 10 это ItemID пункта меню, который собственно и ссылается на VirtueMart, а сам модуль в настройках привяжем только к главной странице

Наверно надо добавить в модуль дополнительный запрос, чтобы автоматом вытягивал ItemID из меню, что ссылается на магазин, но тут есть подводные камни (если ссылок несколько и так далее), надо будет подумать над решением
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm

Сорри, уже сам нашел... проблема была в ИДшниках
Включил режим дружелюбных ссылок SEO и все норм
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Nick IntegraLL

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

Автор AdmbVlad

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

Автор vsokol

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

Автор cheni

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

Автор kordima

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