Новости 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 Гость просматривают эту тему.
  • 15 Ответов
  • 8258 Просмотров
*

DarkMaster13

  • Захожу иногда
  • 77
  • 12 / 0
Ситуация такая:
  • Все товары разделены по категориям (всего их 4 пока без подкатегорий);
  • Все товары одного типа (Тип_1);
  • У Типа (Тип_1) есть 7 параметров (Параметр1 - Параметр7);
  • Значения параметров находятся в таблице jos_vm_product_type_1;
  • связаны с товаром по полю product_id.
А теперь вопрос: Как сделать сортировку товара по значению параметра типа для заданной категории?

Думаю такая сортировка вещь полезная и довольно универсальная.
Вобщем начинаю ковырять shop.parameter_search_form.
У кого какие идеи не стесняйтесь говорите  *DRINK*
« Последнее редактирование: 04.05.2009, 16:31:20 от beagler »
Копать отсюда и до обеда
*

DarkMaster13

  • Захожу иногда
  • 77
  • 12 / 0
Эй народ !!!! празднуете ? ;D С праздниками Всех. Но всетаки вернемся к моим баранам.
Выполнение такого запроса:
Код
SELECT a.`product_id` , a.`product_name` , b.`nvsh_mex` 
FROM `jos_vm_product` AS a, `jos_vm_product_type_1` AS b, `jos_vm_product_category_xref` AS c
WHERE a.`product_id` = b.`product_id`
AND a.`product_id` = c.`product_id`
AND c.`category_id` =1
AND a.`product_publish` = 'Y'
ORDER BY b.`nvsh_mex`

и расположение всех товаров согласно product_id меня наверно устроит :)
Вообще в shop.parameter_search_form много интересного но для сортировки он скорей всего не нужен.
вот shop_browse_queries гараздо интересней  ;)
в конце файла есть заремареная строка //echo $list;
если коментарий убрать то можно посмотреть какой запрос формируется.
Вот оно я уже де-то рядом :)
Копать отсюда и до обеда
*

DarkMaster13

  • Захожу иногда
  • 77
  • 12 / 0
Вобщем Что у меня вышло
browse_orderbyfields.tpl
Добавляем список параметров в сортировку
Код
$query = "SELECT distinct a.product_type_id,a.parameter_name,a.parameter_label FROM #__{vm}_product_type_parameter AS a ";
$query .= "ORDER BY a.parameter_label ASC";
$db = new ps_DB;
$db->query( $query );
$myres = $db->record;
foreach ($myres as $param) {
$selected = '';
if( @$_REQUEST['orderby'] == $param->parameter_name ) {
$selected = "selected=\"selected\"";
}
echo "<option value=\"".$param->parameter_name."\" $selected>". $param->parameter_label."</option>\n";
}
Немножко правим shop_browse_queries
Добавим нужную таблицу
Код
$table_names = '`#__{vm}_product`, `#__{vm}_category`, `#__{vm}_product_category_xref`,`#__{vm}_shopper_group`,`jos_vm_product_type_1`';
Поправим сортировку
Код
switch( $orderby ) {
case 'product_list':
$orderbyField = '`#__{vm}_product_category_xref`.`product_list`'; break;
case 'product_name':
    $orderbyField = '`#__{vm}_product_type_1`.`nvsh_mex`'; break;
// $orderbyField = '`#__{vm}_product`.`product_name`'; break;
case 'product_price':
$orderbyField = '`#__{vm}_product_price`.`product_price`'; break;
case 'product_sku':
$orderbyField = '`#__{vm}_product`.`product_sku`'; break;
case 'product_cdate':
$orderbyField = '`#__{vm}_product`.`cdate`'; break;
case 'nvsh_mex':
$orderbyField = '`#__{vm}_product_type_1`.`nvsh_mex`'; break;
case 'nvsh_model':
$orderbyField = '`#__{vm}_product_type_1`.`nvsh_model`'; break;
case 'nvsh_dlina':
$orderbyField = '`#__{vm}_product_type_1`.`nvsh_dlina`'; break;
case 'nvsh_cena':
$orderbyField = '`#__{vm}_product_type_1`.`nvsh_cena`'; break;
case 'nvsh_magazin':
$orderbyField = '`#__{vm}_product_type_1`.`nvsh_magazin`'; break;
case 'nvsh_cvet':
$orderbyField = '`#__{vm}_product_type_1`.`nvsh_cvet`'; break;
case 'nvsh_vibor':
$orderbyField = '`#__{vm}_product_type_1`.`nvsh_vibor`'; break;

default:
//$orderbyField = '`#__{vm}_product`.`product_name`'; break;
$orderbyField = '`#__{vm}_product_type_1`.`nvsh_mex`'; break;
}
В разделе // ASSEMBLE THE QUERY правим условие
Код
$where_clause[] = "`product_parent_id`=0 ";
if( !$perm->check("admin,storeadmin") ) {
$where_clause[] = "`product_publish`='Y' ";
$where_clause[] = "`category_publish`='Y' ";
 $where_clause[] = "`jos_vm_product_type_1`.`product_id`= `jos_vm_product`.`product_id`";
Вроде даже работает...
Копать отсюда и до обеда
*

DarkMaster13

  • Захожу иногда
  • 77
  • 12 / 0
Тяк... вобщем расщиренный поиск перестал работать  ;D
решил так
shop_browse_queries
в области // Filter Products by Product Type восстанавливаем список таблиц
Код
$table_names = '`#__{vm}_product`, `#__{vm}_category`, `#__{vm}_product_category_xref`,`#__{vm}_shopper_group`';
Копать отсюда и до обеда
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
*

DarkMaster13

  • Захожу иногда
  • 77
  • 12 / 0
Спасибо. ^-^ VirtueMart Version 1.1.3

попробывать пока можно тутhttp://darkmaster13.no-ip.biz:8080/webstream/

Задача усложняется. В листе сортировки разделить все на блоки таким образом.
Вначале каждого блока выводить "Сортировать по". Например если выбран цвет
то так
Белый
1 2 3 4
--------------------
Голубой
1 2 3 4
5 6 7 8
--------------------
Черный
1 2 3

Может кто делал? Или идею... Пока не знаю как сделать.
Копать отсюда и до обеда
*

DarkMaster13

  • Захожу иногда
  • 77
  • 12 / 0
Бывает :) ща виртуальный хостинг настрою. Работает вроде. Идеи как вывести блоки есть?
« Последнее редактирование: 04.05.2009, 17:08:42 от DarkMaster13 »
Копать отсюда и до обеда
*

DarkMaster13

  • Захожу иногда
  • 77
  • 12 / 0
Длина мне не нужна будет :) но как вариант длину можно задать в метрах 0,9 м.;1 м.;1,1 м.; Правила сорировки как для строк так что должно работать.
« Последнее редактирование: 05.05.2009, 22:00:40 от DarkMaster13 »
Копать отсюда и до обеда
*

DarkMaster13

  • Захожу иногда
  • 77
  • 12 / 0
Так продолжаем :) Не совсем блоки вышли но приемлемо.
получим примерно такое

Белый 1 2 3 4
Голубой 5 6 7 Серый 8
Черный 1 2 3

Сделал так: правим shop.browse.php Добавим в начало $products[$i]['id'] = $db_browse->f('product_id');
Код
$products[$i]['id'] = $db_browse->f('product_id');
$products[$i]['product_name'] = shopMakeHtmlSafe( $product_name );
$products[$i]['product_s_desc'] = $product_s_desc;
$products[$i]['product_details'] = $product_details;
$products[$i]['product_rating'] = $product_rating;
$products[$i]['product_price'] = $product_price;
$products[$i]['product_price_raw'] = $product_price_raw;
$products[$i]['product_sku'] = $db_browse->f("product_sku");
$products[$i]['product_weight'] = $db_browse->f("product_weight");
$products[$i]['product_weight_uom'] = $db_browse->f("product_weight_uom");
$products[$i]['product_length'] = $db_browse->f("product_length");
$products[$i]['product_width'] = $db_browse->f("product_width");
$products[$i]['product_height'] = $db_browse->f("product_height");
$products[$i]['product_lwh_uom'] = $db_browse->f("product_lwh_uom");
$products[$i]['product_in_stock'] = $db_browse->f("product_in_stock");
$products[$i]['product_available_date'] = $VM_LANG->convert( vmFormatDate($db_browse->f("product_available_date"), $VM_LANG->_('DATE_FORMAT_LC') ));
$products[$i]['product_availability'] = $db_browse->f("product_availability");
$products[$i]['cdate'] = $VM_LANG->convert( vmFormatDate($db_browse->f("cdate"), $VM_LANG->_('DATE_FORMAT_LC') ));
$products[$i]['mdate'] = $VM_LANG->convert( vmFormatDate($db_browse->f("mdate"), $VM_LANG->_('DATE_FORMAT_LC') ));
$products[$i]['product_url'] = $db_browse->f("product_url");
добавляем такой код
Код
$test=$product_type_param; // Дополнительная перемення для проверки
$cursortfd=$_REQUEST['orderby']; // Получаем параметр по которому происходит сортировка
if ($cursortfd=="") $cursortfd="nvsh_model"; // Если сортировки нет устанавливаем сами тот который по умолчанию
$query1="SELECT `product_id`,".$cursortfd; // Запрос к базе отбираем значение нужного параметра
$query1.="\n FROM `#__{vm}_product_type_1`";
$query1.="\n WHERE product_id=".$products[$i]['id'];
$db = new ps_DB;
$db->query( $query1);
$myres = $db->record;
foreach ($myres as $param1){
$product_type_param=$param1->$cursortfd;
}
if ($test<>$product_type_param) // Проверяем если значение раньше не выводилось то выводим его
$products[$i]['product_type_param'] = $product_type_param;
else $products[$i]['product_type_param']="<p>&nbsp;</p>";// Если значение уже выводилось вставляем абзац а то иначе будет неровная таблица
Правим browse_N.php так как у меня выводится по 4-ре товара вв строке то я правил browse_4.php
Перед
Код
<h2>
    <a style="font-size: 16px; font-weight: bold;" href="<?php echo $product_flypage ?>"><?php echo $product_name ?></a>
  </h2>
вставляем
Код
<h1>
     <?php echo $product_type_param;?>
 </h1>
Пользуйтесь ... Найдете баг пишите.
« Последнее редактирование: 10.05.2009, 19:05:41 от DarkMaster13 »
Копать отсюда и до обеда
*

DarkMaster13

  • Захожу иногда
  • 77
  • 12 / 0
Нашел глюк. Если выводится несколько страниц теряется значение переменной $orderby устраняем так:
находим в shop.browse.php // Prepare Page Navigation и дописываем
$search_string .= empty($orderby) ? '' : '&amp;orderby='.$orderby;
Код
$search_string = $mm_action_url."index.php?option=com_virtuemart&amp;Itemid=$Itemid&amp;category_id=$category_id&amp;page=$modulename.browse";
$search_string .= empty($manufacturer_id) ? '' : "&amp;manufacturer_id=$manufacturer_id";
$search_string .= empty($keyword) ? '' : '&amp;keyword='.urlencode( $keyword );
$search_string .= empty($orderby) ? '' : '&amp;orderby='.$orderby;
Копать отсюда и до обеда
*

Sqvall

  • Захожу иногда
  • 95
  • 2 / 0
Доброго дня. Думаю что у меня похожая задача, сделать вместо стартовой страницы VirtueMart 1.1.3 где расположены фотографии главных групп, создать просто выборки в ячейках где выбираешь сначало Главную группу, далее в след ячейке все что относилось к главной группе (тоесть подгруппа), далее в след ячейке уже выбираю все товары относящиеся к этой подгруппе. Есть ли готовое решение данному вопросу?
*

DarkMaster13

  • Захожу иногда
  • 77
  • 12 / 0
Доброго! Готового нет. Я правлю код магазина в зависимомсти от потребностей. Если есть вопросы то связатся можно так: http://www.coder.cv.ua/index.php?option=com_content&view=article&id=3&Itemid=9
Копать отсюда и до обеда
*

Webprohozhiy

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Цитировать
Правим browse_N.php так как у меня выводится по 4-ре товара вв строке то я правил browse_4.php .....

А что вставлять в browse_listtable.tpl.php для отображения типа в таблице?
*

Master of Magic

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
Не, не работает. Поменял shop_browse_queries.php и browse_orderbyfields.tpl.php
В фильтре выпадающий список (browse_orderbyfields.tpl.php) формируется правильно, появились все параметры.
Но при выборе любого из параметров - товаров нет. Всякие разные эксперименты в hop_browse_queries резульатов не дали, кто подскажет где копать? vm 1.1.7
Вот наткнулся на такой фильтр:
http://allancer.com/free-stuff/allancer-virtuemart-advanced-search
« Последнее редактирование: 08.06.2011, 17:54:45 от Master of Magic »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сравнения товара в VM 1.1.X

Автор Bear

Ответов: 464
Просмотров: 86186
Последний ответ 17.06.2016, 10:44:50
от uralmas
[Решено] Невидимая регистрация ( Покупка без регистрации ) V1.1.3

Автор urodoff

Ответов: 319
Просмотров: 110345
Последний ответ 27.10.2014, 15:27:02
от gaalferov
[Решено] Отобразить кол-во товаров из всех подкатегорий V1.1.3

Автор bazic

Ответов: 19
Просмотров: 14391
Последний ответ 18.09.2014, 06:39:33
от fila61
вывод категории и её подкатегорий на одной странице

Автор sega

Ответов: 44
Просмотров: 16355
Последний ответ 30.04.2014, 14:05:45
от ИринаМ
[Решено] Добавление Watermark к фото товара V1.0.15 V1.1.3

Автор mickymouse

Ответов: 52
Просмотров: 23309
Последний ответ 13.06.2013, 01:04:46
от richman