Новости Joomla

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором представлены новости, интервью, рецензии и есть небольшой магазин на JoomShopping. Возникла необходимость внутри Joomla статей вставлять упоминание релиза и кнопочку «добавить в корзину». Я взял плагин WT JShopping products anywhere Сергея Толкачева (@webtolkru). Плагин отображает название товара и ссылку. При помощи напильника, ИИ и навыков вёрстки появился Uikit макет для шаблонов на базе Yootheme Pro.Учитываается мобильная версия - телефоны и ipad.Кнопка добавления в корзину работает по Ajax и появляется всплывающее окно (Notification Bar от Uikit) с информацией.Пока это базовый вариант, требующий доведения до лоска, однако он уже работает и его можно применять на проектах.Взять макет можно здесь.А плагин вставки товаров в материалы можно забрать здесь.Приветствуется доведение до ума и оформление в виде PR.

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

👩‍💻 WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla.Пакет плагинов галереи изображений и видео для вставки в материалы и модули Joomla, а так же везде, где работают плагины группы content. Поддержка собственных макетов вывода для галерей. Смешанные фото+видео галереи. Плагин создан как замена Simple Image Gallery и поддерживает синтаксис {gallery}{/gallery}.👩‍💻 v.1.2.3. Что нового?- Обработка вступительного и полного текста для материалов Joomla. Добавлена обработка шорткодов в полном и вступительном текстах материалов Joomla.- Системные требования. Повышены минимальные требования до Joomla 5 и PHP 8.1.- Мелкие правки. Исправлена ошибка работы макета по умолчанию в плагине контента.- Joomla 6. Пакет плагинов успешно протестирован на Joomla 6.Страница расширения.GitHub расширенияJoomla Extensions Directory@joomlafeed#joomla #расширения

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

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