|
WSPro
Артем Зуев
Зарегистрирован: 2009-12-16
Сообщений: 3
|
Входные данные:
- два компонента, у обоих есть по два шаблона - основной для вывода информации + администрирование
- в одном из компонентов (назовем его cc1) есть еще один шаблон XX, который формирует данные в JSON-формате
- во втором компоненте производится вызов через s_list_class(sub, cc1, 'nc_ctpl=XX'), разбитие строки в массив и дальнейшая генерация работы
Вот прикол в том, что при таком чтении в шаблонах вывода - все ок, работает, но если попытаться провернуть ту же фишку в коде альтернативной формы добавления/изменения данных
Код:
"; $j_str = s_list_class(sub, cc1, 'nc_ctpl=XX'); $addForm .= "
возвращается пуская строка.
Попытка использовать конструкцию вида по совету технической поддержки:
Код:
"; $old = $nc_core->admin_mode; $nc_core->admin_mode = 0; $admin_mode = 0;
$j_str = s_list_class(sub, cc1, 'nc_ctpl=XX');
$admin_mode = $nc_core->admin_mode = $old; $addForm .="
привела к не совсем тому результату - идет обращение к основному шаблону компонента cc1 (как будто просто производится вызов $j_str = s_list_class(sub, cc1)).
Но необходимо получить данные от компонента ИМЕННО В УКАЗАННОМ шаблоне... Варианты городить кучу условий в основном шаблоне и делать рекурсивный подзапрос "сам-к-себе" с указанием нужного шаблона не самый удачный вариант =( хотя бы потому, что тогда потребуется кучу переменных переформировывать в строку...
Кто сможет предложить вариант получить выдачу определенного шаблона компонента через вызов из альтернативной формы добавления/изменения другой формы...
wspro
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
А получить нужные данные напрямую sql-запросом - не вариант?
Я пользуюсь вызовом s_list_class других компонентов только в случае, когда требуются кнопки редактирования этих зависимых записей в другом компоненте.
Когда работа идет только на чтение, то нафиг огород городить? Делайте напрямую sql-запрос, это и проще и работать будет быстрее на порядок. Ну на крайний случай можно отдельную функцию сделать и туда нужные алгоритмы вынести.
Temet nosce...
|