Новости Joomla

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

Релиз безопасности Joomla 6.1.1 и Joomla 5.4.6

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

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Тип пункта меню
« Ответ #30 : 23.05.2014, 14:26:52 »
Цитировать
бага с ютемовскими шаблонами (не отдают 404) не отсюда растёт?

не, не думаю. ведь такое происходит независимо от того, есть ли для этой неверной ссылки пункт меню, или нет. тут скорее все таки в шаблоне дело. хотя с другой стороны странно, что это только с ЖШ. все никак руки не дойдут раскурочить и определить виновника :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Re: Тип пункта меню
« Ответ #31 : 23.05.2014, 14:46:35 »
Там ноги со стороны шаблона растут из файла error.php - если его снести, то используется error.php из инсталляции Joomla. С ним всё нормально.

Спойлер
[свернуть]
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Тип пункта меню
« Ответ #32 : 23.05.2014, 15:34:55 »
да, я знаю, но проблема не в самом этом файле. та как нибудь под кальян доберусь... самому интересно, что же есть причиной
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Тип пункта меню
« Ответ #33 : 17.06.2014, 18:24:28 »
В процессе чуханья репы над одной затеей нашлось решение проблемы пунктов меню.

Итак, под нож попадают всего 4 файла:

1. \components\com_jshopping\jshopping.php. В самом начале сразу после
Код
defined('_JEXEC') or die('Restricted access');
добавляем
Код
$app = JFactory::getApplication();
$controller = $app->input->getCmd('layout');
if ($controller) {
$app->input->set('controller', $controller);
$app->input->set('task', $app->input->getCmd('jshoppingtask'));
}

2. \components\com_jshopping\router.php. В функции jshoppingParseRoute после
Код
$menuItem = $menu->getActive();
добавляем
Код
if (isset($menuItem->query['layout'])) {
$menuItem->query['controller'] = $menuItem->query['layout'];
}
if (isset($menuItem->query['jshoppingtask'])) {
$menuItem->query['task'] = $menuItem->query['jshoppingtask'];
}

3. \components\com_jshopping\metadata.xml
Код: xml
<options var="controller">
меняем на
Код: xml
<options var="layout">
, а также
Код: xml
<field name="task" type="list" label="Show" description="Page to show">
меняем на
Код: xml
<field name="jshoppingtask" type="list" label="Show" description="Page to show">

4. \components\com_jshopping\lib\shop_item_menu.php. В function getList перед
Код
$data[$tmp2[0]] = $tmp2[1];
добавляем
Код
if ($tmp2[0] == 'layout') {
$tmp2[0] = 'controller';
} else if ($tmp2[0] == 'jshoppingtask') {
$tmp2[0] = 'task';
}

Итого, имеем:
1. Абсолютно правильное сохранение пунктов меню. Т.е. ни пустых полей, ни всегда Товары.
2. Практически полная совместимость с уже созданными пунктами меню. Практически означает то, что создавать заново ранее созданные пункты меню специально не нужно. Но если вдруг решите отредактировать их, то значения собьются, и придется вбивать заново.
3. Довольно таки несложное с точки зрения реализации решение доставшей многих проблемы, что позволяет надеяться на то, что это все таки будет в стоковой версии. Хотя какие к черту надежды? :) Это обязательно! должно быть в стоковой версии :)

P.S. @разработчики ЖШ. Возможно, конечно, что я не учел всех особенностей ЖШ в плане распарсивания ссылки меню. Но вроде бы с первого взгляда все работает верно. Так что ждем в стоке :)

P.P.S Ниже есть также код, который надо добавить в плагин JoomShopping Xmap
« Последнее редактирование: 20.06.2014, 12:42:01 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Тип пункта меню
« Ответ #34 : 17.06.2014, 18:56:48 »
Кстати для информации:
В версии Joomla 3.3.1 & JoomShopping 4.5.0 тип пункта меню сохраняется. Правда всегда указывается "Товары", но все-таки сохраняется, а это уже плюс. :)
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Тип пункта меню
« Ответ #35 : 17.06.2014, 20:56:44 »
Цитировать
P.S. @разработчики ЖШ. Возможно, конечно, что я не учел всех особенностей ЖШ в плане распарсивания ссылки меню. Но вроде бы с первого взгляда все работает верно. Так что ждем в стоке Azn
5. Ждём обновлеия компонента :)
А так вроде всё работает, спасибо, на правки ушло примерно 5 минут.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Тип пункта меню
« Ответ #36 : 17.06.2014, 21:21:12 »
Ждём обновлеия компонента

Угу... По хорошему вообще бы сделать не через layout и jshoppingtask, а через view и layout соответственно, и добавить XML в каждом view свой, как это сделано во всех уважающих себя компонентах :) И тогда при выборе типа меню можно будет выводить только нужные поля, а не так, как сейчас при выборе, например, Статический текст - Category ID и т.п. Но это уже следующий шаг :) Хотя бы это...

на правки ушло примерно 5 минут.

на правки ушло примерно 3 года :)
« Последнее редактирование: 17.06.2014, 21:26:26 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Тип пункта меню
« Ответ #37 : 19.06.2014, 20:06:34 »
Цитировать
P.S. @разработчики ЖШ. Возможно, конечно, что я не учел всех особенностей ЖШ в плане распарсивания ссылки меню.
Похоже проблема есть, не знаю где именно.
Короче сделал как описано все норм, пересохранил пункты и так далее.
Через пару дней захожу в Google мастер :o = вместо отправленных по идее 500 с лишнем ссылок отправилось только 70. Захожу в карту (на xmap)
-товаров нет. Покрутил плагином так сяк ничего не получилось (выводит либо все товары по два раза в карте - сначала с категорий потом с производителей, либо ниодного товара с инными настройками)
Вернул всё обратно дабы удостоверится = стало на места.
Подозреваю что с этими переделками надо переделывать плагин к Xmap.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Тип пункта меню
« Ответ #38 : 19.06.2014, 22:08:25 »
в плагине для Xmap после

Код
parse_str(html_entity_decode($link_query['query']), $link_vars);

делаем примерно тоже самое, что и в роутере

Код
if (isset($link_vars['layout'])) {
$link_vars['controller'] = $link_vars['layout'];
}
if (isset($link_vars['jshoppingtask'])) {
$link_vars['task'] = $link_vars['jshoppingtask'];
}

не проверял в реале, но по идее этого достаточно
« Последнее редактирование: 19.06.2014, 22:23:09 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Тип пункта меню
« Ответ #39 : 20.06.2014, 12:07:29 »
Стоит попробовать.
Прокручу на демо сайте - отпишусь если этого не сделает кто-то раньше )
Уже есть 3.18.0 в апдейте эти файлы не зацепились.

Проверено и работает корректно

JoomShopping 3.18.0
Xmap - JoomShopping 2.0.1 (плагин)
Xmap 2.3.3

п.с. можно добавлять в сток ^-^
« Последнее редактирование: 20.06.2014, 15:04:48 от Biss »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться