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

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Пытаюсь сделать отбор всех категорий, в которых имеется товар производителя. Но что-то слишком крепко я SQL подзабыл. Может, найдётся добрая душа, которая кинет в меня нужным запросом?

Делаю нечто вроде такого, но в информации о производителе:
Летайте самолетами и сами по себе.
*

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Re: Выбор категорий по производителю
« Ответ #1 : 16.03.2010, 06:07:51 »
Зря паниковал. Немного подумал и таки сделал.



Код
// manuf start 
if ( !empty( $manufacturer_id ) ) {
$query  = "SELECT distinct a.category_id,a.category_name FROM #__{vm}_category AS a, ";
    $query .= "\n#__{vm}_product AS b,"
    . "\n#__{vm}_product_mf_xref AS c,"
    . "\n#__{vm}_product_category_xref AS d "
    . "\nWHERE c.manufacturer_id='$manufacturer_id'"
    . "\n AND d.product_id = b.product_id "
    . "\n AND b.product_id = c.product_id AND d.category_id = a.category_id ";

$query .= "ORDER BY a.category_name ASC";
$db = new ps_DB;
$db->query( $query );

$res = $db->record;

if( !empty ($manufacturer_id) ) {
      $query  = "SELECT mf_name, manufacturer_id FROM #__vm_manufacturer" ;
      $query .= "\n WHERE manufacturer_id=".$manufacturer_id;
      $database->setQuery( $query );
      $database->loadObject($result);
  $manuf_name = $result->mf_name.' ';
}
else{
$cat_name = '';
}
  $num = 0;
  foreach( $res as $category) {
    $num = $num + 1;
  echo '<div style="margin-left:3%;margin-bottom:10px;width:30%;float:left">';
     echo '<a href="'.$sess->url( $mm_action_url.'index.php?option=com_virtuemart&page=shop.browse&manufacturer_id='. $manufacturer_id.'&category_id='.$category->category_id ).'" title="'.$category->category_name.' '.$manuf_name.'"><h4>'.$category->category_name.' '.$manuf_name.'</h4></a>';
 echo '</div>';
           if($num==3){
              echo '<br style="clear:both"/>';
              $num = 0;
          }

}
echo '<br style="clear:both"/>';
}
//manuf end
Летайте самолетами и сами по себе.
*

remix8080

  • Захожу иногда
  • 347
  • 39 / 0
Re: Выбор категорий по производителю
« Ответ #2 : 16.03.2010, 15:36:46 »
Идея очччень хорошая!
И куда этот код? В shop.browse.php?
*

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Re: Выбор категорий по производителю
« Ответ #3 : 16.03.2010, 17:15:26 »
В него, родимого.
Я shop.browse перелопатил напрочь, теперь вместо "все товары производителя" - его описание и ссылки на псевдокатегории. Вместо "все товары" - список производителей с логотипом и огрызком описания+ссылка на предыдущий пункт. Ну и псевдокатегории везде, где есть category_id.

Вставлябельный кусок для shop.browse:

Цитировать
if (!empty($manufacturer_id) && empty($category_id)) {
      $query2  = "SELECT mf_name, manufacturer_id, mf_desc, mf_url FROM #__vm_manufacturer" ;
      $query2 .= "\n WHERE manufacturer_id=".$manufacturer_id;
      $database->setQuery( $query2 );
      $database->loadObject($result2);
     $manuf_name = $result2->mf_name;
     $manuf_desc = $result2->mf_desc;
     $manuf_logo = $result2->mf_url;
     $imgurl=$mosConfig_live_site.$manuf_logo;
echo '<div>';
   if (! empty ($manuf_logo)){   
   echo '<img src="'.$imgurl.'" border="0" style="height:120px;width:auto;float:right;" alt="'.$manuf_name.'" />';
   }
echo '<h1 style="text-align:center;padding-top:10px;">'.$manuf_name.'</h1><br/>';     
     if( trim(str_replace( "<br />", "" , $manuf_desc))!= "" ) {
      echo $manuf_desc;
        }
      echo '</div>
            <br style="clear:both;" /><br />';     

// manuf start
   $query  = "SELECT distinct a.category_id,a.category_name FROM #__{vm}_category AS a, ";
    $query .= "\n#__{vm}_product AS b,"
    . "\n#__{vm}_product_mf_xref AS c,"
    . "\n#__{vm}_product_category_xref AS d "
    . "\nWHERE c.manufacturer_id='$manufacturer_id'"
    . "\n AND d.product_id = b.product_id "
    . "\n AND b.product_id = c.product_id AND d.category_id = a.category_id ";

$query .= "ORDER BY a.category_name ASC";
$db = new ps_DB;
$db->query( $query );

$res = $db->record;

        $num = 0;
echo '<b>Мы продаём:</b>';
echo '<br style="clear:both;" /><br />'; 
     foreach( $res as $category) {
    $num = $num + 1;
  echo '<div style="margin-left:3%;margin-bottom:10px;width:30%;float:left">';
     echo '<a href="'.$sess->url( $mm_action_url.'index.php?option=com_virtuemart&page=shop.browse&manufacturer_id='. $manufacturer_id.'&category_id='.$category->category_id ).'" title="'.$category->category_name.' '.$manuf_name.'"><h4>'.$category->category_name.' '.$manuf_name.'</h4></a>';
 echo '</div>';
           if($num==3){
              echo '<br style="clear:both"/>';
              $num = 0;
          }

}
echo '<br style="clear:both"/>';
//manuf end

return $mainframe;     
     }

зы: объектом издевательств стал VirtueMart 1.0.хз
« Последнее редактирование: 16.03.2010, 17:21:34 от wildweasel »
Летайте самолетами и сами по себе.
*

remix8080

  • Захожу иногда
  • 347
  • 39 / 0
Re: Выбор категорий по производителю
« Ответ #4 : 16.03.2010, 18:32:16 »
зы: объектом издевательств стал VirtueMart 1.0.хз

Упс... А для 1.1.3 подойдет?
П.С. Еще не экспериментировал.
*

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Re: Выбор категорий по производителю
« Ответ #5 : 16.03.2010, 18:51:31 »
Структура БД в этом плане не отличается так что может и сработать.
Вставлять лучше после:

Код
// NEW: Include the query section from an external file
// If settings are loaded, extended Classes are allowed and the
Летайте самолетами и сами по себе.
*

remix8080

  • Захожу иногда
  • 347
  • 39 / 0
Re: Выбор категорий по производителю
« Ответ #6 : 16.03.2010, 18:58:30 »
Поэкспериментировал  ^-^

Правда, не уверен точно в какое место вставлять код, по-этому вставил в конец файла :-)
Ошибок не было  ^-^  После всех товаров даного производителя сейчас "Мы продаем" и все категории с даным производителем.
А можно так переделать, чтобы в "мы продаем" было не просто имя категории, а "весь путь" категорий? Т.е., например:

Мы продаем:

Комплектирующие/мат.платы/Acer       Комплектирующие/"Какие-то другие комплектирующие"/Acer        Ноутбуки/Acer
*

remix8080

  • Захожу иногда
  • 347
  • 39 / 0
Re: Выбор категорий по производителю
« Ответ #7 : 16.03.2010, 19:02:06 »
Структура БД в этом плане не отличается так что может и сработать.
Вставлять лучше после:

Код
// NEW: Include the query section from an external file
// If settings are loaded, extended Classes are allowed and the

Вставил после // NEW: Include the query section from an external file
Работает!
Спасибо!
*

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Re: Выбор категорий по производителю
« Ответ #8 : 16.03.2010, 19:22:20 »
А зачем "весь путь"? Я эту бяку делал для SEO, а живые люди редко ищут "Комплектирующие/мат.платы/Acer ".
Летайте самолетами и сами по себе.
*

remix8080

  • Захожу иногда
  • 347
  • 39 / 0
Re: Выбор категорий по производителю
« Ответ #9 : 16.03.2010, 19:32:28 »
А зачем "весь путь"?

В моем случае структура категорий такая:

Комплектирующие/мат.платы/Acer
...
.../Acer
...
Ноутбуки/Acer
...

Всем товарам этих "последних" категорий проставлен производитель (в даном случае - Acer), и когда использую Вашу модификацию, то, соответственно, вижу:

Мы продаем:

Acer    Acer    Acer....


Оно-то правильно, т.е. так и должно показывать... но в даном случае лучше, если б был весь "путь" категорий  ^-^
« Последнее редактирование: 16.03.2010, 19:36:25 от remix8080 »
*

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Re: Выбор категорий по производителю
« Ответ #10 : 16.03.2010, 19:44:42 »
Вон оно как... ну, тогда остаётся только переименовать подкатегории в стиле "Ноутбуки Acer" и убрать
Код
.$manuf_name.
Тогда будет "Ноутбуки/Ноутбуки Acer" и "Мат. платы Acer  Ноутбуки Acer..."
Летайте самолетами и сами по себе.
*

remix8080

  • Захожу иногда
  • 347
  • 39 / 0
Re: Выбор категорий по производителю
« Ответ #11 : 16.03.2010, 19:50:30 »
Вон оно как... ну, тогда остаётся только переименовать подкатегории в стиле "Ноутбуки Acer"

Только-что и думал над этим :)
*

remix8080

  • Захожу иногда
  • 347
  • 39 / 0
Re: Выбор категорий по производителю
« Ответ #12 : 16.03.2010, 20:20:04 »
А все-таки, Wildweasel, можно ли сделать такой "путь"?
*

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Re: Выбор категорий по производителю
« Ответ #13 : 16.03.2010, 20:40:11 »
В принципе можно, но дополнительный код будет по размеру не менее 1/2 от того, что есть. В базе есть отношение товар->категория, товар->производитель и "дерево категорий". Соответственно, каждую категорию из
Код
foreach( $res as $category) 
придётся допрашивать на тему родословной. Нагрузка на сервер может стать неприличной.
Летайте самолетами и сами по себе.
*

remix8080

  • Захожу иногда
  • 347
  • 39 / 0
Re: Выбор категорий по производителю
« Ответ #14 : 16.03.2010, 20:46:39 »
придётся допрашивать на тему родословной. Нагрузка на сервер может стать неприличной.

Понятно. Тогда уж лучше категории переименовать :)
Спасибо!
*

and72

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Выбор категорий по производителю
« Ответ #15 : 28.03.2010, 18:06:14 »
Спасибо огромное за решение! Очень давно его искал.. Единственное не подскажете.. как сделать так, чтобы не выводились неопубликованные категории?
*

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Re: Выбор категорий по производителю
« Ответ #16 : 28.03.2010, 18:20:03 »
Как-то я об этом не подумал.
Значит, в $query после:

Код
\nWHERE

Следует добавить:

Код
#__vm_category.category_publish='Y' AND 
« Последнее редактирование: 28.03.2010, 18:28:22 от wildweasel »
Летайте самолетами и сами по себе.
*

and72

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Выбор категорий по производителю
« Ответ #17 : 28.03.2010, 18:28:25 »
Спасибо за быстрый ответ.. но не понял после какой строки это нужно вставить
*

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Re: Выбор категорий по производителю
« Ответ #18 : 28.03.2010, 18:32:55 »
Отправил ответ, и только тогда сообразил, что запроса два :)

Вставлять сюда:

Цитировать
// manuf start
   $query  = "SELECT distinct a.category_id,a.category_name FROM #__{vm}_category AS a, ";
    $query .= "\n#__{vm}_product AS b,"
    . "\n#__{vm}_product_mf_xref AS c,"
    . "\n#__{vm}_product_category_xref AS d "
    . "\nWHERE c.manufacturer_id='$manufacturer_id'"
    . "\n AND d.product_id = b.product_id "
    . "\n AND b.product_id = c.product_id AND d.category_id = a.category_id ";
Летайте самолетами и сами по себе.
*

and72

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Выбор категорий по производителю
« Ответ #19 : 28.03.2010, 18:41:13 »
$query  = "SELECT distinct a.category_id,a.category_name FROM #__{vm}_category AS a, ";
    $query .= "\n#__{vm}_product AS b,"
    . "\n#__{vm}_product_mf_xref AS c,"
    . "\n#__{vm}_product_category_xref AS d "
    . "\nWHERE c.manufacturer_id='$manufacturer_id'"
        #__vm_category.category_publish='Y' AND   
     . "\n AND d.product_id = b.product_id "
    . "\n AND b.product_id = c.product_id AND d.category_id = a.category_id ";
Попробовал различные подстановки.. но к сожалению ничего не меняется или выходит ошибка, ничего больше не надо?
*

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Re: Выбор категорий по производителю
« Ответ #20 : 28.03.2010, 18:48:58 »
А если так:

Цитировать
    . "\nWHERE category_publish='Y' AND c.manufacturer_id='$manufacturer_id'"
Летайте самолетами и сами по себе.
*

and72

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Выбор категорий по производителю
« Ответ #21 : 28.03.2010, 18:51:29 »
УУра! спасибо! все заработало!
*

wildweasel

  • Захожу иногда
  • 109
  • 29 / 5
Re: Выбор категорий по производителю
« Ответ #22 : 28.03.2010, 18:54:24 »
на здоровье. :)
Летайте самолетами и сами по себе.
*

and72

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Выбор категорий по производителю
« Ответ #23 : 31.03.2010, 18:55:33 »
а можно еще вопрос... возможно рядом с категориями выводить еще и ее фотку?
*

and72

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Выбор категорий по производителю
« Ответ #24 : 05.04.2010, 18:30:18 »
 с фотками разобрался , а не подскажите как сделать чтобы выводились только дочерние категории? а то товар приписан к нескольким и список получается дублированный :(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Усовершенствованный модуль категорий [Аккордион и прочее - the best ;) ]

Автор danik.html

Ответов: 749
Просмотров: 198333
Последний ответ 24.11.2014, 18:37:11
от slavakh
Вывод товара из дочерних категорий в родительскую

Автор B0nG

Ответов: 0
Просмотров: 1906
Последний ответ 03.08.2014, 15:13:57
от B0nG
Быстродействие модуля дерева категорий JSCookTree VirtueMart в браузере Firefox

Автор capricorn

Ответов: 0
Просмотров: 1559
Последний ответ 29.11.2013, 18:31:00
от capricorn
[Решено] Категорий при добавлении товара больше 200...

Автор mobiland

Ответов: 6
Просмотров: 2138
Последний ответ 22.11.2013, 12:41:26
от El_nik
Mета-теги для товаров и категорий VirtueMart

Автор igoryk

Ответов: 2
Просмотров: 4215
Последний ответ 30.10.2013, 09:11:53
от Ingener