В процессе чуханья репы над одной затеей нашлось решение проблемы пунктов меню.
Итак, под нож попадают всего 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
<options var="controller">
меняем на
, а также
<field name="task" type="list" label="Show" description="Page to show">
меняем на
<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