Новости Joomla

Вышли релизы безопасности Joomla 6.1.3 и Joomla 5.4.8

Релиз безопасности Joomla 6.1.3 и Joomla 5.4.8

Проект Joomla! рад сообщить о выходе Joomla 6.1.3 и Joomla 5.4.8. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

Joomla 5+ пакет для интеграции с API Почты России: нормализация данных, расчёт доставки, создание отправлений, партии, документы, возвраты, поиск отделений, справочники и SOAP-отслеживание.

v.3.0.0. Что нового?
Это дальнейшее развитие ранее закрытой Joomla-библиотеки для работы с API сервиса Отправка (для бизнеса) Почты России. Поэтому версия не 1.0.0, а 3.0.0.

Сейчас эта библиотека ушла от собственных реализаций и стала Joomla-обёрткой известного PHP SDK от Lapay Group.

Возможности библиотеки.
- получение настроек аккаунта, точек сдачи и текущего остатка запросов к API;
- нормализация адресов, ФИО и телефонов перед созданием отправления;
- расчёт тарифа и срока доставки;
- создание, поиск, изменение, удаление и возврат заказов в состояние «Новые»;
- проверка надёжности получателя;
- создание партий, просмотр партий и заказов внутри партии;
- генерация пакета печатных документов и формы Ф103;
- создание, изменение и удаление возвратных отправлений;
- поиск отделений по индексу, адресу и координатам, получение сервисов отделения;
- локальный список стран;
- SOAP-отслеживание операций по РПО и работа с билетами пакетного трекинга.

👩‍💻 Joomla-возможности.
В пакете библиотеки WT Otpravkapochtaru есть поля Joomla Form для расширений. Они позволяют работать в интерфейсе Joomla с некоторыми типами данных, получаемых по API из вашего личного кабинета в ЛК Почты России для бизнеса.
На данный момент в библиотеке доступны 3 поля списков, которые отображают доступные в аккаунте ОПС, типы и категории отправлений.
Поддерживаются зависимые списки: значение одного поля обновляется при изменении другого.

Системные требования.
Системные требования в основном связаны с системными требованиями апстрима библиотеки - LapayGroup PHP SDK.
- Joomla 5+
- PHP 8.3+
- Расширения PHP:
-- ext-mbstring
-- ext-simplexml
-- ext-soap (опционально, для трекинга)
-- ext-zip

Ссылки:
- Страница расширения
- GitHub библиотеки и документация

@joomlafeed

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

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