Не правильные URL в списке товаров Есть решение

Если размещаю список товаров на главной, то у каждого товара URL без категории.

то есть правильный URL товара - site.ru/katalog/category1/category2/tovar_name/

По всему сайту, в фильтрах ссылки правильные, но если я делаю список товаров и вывожу этот список на главной странице то этот URL превращается в site.ru/katalog/tovar_name/. В нем выпадают категории почему-то. 

2 Дня уже гребу форум мелкими граблями и пока понятно только 1 что url товара берется из поля frontend_url а он формируется относительно текущей страницы.

Как можно исправить это, может у кого-то будут какие-то идеи?

3 ответа

  • 0
    Роман Мясников 19 июля 2019 16:15 # Решение

    В общем пока для себя нашел 2 выхода:

    1 - написать Класс-хелпер, который будет возвращать полный URL товара основываясь на SQL запросе к базе (объединение 2 таблиц (таблицы продуктов и категорий)), и через конкатенацию строк возвращать полный URL.


    Как оказалось, в таблице товара нет поля full_url как в таблице категорий. 

    2 - способ родными средствами:

    {$p_c=$wa->shop->category($p.category_id)} 

    и далее вот так получать правильный линк

     site.ru/katalog/{$p_c.full_url}/{$p.url}/

    Странно конечно что в базовых функциях движка я не нашел метода, который бы сразу возвращал полный URL товара. 


    Если у кого-то есть мнение как это ещё проще и правильнее реализовать, прошу поделиться.

  • 2
    kadurinho 19 июля 2019 17:48 #

    Ради интереса, а через что вы выводите список товаров? Как он генерируется?

    P.S. конструкция

    {$wa->shop->productUrl($product)}

    что будет выводить?

    • +1
      Роман Мясников Роман Мясников 22 июля 2019 09:11 #

      вывожу как обычный список

       {$products = $wa->shop->productSet("vygodnaya-tsena")} 
      
      {$wa->shop->productUrl($product)} - так же юрл кривой, я это пробовал. Исходя из тех документации, url в списках строиться относительно текущей страницы, но почему там нет параметра, который бы позволили выводить полный путь мне пока не ясно.

  • 1
    Rat 22 июля 2019 14:37 #

    Если такой код у вас показывает неправильные ссылки товаров, то, возможно, что-то испортилось в вашей базе данных, или вносились изменения в код магазина.

    {foreach $wa->shop->products('...') as $product}
        {$product.frontend_url}<br>
    {/foreach}

    В моём магазине ссылки для "Естественных" URL формируются правильно.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите