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

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Не лезь в shop_browse_queries
Поле mf_desc мы оказывается запросили уже, осталось передать его шаблону:
Код: php
$tpl->set( 'mf_desc', $db->f("mf_desc") );
Это надо вставить в том месте где мы вставляли запрос производителя
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Залил новую версию файла. Теперь производители не дублируются.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Текс Даня я чето не то делаю наверное. Вот такой код общий сделал:

Цитировать
    if( $category_id ) {
        /**
        * CATEGORY DESCRIPTION
        */
        $browsepage_lbl = $category_name;
        if ($manufacturer_id) {
            $db->query( "SELECT manufacturer_id, mf_name, mf_desc FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'");
            $db->next_record();
            $browsepage_lbl.= '  '.shopMakeHtmlSafe( $db->f("mf_name") ).'  ';
            $tpl->set( 'mf_desc', $db->f("mf_desc") );
        }

Описание производителя не выводится. А когда через модуль Вирта производители делаю фильтр - выводится описание без добавочных кодов.

Че делать подскажи?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
нехакнутый вирт может отображать либо производителя либо категорию. Это можно проследить по цепочке условий if ($category_id){...} else if ($manufacturer_id) {..}
Хакнув, мы добавили к заголовку назвнаие производителя, а написав  $tpl->set( 'mf_desc', $db->f("mf_desc") ) сделали доступной в шаблоне вирта переменную $mf_desc. Осталось только вывести ее. ковыряй themes/default/template/browse/includes/какйото_файл.php
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Ну что я могу сказать - только опять "еееее"  ;D

добавил в /components/com_virtuemart/themes/default/templates/browse/includes/browse_header_category.tpl.php
такуб строчку:
<?php echo $mf_desc; ?>

и стало хорошо-хорошо!

Вирт стал уже очень крутой: и ЧПУ быстрый и категории АЯКСом меняются и производители фильтруются. Ну не сказка ли! Всё почти как в настоящих интернет-магазинах ;D

И всё благодаря кому?  :o
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Данил, не могу никак поправить отступ у тега <ul> в аккордионе производителей.

Вот что добавляется при формировании меню. Эта строчка, собственно, и портит всё.

Например, Скутеры:
<ul style="padding-top: 0px; border-top: medium none; padding-bottom: 0px; border-bottom: medium none; overflow: hidden; height: 180px;">

В данном случае, мне надо как-то скорректировать вот эти параметры. В частности, padding-top. Но если мы его меняем (значение) на фиксированную величину, то развернуть этот пункт "мото на земле" уже не сможем (height становится автоматически height: 0px). Возвращаю значение к 0px у padding-top и все работает.

Дело в том, что все необходимые стили с отступами для каждого уровня меню расписаны, а вот то, что генерится, просто портит всё. Я так понимаю, высота автоматически рассчитывается в зависимости от количества пунктов меню, и при изменении отступа, происходит ошибка, наверно..? Высота, видимо, где-то в mootools рассчитывается? Где и как можно было бы поправить этот момент? Уже измотался весь, не знаю где поправить. Может можно было бы как-то через тот же asset подкорректировать отступ, но не силен в работе с mootools.

Прилагаю два скрина.
menu1.gif - то как есть сейчас, menu2.gif - то как нужно получить в итоге.

MENU1.GIF


MENU2.GIF


*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Да, паддинг обнуляется. Делается это в модуле accordion.js мутулза, ковыряться там не стал. Проблему не замечал потому как юзаю всегда margin а не padding.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Цитировать
Проблему не замечал потому как юзаю всегда margin а не padding.
Надо бы это даже в заголовок темы вынести. Действительно, padding и margin взаимозаменяемы в стилях тега UL. Почему-то мне это в голову сразу не пришло попробывать. Спасибо за помощь.
*

stslit

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Доброго всем дня.
Уважаемые гуру по VirtueMart подскажите. В настройках есть "Производители" и "Категории производителей", как вывести оба выпадающих списка в корень каталога? Для формировалась сортировка отображаемых товаров согласно выбранным в списках "производителям" и "категориям".
P.S.
Возможно проблема не новая, может есть у кого ссылки.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Может я ошибаюсь, но помоему категории производителей работают только в админке. В том смысле что во фронте нет никаких средств для фильтрации по категориям пр. Так что придется изрядно поковырять вирт. Как минимум модифицировать запрос в shop_browse_queries.php и геренировать выпадающий список, делая запрос в бд для выборки категорий.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

stslit

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
2 danik.html Может я изобретаю велосипед?
В результате хочется получить каталог, т.е.
Есть "Категория производителей" например "WauxHall"
Далее "Производитель" - "Antara(1998-2004)".
А в каталоге только:
Двигатель
Управление двигателем   
Сцепление и трансмиссия   
и прочее.

Т.е в каталоге только 10 разделов, которые сортируются по выше указанным характеристикам.
А производителей и марок очень много и они только добавляются.
Нашел такой модуль, но похоже не то http://www.givemeajobsoicanmovetocanada.co.uk/joomla/installing-using-my-virtuemart-manufacturers-logos-module

Может подскажете, куда копать, может есть готовое решение?
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Привет, Данил.

У меня такой вопрос, может быть не стандартный. Требуется убрать кольцевые ссылки, т.е ссылки, ведущие сами на себя.
Например, мы находимся на странице с каталогом "Аксессуары", соответственно, не должно быть ссылки на этот каталог.
Где этот момент можно поправить? Наверно, где-то в самом модуле?
И вообще, этот момент нестандартный или это как-то настраивается? Я имею в виду, например, стандартный модуль меню для Joomla. Потому что я никогда об этом не задумывался и вроде бы всегда были ссылки кольцевыми, а сейчас стоит вот такая задача.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Делается это легко:
в case 'li' там где
Код: php
					$node->addAttribute('class', $node->attributes('class').' current');
Добавляем
Код: php
					$node->setData($node->a[0]->data());
$node->removeChild($node->a[0]);
В любом лэйауте кроме mootree должно сработать
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Данил, спасибо.

А как, допустим, здесь:
$node->setData($node->a[0]->data());
обрамить вывод наименования узла в тег span?

То есть чтобы получилось таким образом:
<li class=" current "><span>Имя узла</span><li>
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Уже понял.

$span = $node->addChild('span');
$span->setData($node->a[0]->data());
$node->removeChild($node->a[0]);

Только непонятно, вот для производителей работает, а для категорий меню почему-то не получается применить данные изменения.
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Цитировать
Только непонятно, вот для производителей работает, а для категорий меню почему-то не получается применить данные изменения.
По-моему, надо в helper вносить изменения.
Для производителей, в принципе, подойдет. А вот для элементов, которые стоят выше по уровню в дереве, уже не получается. Данные устанавливаются в порядке очереди.
Таким образом:


И получается, что дочерние элементы, которые содержатся в теге ul находятся выше родительского элемента (родительский элемент ушел вниз после добавления).
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Да, есть такое дело. Это все из-за ущербности "искуственного" SimpleXML, который нативный есть только в php5. Такчто поступим хитро:
Код: php
					$node->a[0]->_name = 'span';
$node->a[0]->removeAttribute('href');
Да, решение "не православное", так как знак "_" означает приватное свойство, но проблема вынуждает...

j1.6 работает на чистом php5
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Брависсимо! =)
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Данил, вопрос еще такой, как сделать по умолчанию активным (раскрытым) пункт меню?
Примерно, так:

гл_пункт1
  дочерний_пункт1
      дочерний_пункт1_1
      дочерний_пункт1_2
      дочерний_пункт1_3
  дочерний_пункт2
  дочерний_пункт3
гл_пункт2
гл_пункт3

То есть при загрузке страницы необходимо, чтобы по умолчанию был раскрыт конкретный пункт меню.
Возможно ли такое сделать? Скорее всего, это как-то в assets надо править, наверно?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
мм. нераскрытые пункты обрезаются еще в helper'е(чтобы сразу их отбросить и не тратить на них ресурсы). А если у тебя accordion - то думаю запросто.
Ну или попробовать так сделать:
перед

modVMCategoriesHelper::render($params, 'VMCategoriesAccordionDecorator');

установить JRequest::setVar('category_id', нужная_категория), а потом восстановить его(предварительно запомнив, скажем в $real_id. Но так наверно косяки всплывутк какиенибудь..
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Да, вроде бы работает.
А я несколько иначе начал решать..
Добавил конкретным пунктам меню свойство default.
Код
                                                // set parent class - check : has children
if (isset($node->ul) && $node->ul) {
$node->addAttribute('class', 'parent');
// set default menu item (мото на земле (id=1) / скутеры (id=4))
if ($node->attributes('id') == 1 or $node->attributes('id') == 4) {
$node->addAttribute('class', $node->attributes('class').' default');
}
}
Вот только не получается в assets раскрыть данные пункты меню.
Там вроде бы есть методы nextAll().show(), но не выходит их применить.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Это mootools а не jquery ))
Аккордион? Там у каждого ul есть свойство Accordion. У него есть метод display(index). Щас точно не скажу но примерно так:
$$('.default').each(function(element, index){
    element.parentNode.Accordion.display(element); //или так не сканает, может element.index
});

Accordion.display как открывает так и закрывает элемент, имей ввиду...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Цитировать
Это mootools а не jquery ))
Уже понял)

Цитировать
или так не сканает, может element.index
element.index - так работает.

Однако достаточно было указать в options при инициализации аккордиона соответствующий параметр show.

Код
show: $$(accParentItems).indexOf($$(accParentItems).filterByClass('default')[0])
« Последнее редактирование: 19.10.2010, 00:48:35 от root-master »
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Хм. А вот это уже больной вопрос. Как определить, что курсор наведен на тег 'a', а не 'li'?
Можно ли это как-то безболезненно поправить? Может быть как-то можно с помощью CSS это подправить?
« Последнее редактирование: 19.10.2010, 02:05:45 от root-master »
*

stslit

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
2 danik.html
Согласно первого поста решение такое

Цитировать
категория_товаров_A
--производитель_A
--производитель_B
категория_товаров_B
--производитель_A
--производитель_С

А есть возможности у Вашего модуля сделать в таком варианте?:

производитель_А
--модель_А1
----вид_1
----вид_2
----вид_3
--модель_А2
----вид_1
----вид_2
----вид_3
производитель_Б
--модель_Б3
----вид_1
----вид_2
----вид_3
производитель_В
--модель_В1
----вид_1
----вид_2
----вид_3
--модель_В3
----вид_1
----вид_2
----вид_3

где вид_1, вид_2, вид_3 это одно и тоже, только для разный моделей и производителей.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
2 danik.html
А есть возможности у Вашего модуля сделать в таком варианте?...

Не, врядли...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

stslit

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
2 danik.html

Грустно. >:(
Приходилось с такой реализацией сталкиваться? Может подскажете что...
 >:( >:( >:(
*

refrizherator

  • Захожу иногда
  • 60
  • 1 / 0
Уважаемый danik.html, вижу вы тут как мессия для всех) В начале поста прочитал проблему моего рода, но потом тему перевели, а решение я так и не увидел. Пршу помощи)

СУТЬ:  Установил sh404SEF на сайт парфюмерии и косметики в Днепропетровске http://edp.dp.ua    Можете зайти и увидеть на странице с товарами http://edp.dp.ua/dolce-gabbana/view-all-products.html если клацнуть показать 10 или 20 и т.д.  будет ошибка на белом экране
Not Found

The requested URL /dolce-gabbana/view-all-products.html&limitstart=0&limit=25 was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2 Server at edp.dp.ua Port 80

А также при переключении страниц 1 2... или нажав кнопку слудующая...
Кроме плюсика предложить ничо не могу, если знаете, подскажите.
*

root-master

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
refrizherator, у Вас скорее всего версия компонента платная. Сейчас, насколько мне известно, дополнительно подключают плагины, чтобы работал тот или иной функционал, либо приходится допиливать самому.

Вот ссылка на free-версию.
http://extensions.joomla.org/extensions/site-management/sef/1063

Попробуйте поработать с этой версией, может проблемы не будет.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

IceVmCart - новый бесплатный модуль корзины для VirtueMart

Автор Grig2009

Ответов: 105
Просмотров: 54534
Последний ответ 05.02.2017, 11:44:02
от Super_Panda
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

Ответов: 97
Просмотров: 28690
Последний ответ 25.10.2016, 15:03:07
от Igoritaly
Модуль Cherry Picker for VirtueMart

Автор flintstone

Ответов: 42
Просмотров: 26837
Последний ответ 04.01.2016, 21:25:50
от gleb22
Добавить модуль в товар

Автор Tokyo

Ответов: 2
Просмотров: 3013
Последний ответ 11.05.2015, 20:43:32
от tierex
Усовершенствованный модуль категорий [Аккордион и прочее - the best ;) ]

Автор danik.html

Ответов: 749
Просмотров: 198347
Последний ответ 24.11.2014, 18:37:11
от slavakh