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

Подскажите как можно получить ссылку на товар  с определённым артикулом?
Скажем так я получаю ссылку на страницу поиска товара
https://55opt.org/catalog/?query=АЦВ0037
а нужно, чтобы URL был сразу на товар с данным артикулом

Повысить оценку Понизить оценку

Re: Получить ссылку на товар

Адреса товаров формируются по маске
/product/полеaliasутовара/
Артикул здесь никак не участвует, т.к. бывают ситуации, что артикул может совпадают. Поэтому уникальным имененм является alias(Псевдоним) товара.
Если речь идёт о шаблонах, то ссылка на товар, получается из самого товара например так:

{$product->getUrl()}

Или можно её получить через объект роутера.

{$router->getUrl('catalog-front-product', 'id'=>'Поле алиас')}

Как вариант, Вы можете массово через CSV импорт экспорт записать в поле с Псевдонимом артикулы.

3

Re: Получить ссылку на товар

Закусило Александр пишет:

Адреса товаров формируются по маске
/product/полеaliasутовара/
Артикул здесь никак не участвует, т.к. бывают ситуации, что артикул может совпадают. Поэтому уникальным имененм является alias(Псевдоним) товара.
Если речь идёт о шаблонах, то ссылка на товар, получается из самого товара например так:

{$product->getUrl()}

Или можно её получить через объект роутера.

{$router->getUrl('catalog-front-product', 'id'=>'Поле алиас')}

Как вариант, Вы можете массово через CSV импорт экспорт записать в поле с Псевдонимом артикулы.

Я хотел узнать никак нельзя сделать запрос примерно такого вида

{$router->getAlias('catalog-front-product', 'barcode'=>'НужныйАртикул)}
Чтобы далее выполнить запрос
{$router->getUrl('catalog-front-product', 'id'=>'Поле алиас')}

Объясню для чего.
Например товар состоит из нескольких
В 1с в доп.реквизиты указываются артикулы из чего состоит.

Далее на сайт выгружается товар, а значение характеристики выводится как ссылки на товары из которых он состоит.

Повысить оценку Понизить оценку

Re: Получить ссылку на товар

Можно через static_call попробовать получить сам товар. И у него получить тогда итоговую ссылку.

Например:

{static_call var=product_by_barcode callback=['\Catalog\Model\Orm\Product', 'loadByWhere'] params=[['barcode'=>'Ваш артикул для поиска']]}

И если товар найден в базе, тогда получим ссылку:

{if $product_by_barcode.id}
    {$product->getUrl()}
{/if}

5

Re: Получить ссылку на товар

Закусило Александр пишет:

Можно через static_call попробовать получить сам товар. И у него получить тогда итоговую ссылку.

Например:

{static_call var=product_by_barcode callback=['\Catalog\Model\Orm\Product', 'loadByWhere'] params=[['barcode'=>'Ваш артикул для поиска']]}

И если товар найден в базе, тогда получим ссылку:

{if $product_by_barcode.id}
    {$product->getUrl()}
{/if}

Отлично! Работает, только Вы ошиблись

{if $product_by_barcode.id}
    {$product->getUrl()}
{/if}

нужно $product_by_barcode->getUrl()

Повысить оценку Понизить оценку

6

Re: Получить ссылку на товар

http://savepic.ru/13385898.jpg
Отлично их характеристик берётся артикул - и преобразуется в ссылки на соответствующие товары

Повысить оценку Понизить оценку

Re: Получить ссылку на товар

Спасибо. Действительно опечатался.