Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- /**
- * Реализация некэшируемых вставок
- * Описание и примеры использования: http://dev.1c-bitrix.ru/community/webdev/user/11350/blog/1849/
- */
- function nciStart ()
- {
- ob_start ();
- }
- function nciFinish (&$component)
- {
- // Реализация некэшируемых вставок
- $component->arResult["RESULT_HTML"] = ob_get_clean();
- $component->arResult["TEMPLATE_PATH"] = $component->__template->__folder;
- $component->SetResultCacheKeys (
- Array ("RESULT_HTML" => "RESULT_HTML", "TEMPLATE_PATH" => "TEMPLATE_PATH"));
- }
- function nciDisplay (&$component)
- {
- $html = $component->arResult["RESULT_HTML"];
- preg_match_all ("~<\[\#(\w+)\#\]>~", $html, $matches);
- if (is_array ($matches))
- {
- $template_path = $_SERVER["DOCUMENT_ROOT"].$component->arResult["TEMPLATE_PATH"];
- $keys = $matches[0];
- $vars = $matches[1];
- foreach ($keys as $key_index => $key_name)
- {
- ob_start();
- include ($template_path."/".(strtolower ($vars[$key_index])).".php");
- $mini_template_data = ob_get_clean ();
- $html = str_replace ($key_name, $mini_template_data, $html);
- }
- }
- return $html;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement