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

Связь компонентов

Новый топик
06.08.2013, 09:28
Ответить | Цитировать
Гость
Гость

Добрый день!
В разделе присутствует два компонента, необходимо вывести информацию из первого компонента в "Отображение объекта" второго компонента.
Помогите реализовать, заранее спасибо!
06.08.2013, 10:15
Ответить | Цитировать
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 367

<?= s_list_class(xxx,yyy) ?> - для 5 версии
".s_list_class(xxx,yyy)." - для 4 версии ,

где

xxx - это номер раздела
yyy - это номер компонента в разделе, информацию которого нужно вывести

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
06.08.2013, 11:05
Ответить | Цитировать
Гость
Гость

Спасибо! Но, теперь нужно усложнить запрос, так как данная связка компонентов будет в нескольких разделах.

Если не сложно, спасибо!
06.08.2013, 11:26
Ответить | Цитировать
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 367

Если Вам нужно, чтобы все объекты компонентов данного раздела отображались в других разделах, то тогда нужно в системных настройках каждого компонента прописать:

Код:
$ignore_catalogue=1;
$ignore_cc=1;
$ignore_sub=1;
$ignore_parent=1;


Эти настройки указывают на то, что компонент будет выводить все свои объекты в независимости от раздела. Т.е. подключая данный компонент к любому разделу будут выведены все объекты из всех разделов, в которых подключен данный компонент.

Более подробно об этом здесь

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
06.08.2013, 12:25
Ответить | Цитировать
Гость
Гость

Большое спасибо!
Первым способом у меня вывести получилось
".s_list_class(136, 134)."

Но не могу разобраться как выводить игнорируя номер раздела и компонента.
Еще раз опишу вопрос, два данных компонента будут добавляться сразу в несколько разделов и информация у каждого будет разная.
06.08.2013, 12:33
Ответить | Цитировать
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 367

Цитата:
Еще раз опишу вопрос, два данных компонента будут добавляться сразу в несколько разделов и информация у каждого будет разная.


Если так, то просто к каждому нужному разделу добавляете эти компоненты, при необходимости сортируя их по приоритету, чтобы информация выводилась правильно.

В системных настройках уберите просто код игнорирования и всё.

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
06.08.2013, 12:45
Ответить | Цитировать
Гость
Гость

Про смену мест в приоритете я знаю, но у меня другая задача.

Дело в том, что добавляя два компонента, один из них я скрываю, так как его информацию мне нужно вывести в "Отображение объекта" второго компонента.

вот что я делаю

tatled.ru/catalog/ulichnye-svetodiodnye-svetilnik/test_1.html

Таблица "Опциональные параметры" - это второй компонент,который я вывел в Отображение объекта" первого, но сделал я это указываю номер раздел и компонента.

Но у меня задача сделать такое же еще много раз, с другими разделами, учитываю что, инфа для этих компонентов будет разная.


Это что то вроде компонентов фотоальбомы и фотогалерея, внутри компонента фотоальбомы находится компонент фотогалерея.
06.08.2013, 13:58
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

В функции s_list_class(0,cc,"nc_ctpl=90") С версии 4.7 раздел указывать не обязательно что упрощает выбор. Во вторых есть третий параметр который позволит вам выбирать любую запись с любым шаблоном при необходимости. Добавьте в еще один параметр например itemID
В место вывода
s_list_class(0,cc,"itemID=".$f_RowID)

В системных настройках скрытого компонента игнорируйте выборку по разделу и компоненту (он должен выводить все записи). Также создайте новое поле например itemID (не будем выдумывать новые + так легче запоминать и помнить)
В скрытый компонент системные настройки
После модифицируйте свой запрос с помощью $query_where
$ignore_sub = 1;$ignore_cc = 1;
if ($itemID) $query_where ="a.itemID = '".itemID."'";

Таким образом в s_list_class будет передан ID товара и выбор товара произойдет по совпадению этих номеров itemID скрытого компонента и $f_RowID товара.
--------------------------
Если у вас 1 раздел 1 товар то выборку можно сделать через системное поле Subdivision_ID
В место вывода
s_list_class(0,cc,"itemID=".$f_Subdivision_ID)
В скрытый компонент системные настройки
$ignore_sub = 1;$ignore_cc = 1;
if ($itemID) $query_where ="a.Subdivision_ID = '".itemID."'";


if (способ == 1) {
Не важно где будет находится компонент с характеристиками, он может существовать 1 на все товары, так как выборка будет происходить по совпадению id товара и поля itemID компонента параметров
}
if (способ == 2) {
Два компонента должны находится в одном разделе. И указывать вам не чего не придется. Так как выборка будет происходить по совпадению ID раздела
}

Не упоминайте стандартные компоненты так как не все с ними знакомились. Я не разу не видел как большинство из них работают.

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
198 196 2013-08-06 13:58:08 13203
Описание проекта