Проблема Получить ссылку на товар

Тема в разделе "JoomShopping", создана пользователем denism300, 03.03.2017.

  1. Offline

    denism300 Недавно здесь

    Регистрация:
    20.10.2016
    Сообщения:
    20
    Симпатии:
    0
    Пол:
    Мужской
    Если JS назначен главной страницей, то ссылка на товар получается просто:
    Код (PHP):
    1. $url = JURI::root() . JRoute::_("index.php?option=com_jshopping&controller=product&task=view&category_id=".$category_id."&product_id=".$product_id, true);
    2. $url = str_replace(array('//', 'http:/', '/component/jshopping'), array('/', 'http://', ''), $url);


    в итоге получим что-то типа: http://site.ru/index.php/category/product

    А как получить ссылку, если JS не является главной страницей?
    Если делать также, то не вставляется алиас пункта меню на главную JS.
    Т.е., к примеру, алиас пункта меню - shop, соответственно, ссылка должна быть вида: http://site.ru/index.php/shop/category/product

    однако, алиас /shop не вставляется.
     
  2.  
  3. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    В пункте меню на ЖШ алиас прописан ?
     
  4. Offline

    denism300 Недавно здесь

    Регистрация:
    20.10.2016
    Сообщения:
    20
    Симпатии:
    0
    Пол:
    Мужской
    да, прописан. алиас на JS - shop
    я, в принципе, нашел решение - берем itemId из БД таким запросом:
    Код (PHP):
    1. function getItemId() {
    2.         $db        =     $this->getDBO();
    3.         $query    =    $db->getQuery(true);
    4.         $query    ->    select($db->quoteName('m.id'));
    5.         $query    ->    from($db->quoteName('#__menu', 'm'));
    6.         $query    ->    where($db->quoteName('m.link') . ' = ' . $db->quote('index.php?option=com_jshopping&view=category'));
    7.         $db        ->    setQuery($query);      
    8.         $itemId    =    $db->loadResult();
    9.        
    10.         return $itemId;
    11. }


    а ссылку формируем так:

    Код (PHP):
    1. $url = JURI::root() . JRoute::_("index.php?itemId=".$itemId."&option=com_jshopping&controller=product&task=view&category_id=".$category_id."&product_id=".$product_id, true);
    2. $url = str_replace(array('//', 'http:/', '/component/jshopping'), array('/', 'http://', ''), $url);


    в этом случае ссылка формируется корректно.
     

Поделиться этой страницей

Загрузка...