[РЕШЕНО] Seo путь для товара

Есть id товара, как получить seo путь из базы до товара?

Таблица cscart_seo_names, id товара = object_id, type = p. Если есть языки - указать lang_code, если вендоры - company_id.

Да но это имя товара, а ведь полный путь учитывает категории…

Аааа… я что-то и забыл что бывает и так - всегда прямые ссылки использую.

Каждый выбирает для себя, я выбрал размещение товаров для SEO в корне, тогда у них один путь независимо из какой категории идет переход, и путь товара не меняется при изменении категории или чего еще. Но если вам надо учитывать категории - в product_categories получаем id нужной категрии, в таблице categories для этой категории смотрим поле path (там указан путь по категориям, например 10/25/144 - ид категорий от верхнего уровня к текущей) по этим id в таблице seo_names смотрим аналогично выше указанному seo имя категорий и как положено выстраиваем их в цепочку

1 лайк

А если что-нибудь такое применить? fn_google_sitemap_generate_link(‘product’, $product_id, ‘ru’);

Согласен, именно так и можно сформировать путь. Но, cms то это как то делает, значит есть функция? Вот не хотелось бы изобретать велосипед… Может кто подскажет как сделать это средствами cms?

если не ошибаюсь, смотрите
/app/addons/seo/func.php

В этой же таблице есть и путь (колонка path)

верно там id категорий через /

А Вам готовый URL? Тогда или fn_seo_get_parent_items_path($seo_var, $object_type, $object_id, $company_id, $lang_code); или просто fn_url для товара и убрать последную часть

Или fn_url для $product['main_category']

Какие данные здесь? - $seo_var

Возьмите этот вариант. Или разберите таки модуль SEO, иначе переписка затянется)

Я пишу апи и у меня нет main_category

у товара - есть

В какой таблице?

product_categories разумеется, поле link_type

Я так понял разработчиков здесь не бывает?
Вопрос был простой - есть id товара, нужен seo путь…

вам дали ответ