Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Добавление товару нескольких категорий

Страницы: 1  |  2  |  3
07.06.2013, 16:16
Гость
Гость

Добрый день!

Подскажите, плиз, как можно сделать что бы один товар выводился в нескольких категориях?

И еще, попробовал добавить псевдокатегорию (сетевая структура), указал у нее "внешний адрес", но как то не отображаются внутренности этой внешней категории при заходе в псевдокатегорию.... может быть где-то и что то нужно включить?)
07.06.2013, 21:30
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Цитата:
Подскажите, плиз, как можно сделать что бы один товар выводился в нескольких категориях?

О, это хитрая задача! Недавно мне удалось ее решить.
Вот сильно упрощенное решение, чтобы был понятен принцип:
1. Делаем в компоненте дополнительное текстовое поле AltSubs
2. В компоненте в форме добавления или редактирования делаем отображение этого текстового поля, где пользователь через запятую перечисляет номера дополнительных разделов, где нужно показать товар, чтобы переменная получилась в таком формате: $f_AltSubs=",1,2,3,4,"
3. В системных настройках отображения компонента добавляем условие выборки:
$query_where="1";
...
$ignore_sub=$ignore_cc=1;
$query_where .=" and (a.Subdivision_ID=$sub or a.AltSubs like '%,$sub,%')";

А вообще удобнее в п.2 при редактировании объекта выводить выпадающий список подразделов каталога в виде дерева. Я у себя именно так сделал, и потом уже в условиях изменения/добавления обрабатывал выбранные в селекторе значения (номера разделов) и приводил их к правильному виду.


Цитата:
И еще, попробовал добавить псевдокатегорию (сетевая структура), указал у нее "внешний адрес", но как то не отображаются внутренности этой внешней категории при заходе в псевдокатегорию.... может быть где-то и что то нужно включить?)

Вот тут ничего не понял. улыбка Что такое псевдокатегория, что за внешний адрес и что за внешняя категория?))
10.06.2013, 11:03
Гость
Гость

По второму своему пункту оперирую словами из документации netcat о сетевой структуре:

Цитата:
1. Сетевая структура сайта
Сетевой тип структуры сайта отличается от иерархической тем, что один элемент структуры (раздел) может иметь более одного родительского раздела. Например, подраздел «Зарядные устройства для мобильных телефонов» (ключевое слово «zaryad») в каталоге товаров («catalog») должен относиться к разделам «Мобильные телефоны» («mobile») и «Аксессуары» («other»). Для реализации этой задачи нужно создать раздел «Зарядные устройства для мобильных телефонов» в каком-то одном из разделов, например, в «Мобильных телефонах». При этом относительный адрес раздела будет иметь вид /catalog/mobile/zaryad/ и раздел «Зарядные…» будет выводиться в списке подразделов раздела «Мобильные…». После этого необходимо создать символический раздел «Зарядные…» в разделе «Аксессуары», например, с таким же ключевым словом, указав «/catalog/mobile/zaryad/» как внешний URL. В результате раздел «Зарядные…» также будет находится в разделе «Аксессуары», адрес раздела будет иметь вид /catalog/other/zaryad/, а содержать он будет ту же информацию, что и /catalog/mobile/zaryad/.


Спасибо!
10.06.2013, 12:10
Гость
Гость

Код:
3. В системных настройках отображения компонента добавляем условие выборки:
$query_where="1";
...
$ignore_sub=$ignore_cc=1;
$query_where .=" and (a.Subdivision_ID=$sub or a.AltSubs like '%,$sub,%')";


Это нужно в настройках компонента Категории или Товар?
10.06.2013, 12:40
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Это в системных настройках компонента "Товар".
10.06.2013, 14:34
Гость
Гость

Да, уже решил все свои вопросы. Твой ответ очень помог! Спасибо.
06.09.2013, 01:47
e-aston
Евтишин Сергей

Зарегистрирован:
2012-07-02
Сообщений: 5

Цитата:
Цитата:
Подскажите, плиз, как можно сделать что бы один товар выводился в нескольких категориях?

О, это хитрая задача! Недавно мне удалось ее решить.
Вот сильно упрощенное решение, чтобы был понятен принцип:
1. Делаем в компоненте дополнительное текстовое поле AltSubs
2. В компоненте в форме добавления или редактирования делаем отображение этого текстового поля, где пользователь через запятую перечисляет номера дополнительных разделов, где нужно показать товар, чтобы переменная получилась в таком формате: $f_AltSubs=",1,2,3,4,"
3. В системных настройках отображения компонента добавляем условие выборки:
$query_where="1";
...
$ignore_sub=$ignore_cc=1;
$query_where .=" and (a.Subdivision_ID=$sub or a.AltSubs like '%,$sub,%')";

А вообще удобнее в п.2 при редактировании объекта выводить выпадающий список подразделов каталога в виде дерева. Я у себя именно так сделал, и потом уже в условиях изменения/добавления обрабатывал выбранные в селекторе значения (номера разделов) и приводил их к правильному виду.


Цитата:
И еще, попробовал добавить псевдокатегорию (сетевая структура), указал у нее "внешний адрес", но как то не отображаются внутренности этой внешней категории при заходе в псевдокатегорию.... может быть где-то и что то нужно включить?)

Вот тут ничего не понял. улыбка Что такое псевдокатегория, что за внешний адрес и что за внешняя категория?))


Помогите мне плиз, проделал все выше перечисленные операции - выскакивают ошибки, мне нужно чтобы у товара была возможность множественным выбором-выбрать в каких разделах (подразделах) его отображать, может ли кто-нибудь на примере расписать что и где прописать с учетом того что netcat 5 - ый.
06.09.2013, 06:24
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Лучше напишите, что именно у Вас не получилось?
Построить список разделов для выпадающего списка? Или осуществить выборку?
Надо полагать, если вылезает ошибка - значит куда-то не туда вставили новый код в Ваш старый код.
Вы смогли разобраться, какая именно операция в коде вызывает ошибку?
Если смогли, то в чем заключается причина?
А если не смогли, то, боюсь, подробный рассказ о том, где что нужно прописать, Вам будет не очень-то полезен - ведь каждый проект уникален и даже все подробно пояснив, я не смогу предусмотреть все особенности, которые, возможно, требуют особого подхода при вставке дополнительного кода. В этом случае лучше обратиться к специалисту.
06.09.2013, 10:37
e-aston
Евтишин Сергей

Зарегистрирован:
2012-07-02
Сообщений: 5

есть демо версия интернет магазина есть категория книги в ней подкатегория учебники нужно чтоб 1 товар и там и там отображался при копировании товара получаются разные урл, в компоненте книги создал поле (строка) AltSubs, в шаблоне компонента вывод2 а именно в шаблоне действий (добавление и изменение) дописал ".nc_string_field("AltSubs", "maxlength='255' size='50'", $classID, 1)."<br />
<br /> после чего у меня при редактировании товара появилась дополнительная строка, в редактировании шаблона а именно в системных настройках компонента книги и шаблона вывода2 дописал
$query_where=1;
$ignore_sub=$ignore_cc=1;
$query_where .=" and (a.Subdivision_ID=$sub or a.AltSubs like '%,$sub,%')";

и при редактировании товара в новой строке прописал номера разделов через запятую, и собственно ничего не меняется, товар в других категориях не отображается.
06.09.2013, 11:47
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Причина проблемы может быть следующая:
Номера разделов в AltSubs нужно прописывать через запятую в таком виде:
,22,33,1,1,
(то есть запятая должна быть и в начале, и в конце).
Попробуйте исправить.
06.09.2013, 12:42
e-aston
Евтишин Сергей

Зарегистрирован:
2012-07-02
Сообщений: 5

Спасибо огромное, заработало!!!, вот только мне еще понять бы как сделать чтоб не разделы прописывать номерами а выбирать множественным списком (чек боксами например) из уже готовых страниц, а то страниц слишком много планирую создать и прописывать номера это уж слишком проблемно будет.
198 196 2017-01-25 13:53:57 13096
Страницы: 1  |  2  |  3
Описание проекта