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

Неткат 4.6 Зеркальный раздел. Пользовательское поле связь с другим разделом.

11.03.2014, 09:51
Бадруттин Магомедов

Зарегистрирован:
2014-03-11
Сообщений: 9

Добрый день, помогите пожалуйста кто сталкивался.
Неткат 4.6. Задача отобразить на дочерних сайтах раздел с главного сайта. В 5.. версии вроде появилась возможность, при создании раздела, указать, что он зеркальный и выбрать связь с другим разделом.
В Неткат 4.6 есть возможность в пользовательских настройках создать поле "связь с другим разделом" НО вот дальше что писать в системных настройках ума не приложу!
Помимо добавления поля в пользовательских настройках с именем "mirror" типа связь с разделом, в системных настройках думал нужно построить запрос с условием по полю $cc_settings[mirror]. Но $cc_settings[mirror] выдает код, который не нашел ни в одной таблице!
Как организована связь с другим разделом? Через какие таблицы? Как реализовать возможность при создании раздела просто отображать содержимое друго раздела?
Ребята подскажите хоть в какую сторону копать улыбка Спасибо.

P.S. ($ignore_catalogue=1;$ignore_sub=1;$ignore_cc=1; не предлагать, потому как мне не нужно отображать ВСЕ содержимое компоненты вне зависимости от разделов.)
11.03.2014, 10:08
Гость
Гость

".s_list_class."
11.03.2014, 10:54
Nexwich
Панасин Александр
Nexwich

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

$ignore_catalogue=1;$ignore_sub=1;$ignore_cc=1;
Если не предлагать, то тогда решения не существует. Так как необходимо их использование вместе с $query_where

Вариант 1
Создать поле в котором будете указывать номер компонента в разделе в дополнительных полях компонента или раздела(если нет в компоненте). Например $cc_settings[sub_class_id]
Системные настройки
Код:
if($cc_settings[sub_class_id]){
$ignore_catalogue=1;$ignore_sub=1;$ignore_cc=1;
$query_where = "a.Sub_Class_ID = '".$cc_settings[sub_class_id]."'";
}

Указывайте номер компонента и будут выводится из него записи.
Редактирование возможно из любого места. Это не испортит запись.

Вариант 2
Создать компонент для зеркального отображения
Создать поле в котором будете указывать номер компонента в разделе ($f_cc_id)
В объекте в списке прописать
Код:
$sub_id = $db->get_var("SELECT Subdivision_ID FROM Sub_Class WHERE Sub_Class_ID=".$f_cc_id."");
<?=s_list_class($sub_id,$f_cc_id,"",true)?>

либо усложнить до цикла

Вариант 3
Обновитесь до 5 версии

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
11.03.2014, 10:57
Бадруттин Магомедов

Зарегистрирован:
2014-03-11
Сообщений: 9

Я правильно понял, что вы предлагаете в макете прописать условие: если отображается "зеркальный" раздел, то отобразить раздел "источник" с помощью ".s_list_class." ?
Если так, то хотелось бы конечно более красивое решение...т.е. сделать ссылку на уровне создания раздела, чтобы пользователь визуально выбрал раздел "источник" и все!
11.03.2014, 11:00
Бадруттин Магомедов

Зарегистрирован:
2014-03-11
Сообщений: 9

Александр спасибо большое за ответ. Это путь в принципе возможен.
Просто было интересно реализовать через пользовательские настройки. Зачем то же сделан тип поля "связь с другим разделом". Правда я так и не понял через какую таблицу эта связь реализуется да и вообще как? улыбка
11.03.2014, 11:09
Nexwich
Панасин Александр
Nexwich

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

Цитата:
Я правильно понял, что вы предлагаете в макете прописать условие: если отображается "зеркальный" раздел, то отобразить раздел "источник" с помощью ".s_list_class." ?

Вторым вариантом да.
Цитата:
Правда я так и не понял через какую таблицу эта связь реализуется да и вообще как?

Таблица указывается в поле Формат например
Subdivision (разделы)
Sub_Class (компоненты в разделе)
234 (компонент с номером 234)
Более подробно в руководстве
Цитата:
т.е. сделать ссылку на уровне создания раздела, чтобы пользователь визуально выбрал раздел "источник" и все!

Вы можете указать раздел если в разделе не встречается более одного компонента. Тогда перепишите код под раздел $current_sub[] заместо $current_cc[] или оставить как есть, и указывайте раздел а не компонент в разделе, тогда перепишите в системных настройках в условии выборки a.Subdivision_ID заместо a.Sub_Class_ID

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
11.03.2014, 11:28
Бадруттин Магомедов

Зарегистрирован:
2014-03-11
Сообщений: 9

Супер! Спасибо большое! Буду пробовать.
В итоге, конечно, лучше обновиться до 5 версии )) Чтобы можно было не вбивать номер компоненты или раздела, а выбирать визуально.
Кстати если добавлять поле с типом "связь с другим разделом" именно в пользовательских настройках, то нет возможности задавать формат.

Последний вопрос: где хранятся поля в пользовательских настройках? в самой таблице от компоненты я эти поля не видел.
11.03.2014, 11:35
Nexwich
Панасин Александр
Nexwich

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

Столбик CustomSettingsTemplate в таблице компонентов Class там хранится массив

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
11.03.2014, 12:30
Бадруттин Магомедов

Зарегистрирован:
2014-03-11
Сообщений: 9

Спасибо большое за помощь! Все получилось. Может кому понадобиться:
Добавляем в пользовательских настройках компоненты поле например "mirror" с типом "связь с разделом". Далее в системных настройках пишем

if($cc_settings[mirror]){
$ignore_catalogue=1;$ignore_sub=1;$ignore_cc=1;
$query_where = "a.Subdivision_ID = '".$cc_settings[mirror]."'";
}
(на случай нескольких компонентов в разделе можно еще и Sub_Class_ID добавить).
В итоге в раздел добавляем тот же компонент информацию из которого мы хотим дублировать, там же в визуальных настройках выбираем раздел и все.
11.03.2014, 15:06
Nexwich
Панасин Александр
Nexwich

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

Это вы копировали инфу из третьего поста?

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
11.03.2014, 15:08
Бадруттин Магомедов

Зарегистрирован:
2014-03-11
Сообщений: 9

Да все верно Александр, я выбрал Ваш 1 вариант. Еще раз спасибо!
198 196 2014-03-11 15:08:54 13544
Описание проекта