Сабж. Контекст: плагин умного поиска. Для индексации нужно получить url с itemId. При запуске индексации из админки JSHelper::getDefaultItemid получает itemid.Тот же код из CLI не получает. ItemId == 0.
public static function getDefaultItemid($link = ''){
$Itemid = 0;
$lang = '';
if ($link!=''){
$url = parse_url($link);
parse_str($url['query'], $query);
if (isset($query['lang'])){
$lang = $query['lang'];
}
$shim = ShopItemMenu::getInstance($lang);
$Itemid = $shim->getItemIdFromQuery($query);
}
if ($Itemid){
return $Itemid;
}else{
return self::getShopMainPageItemid($lang);
}
}
Такое ощущение, что в AdministratorApplication getItemIdFromQuery отрабатывает.
А в CLIApplication - не хочет. Стучится в getShopMainPageItemid() и получает 0, так как у меня нет центральной точки входа в компонент (должны быть 2 независимых каталога/раздела на сайте - 2 категории верхнего уровня. Точки входа в "Список категорий / магазин" нет).
Joomla: 5.1.1
Joomla developer. https://web-tolk.ru JoomShopping Bitrix24 integration, custom developing.