Регистрация
Вход через соцсети
Восстановление пароля

NetShop. Каталог с разделами, но унифицированный урл товара

Новый топик
06.08.2010, 14:37
Ответить | Цитировать
Гость
Гость

Уважаемые коллеги.

Имеется NetCat 3.5. В модуль NetShop периодически заливается обновленный каталог товаров из 1С. К разделу привязан компонент Магазин:Товар. Подразделами его является структура из импортируемого файла. т.е. на сайте получаем урлы для разделов
Код:
domain.ru/netshop/r-1/r-1-2/r-1-3/


для товаров в разделе соответственно
Код:
domain.ru/netshop/r-1/r-1-2/r-1-3/url_xxxx.html


если изменяется структура подразделов, то соответственно изменяется урл товара. что не есть гуд.

Назрело решение сделать уникальный урл товара, не зависящий от раздела на основе артикула (который уникальный). и получить урл для товара вроде следующего:

Код:
domain.ru/netshop/artikul-XXX.html


Подскажите, коллеги, в какую сторону копать ? и как лучше сделать.
06.08.2010, 15:24
Ответить | Цитировать
malich
Андрей Малков

Зарегистрирован:
2005-08-09
Сообщений: 522

В разделе /netshop/ прикрепляете компонент "Магазин:Товар", в его системных настройках пишете:
Код:
if ($sub==XX){
ignore_sub=1;
ignore_cc=1;
}

XX - ID раздела netshop.

В результате этого в разделе /netshop/ выведутся все записи компонента Магазин:Товар, с игнорирование их привязки к разделам, и компонентам в разделе.

Ну а чтобы прям писалось artikul-XXX, artikul это соответственно ключевое слово компонента в разделе XX ID записи, либо при импорте можете добавлять в запись ключевое слово artikul-XXX.
06.08.2010, 15:54
Ответить | Цитировать
Гость
Гость

Спасибо,

но структуру разделов нужно сохранить. И показ самих товаров в разделах. Вопрос в том как найти товар из любого подраздела и показать его в верхнем уровне ?
т.е. подробное описание товара открывается в верхнем уровне:
Код:
/netshop/_artikul_.html


про ключевое слово спасибо. его скорее всего получится записать при очередном импорте.
06.08.2010, 16:01
Ответить | Цитировать
malich
Андрей Малков

Зарегистрирован:
2005-08-09
Сообщений: 522

Так а структура разделов некуда и не денется, просто в разделе /netshop/ будут показаны все записи компонента, то есть из всех его разделов.

Можете добавить дополнительные условия выборки
Код:
if ($sub==XX){
ignore_sub=1;
ignore_cc=1;
$query_where = "Subdivision_ID=XX OR Subdivision_ID=XX";
}


Соответсвенно будут показаны записи из раздела ХХ и раздела ХХ :-)

Можете создать форму, и в зависимости от переданных из нее значений формировать условия выборки - это к примеру если на странице /netshop/ нужен будет какой то фильтр

Соответственно у нас к примеру есть
/netshop/
/netshop/razdel1
/netshop/razdel2

В разделе /netshop/ у на будут выведены товары razdel1 и razdel2
Да $fullLink у объектов в списке в разделе /netshop/ у нас будет вести на /netshop/razdel1/ключевое_слово_комопнента_xx.html
но эта же самая запись будет доступна
/netshop/ключевое_слово_комопнента_xx.html
06.08.2010, 18:39
Ответить | Цитировать
Гость
Гость

спасибо.
так и сделал.

только как сделать так, чтобы ключевые слова для товаров заносились автоматически из артикула товара ?
06.08.2010, 23:37
Ответить | Цитировать
malich
Андрей Малков

Зарегистрирован:
2005-08-09
Сообщений: 522

Скорее всего нужно поковыряться в файле импорта (\netcat\modules\netshop\import\), напишите в тех поддержку - они подскажут, какие правки нужно внести.
10.08.2010, 20:42
Ответить | Цитировать
Гость
Гость

Написал бы с удовольствием. Но поддержка уже кончилась.
Продлевать начальство не собирается.
11.08.2010, 21:14
Ответить | Цитировать
Игорь

Зарегистрирован:
2010-08-11
Сообщений: 2

Цитата:
Да $fullLink у объектов в списке в разделе /netshop/ у нас будет вести на /netshop/razdel1/ключевое_слово_комопнента_xx.html
но эта же самая запись будет доступна
/netshop/ключевое_слово_комопнента_xx.html


а вот и не получается так:
Код:
/netshop/ключевое_слово_комопнента_xx.html


не находит из-за того что разные экземпляры компонента. в разных разделах компонент привязан. родительском и дочернем.

как же быть ?
11.08.2010, 21:19
Ответить | Цитировать
Игорь

Зарегистрирован:
2010-08-11
Сообщений: 2

Цитата:
как же быть ?


при запросе списка товаров, да, $ignore_XXX работают. но при запросе конкретного товара - нет.

как получить страницу с подробным описанием товара из произвольного дочернего раздела Магазин:Товар на самом верхнем уровне магазина ?

или как обеспечить разделы Магазина и фильтрацию товаров в каждом разделе (и тогда компонент с Магазином будет один на верхнем уровне)?
198 196 2010-08-11 21:19:31 10630
Описание проекта