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

mailrev

  • Захожу иногда
  • 182
  • 17 / 0
redirect 301
« : 14.04.2014, 00:29:54 »
делаю переход с J1.5.19 VM1.1.9 на J2.5.19 VM2.0.26d
хотелось бы чтобы проиндексированные страницы старых движков делали редирект 301 на новый, т.е.
старая ссылка вида
www.site.ru/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=6077&category_id=94&option=com_virtuemart&Itemid=2
которая проиндексированна поисковиками как Товар NNN, при переходе по ней вела на новую версию сайта на ссылку вида
site.ru/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=4946&virtuemart_category_id=44
(или аналог с ЧПУ site.ru/index.php/category1/product1-detail)
 id товара и категории в перенаправляемых новых/страрых ссылках не совпадают (это если у кого возникнет недорозумение по этому поводу)

пробовал через стандартный  компонент Joomla перенаправления (плагин включен) - перекидывает просто на главную

и еще вопрос я так понимаю через некоторое время поисковики сожрут уже новые адреса для уже проиндексированных страниц при 301 редиректе и его можно будет убрать?
3.14здец
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Re: redirect 301
« Ответ #1 : 14.04.2014, 12:43:21 »
Да, сожрут.

Это общеджумловская проблема, что редиректы не работают. На форумах VM никто не поднимал вопрос, почему редиректы не срабатывают.
*

mailrev

  • Захожу иногда
  • 182
  • 17 / 0
Re: redirect 301
« Ответ #2 : 14.04.2014, 15:17:00 »
пробовал через htaccess - не помогает
вычитал еще что одному помогло в configuration.php заполнить переменную $live_site, попробовал и так -  стали появляться перенаправления в компоненте, но сайт ложится, так как идет задвоение адреса (http://site.ru/http://site.ru/bla_bla)

как тогда не потерять страницы в индексе?
3.14здец
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Re: redirect 301
« Ответ #3 : 14.04.2014, 16:05:37 »
Вы и на этом форуме тему редиректов пробивали, и на офф. форуме Joomla тоже?
*

mailrev

  • Захожу иногда
  • 182
  • 17 / 0
Re: redirect 301
« Ответ #4 : 14.04.2014, 17:28:32 »
Вы и на этом форуме тему редиректов пробивали, и на офф. форуме Joomla тоже?
т.е. пробивал?
Читаю по всему инету как обычно, а тему поднял только здесь, аналогичной здесь вроде не нашел.
3.14здец
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
Re: redirect 301
« Ответ #5 : 14.04.2014, 23:52:25 »
пробовал через htaccess - не помогает


плохо пробовали. должно работать.

Код
Redirect 301 /index.php?page=shop.product_details&flypage=flypage.tpl&product_id=6077&category_id=94&option=com_virtuemart&Itemid=2 http://site.ru/index.php/category1/product1-detail

по такой схеме, перед
Код
## End - Custom redirects
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Re: redirect 301
« Ответ #6 : 15.04.2014, 00:24:46 »
А тормозить сайт не будет?
*

mailrev

  • Захожу иногда
  • 182
  • 17 / 0
Re: redirect 301
« Ответ #7 : 15.04.2014, 00:27:45 »
плохо пробовали. должно работать.

Код
Redirect 301 /index.php?page=shop.product_details&flypage=flypage.tpl&product_id=6077&category_id=94&option=com_virtuemart&Itemid=2 http://site.ru/index.php/category1/product1-detail

по такой схеме, перед
Код
## End - Custom redirects
я так и писал, но все равно теже яйца вид сбоку, кидает на главную, причем если я указываю в url вообще охинею, все равно идет на главную
htaccess - стандартный от Joomla, с добавлением редиректом тока моего

да и еще в настройках магазина опция Enable VirtueMart 404 error handling отключена (но если и включена все равно кидает на главную)
кеш чишу после каждого эксперемента, ка в Joomla так и в браузере

вот только один момент пока все это пока на денвере - может из-за этого?
3.14здец
*

mailrev

  • Захожу иногда
  • 182
  • 17 / 0
Re: redirect 301
« Ответ #8 : 15.04.2014, 00:29:57 »
А тормозить сайт не будет?
ну с учетом пока 5000 товаров и этот редирект будет работать только на проиндексированные страницы (около 2000) - из них полезных около 1000, то я думаю что нагрузка будет сведена к минимуму, ну и не с такой нагрузкой работали
3.14здец
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
Re: redirect 301
« Ответ #9 : 15.04.2014, 08:12:04 »
Хм, действительно в .htaccess что-то не получилось у меня за 5 мин настроить редирект... но вот разозлило это меня и сделал 100% рабочий вариант

открыл components/com_virtuemart/virtuemart.php

в самое начало, после

Код
if( !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );

добавил

Код
if ($_SERVER["REQUEST_URI"] == '/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=6077&category_id=94&option=com_virtuemart&Itemid=2') 
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.by/palatki-tenty-shatry/palatki-letnie/comfortika/palatka-letnyaya-comfortika-trial-3-plus.html");
}

механизм понятен, ага ?) влоб так влоб) правда,  конструкции с if по вкусу лучше заменить на case )
« Последнее редактирование: 15.04.2014, 08:15:20 от artserge »
*

mailrev

  • Захожу иногда
  • 182
  • 17 / 0
Re: redirect 301
« Ответ #10 : 15.04.2014, 09:39:56 »
открыл components/com_virtuemart/virtuemart.php
в самое начало, после
Код
if( !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );

добавил

Код
if ($_SERVER["REQUEST_URI"] == '/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=6077&category_id=94&option=com_virtuemart&Itemid=2') 
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.by/palatki-tenty-shatry/palatki-letnie/comfortika/palatka-letnyaya-comfortika-trial-3-plus.html");
}
на первый взгляд получилось, но буду делать наверное не через if и даже наверное не case (он вообще вроде не подходит по крайней мере мне так кажется в данном случае). я попробую через БД. Хотя я думаю можно сюда как-то воткнуть стандартный обработчик перенаправления Joomla, но я в этом пока не силен, если есть идея пишите.
Ну и еще варианты если есть рассмотрим.

через БД. вот что у меня получилось
вставил код вместо выше предложенного
Код
			$db = JFactory::getDBO();
$query = 'SELECT `new_url` FROM `#__virtuemart_redirect301`' .
' WHERE `old_url` = "' . $_SERVER["REQUEST_URI"] .'"';
$db->setQuery($query);
$new_url = $db->loadResult();
if($new_url)
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: $new_url");
}

и создал таблицу
CREATE TABLE IF NOT EXISTS `xxxxx_virtuemart_redirect301` (
  `old_url` varchar(500) NOT NULL,
  `new_url` varchar(500) NOT NULL
)
где old_url старый адрес вида /index.php?cat=1&prod=2
new_url http://site.ru/category_name/product_name

теперь надо её заполнить и проверить на деле (и посмотреть отдает ли старая страница редирект 301)
« Последнее редактирование: 15.04.2014, 10:08:07 от mailrev »
3.14здец
*

mailrev

  • Захожу иногда
  • 182
  • 17 / 0
Re: redirect 301
« Ответ #11 : 15.04.2014, 15:40:00 »
пришлось переделать на другой код для БД
причина: на старой версии сайта url товаров и категорий мог писаться по разному (например может быть разный шаблон отображения flypage=flypage-ask.tpl и &flypage=flypage.tpl ну и т.п.)
решил выдергивать из приходящего url только id товара и категории (product_id=777 и category_id=555) и через (временные) таблицы соответствии формировать новый url
итак:
создано 2 таблицы соответствий старый-новый id продуктов и категорий
и вставлен код в VirtueMart.php
Код: php
		if(isset($_GET["product_id"])) //если ссылка на товар
{
$db = JFactory::getDBO();
$query = 'SELECT `new_id_product` FROM `#__virtuemart_redirect_id_product`' .
' WHERE `old_id_product` = '.$_GET["product_id"].' LIMIT 1';
$db->setQuery($query);
$new_id_product = $db->loadResult();

$query = 'SELECT `new_id_category` FROM `#__virtuemart_redirect_id_category`' .
' WHERE `old_id_product` = '.$_GET["category_id"].' LIMIT 1';
$db->setQuery($query);
$new_id_category = $db->loadResult();

$new_url = 'http://site.ru/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id='.$new_id_product.'&virtuemart_category_id='.$new_id_category;
}
elseif(isset($_GET["category_id"])) //иначе если ссылка на категорию
{

$db = JFactory::getDBO();
$query = 'SELECT `new_id_category` FROM `#__virtuemart_redirect_id_category`' .
' WHERE `old_id_category` = '.$_GET["category_id"];
$db->setQuery($query);
$new_id_category = $db->loadResult();

$new_url = 'http://site.ru/index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$new_id_category;
}

if($new_url)
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: $new_url");
}

вроде работает, может конечно не все точно написано как требует Joomla, гуру надеюсь укажут недочеты.

теперь следующий этап хотелось чтобы новый url был ЧПУ, кто знает как подправить данный код под это дело или хотя бы как зная id товара и категории сформировать правильный ЧПУ VirtueMart.
3.14здец
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться