Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать 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

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 2806 Просмотров
*

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здец
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться