Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Использование одних и тех же данных на странице

00 голосов
9
В общем довольно простой наверное вопрос - на странице используется список данных выводимый через news.list - этот список отлично выполняет свои функции. Но вот далее в странице мне опять нужно использовать эти данные - могу ли я к ним получить доступ не прибегая к отложеным функциям и кешированию запросов?

Спасибо.
спросил 23 Май, 13 от Gurevi4 (320 баллов)

9 Ответы

00 голосов
Самое лобовое решение - это написать result_modifier.php и засунуть нужные данные в $GLOBALS...
Не уверен правда, что оно оптимальное.
ответил 23 Май, 13 от Eddie (2,060 баллов)
00 голосов
result_modifier.php закешируется и данные не добавятся, в $GLOBALS лучше писать из component_epilog.php шаблона компонента
ответил 24 Май, 13 от Ahbar (820 баллов)
00 голосов
Да, если кеширование включено, так будет правильнее.
ответил 15 Авг, 13 от Eddie (2,060 баллов)
00 голосов
По ходу выполнения этого задания у меня еще несколько вопросов -

1. сделал я component_epilog.php и в нем пытаюсь получить данные $arResult["ITEMS"], но он NULL, а в самом $arResult вообще нет полезной информации. почему туда не передаётся весь $arResult?

2. на сколько я понял в битриксе отложенные функции довольно полезные всё таки вещи, т.к. позволяют про зависимость данных не так опасаться. к примеру если этот блок вдруг по каким-то(один из модераторов захочет переделать к примеру) причинам перенесется в низ страницы - то глобалс не спасут. и надо будет всё равно переводить на отложеные. тогда тут возникает вопрос - они не будут работать при включенном кешировании - как избежать этого эффекта и всё таки использовать эти функции.

Спасибо.
ответил 15 Ноя, 13 от Gurevi4 (320 баллов)
00 голосов
в "суперкомпоненте" увидел использование result_modifier_nc.php -- но в http://dev.1c-bitrix.ru/api_help/main/general/component20/04.component_struct.php ничего про этот файл не сказано. Можно ли его использовать? и будет ли он работать как и предполагается - вызываться перед входом в шаблон и не кешироваться?
ответил 23 Фев, 14 от Gurevi4 (320 баллов)
00 голосов
Цитата
Дмитрий пишет:
1. сделал я component_epilog.php и в нем пытаюсь получить данные $arResult["ITEMS"], но он NULL, а в самом $arResult вообще нет полезной информации. почему туда не передаётся весь $arResult?

Добавьте в template.php строку
Код
<?$component->SetResultCacheKeys(array("ITEMS"));?>
ответил 15 Июнь, 14 от Ahbar (820 баллов)
00 голосов
Отложенные функции нужны, как правило, чтобы менять контент "сзади" вызова.
ответил 13 Окт, 14 от Eddie (2,060 баллов)
00 голосов
Цитата
Дмитрий Якинцев пишет:
Отложенные функции нужны, как правило, чтобы менять контент "сзади" вызова.


Да именно про это я и сказал, наверное не совсем просто внятно выразился :) В общем чтобы не плодить тем у меня насущный новый вопрос - есть веб-форма и в ней есть выпадающий список - соответсвенно выводится она благодаря такому коду:


Код
<?=$FORM->ShowInput('selectList')?>


пытаюсь я проставить значения этому списку кодом:

Код
$FORM->SetInputDefaultValue('selectList', array($dataFromGlobals))


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

Спасибо.
ответил 14 Фев, 15 от Gurevi4 (320 баллов)
00 голосов
последний вопрос очень интересует. разве никак нельзя сделать подобное?
ответил 25 Май, 15 от Gurevi4 (320 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
2 ответов
0 голосов
3 ответов
0 голосов
6 ответов