diff --git a/docs/ru/designers/chapter-debugging-console.xml b/docs/ru/designers/chapter-debugging-console.xml index 98961870..91188eeb 100644 --- a/docs/ru/designers/chapter-debugging-console.xml +++ b/docs/ru/designers/chapter-debugging-console.xml @@ -1,13 +1,13 @@ - + Отладочная консоль В Smarty включена консоль для отладки. Консоль позволяет узнать все включенные - файлы, присвоенные переменные и настройки из конфигурационных файлов. - Шаблон "debug.tpl", поставляемый вместе со Smarty, управляет видом консоли. - Установите опцию Smarty $debugging в true и, если надо, укажите в $debug_tpl путь + файлы, присвоенные переменные и настройки из конфигурационных файлов. + Шаблон "debug.tpl", поставляемый вместе со Smarty, управляет видом консоли. + Установите опцию Smarty $debugging в true и, если надо, укажите в $debug_tpl путь к шаблону debug.tpl (по умолчанию это SMARTY_DIR). Когда вы загружаете страницу, должно появиться всплывающие окно и вывести консоль отладки. Для вывода доступных переменных из конкретного шаблона, см. функцию @@ -18,10 +18,10 @@ - Консоль отладки не работает, когда используется функция API fetch(). - Необходимо использовать только функцию display(). Она генерирует - javascript код вначале каждой сгенерированной страницы. Если вам не - нравится javascript, можно отредатировать debug.tpl для изменения + Консоль отладки не работает, когда используется функция API fetch(). + Необходимо использовать только функцию display(). Она генерирует + javascript код вначале каждой сгенерированной страницы. Если вам не + нравится javascript, можно отредатировать debug.tpl для изменения способа отображения по вашему вкусу. Отладочная информация не кэшируется и в отладочную информацию не включается информация о debug.tpl. diff --git a/docs/ru/programmers/caching/caching-groups.xml b/docs/ru/programmers/caching/caching-groups.xml index 62fe88df..46488241 100644 --- a/docs/ru/programmers/caching/caching-groups.xml +++ b/docs/ru/programmers/caching/caching-groups.xml @@ -1,13 +1,38 @@ - + Групповое кэширование Вы можете сделать группировку более продуманной, используя групповые значения cache_id. - В таком случае, каждая подгруппа отделяется знаком вертикальной черты "|" в + В таком случае, каждая подгруппа отделяется знаком вертикальной черты "|" в значении cache_id. Возможно создавать любое количество подгрупп. + + Вы можете представить себе группы кэширования в виде иерархии каталогов. + К примеру, группа кэширования "a|b|c" соответствует структуре каталогов + "/a/b/c/". clear_cache(null,"a|b|c") - это всё равно, что удалить файлы из + "/a/b/c/*". clear_cache(null,"a|b") соответствует удалению файлов + "/a/b/*". Если вы укажете compile_id, например + clear_cache(null,"a|b","foo"), он добавляется в конец группы кэширования: + "/a/b/c/foo/". Если вы укажете имя шаблона, например + clear_cache("foo.tpl","a|b|c"), то Smarty попытается удалить + "/a/b/c/foo.tpl". Вы НЕ можете удалить определенный шаблон из + нескольких групп кэширования, наподобие "/a/b/*/foo.tpl" - группы кэширования + работают ТОЛЬКО слева направо. Вам нужно будет сгруппировать шаблоны + под единой иерархией групп кэширования, чтобы иметь возможность очистить + их как группу. + + + Групповое кэширование не следует путать с иерархией директорий шаблонов. + Групповое кэширование не имеет представления о том, как структурированы + ваши шаблоны. К примеру, если структура ваших шаблонов выглядит как + "themes/blue/index.tpl" и вы хотите иметь возможность очистить все файлы кэша + для темы "blue", вам нужно создать такую структуру групп кэширования, которая + бы повторяла файловую структуру ваших шаблонов, например + display("themes/blue/index.tpl","themes|blue"), а затем очистить их вот так: + clear_cache(null,"themes|blue"). + Группы в cache_id @@ -20,7 +45,7 @@ $smarty->caching = true; // Удалить все кэшированные копии подгруппы "sports|basketball" $smarty->clear_cache(null,"sports|basketball"); -// Удалить все кэшированные копии группы "sports", +// Удалить все кэшированные копии группы "sports", // включая "sports|basketball", или "sports|(anything)|(anything)|(anything)|..." $smarty->clear_cache(null,"sports"); @@ -28,17 +53,6 @@ $smarty->display('index.tpl',"sports|basketball"); ]]> - - Техническое замечание - - При групповом кэшировании, путь к шаблону НЕ используется как часть - cache_id. К примеру, если производится вызов display('themes/blue/index.tpl'), вы - не можете очистить кэш для всех файлов, находящихся в директории "themes/blue". Если - у вас возникла такая необходимость, нужно сгруппировать их в cache_id, например так - - display('themes/blue/index.tpl','themes|blue'); И теперь вы можете очистить кэш - темы blue, используя clear_cache(null,'themes|blue'); - - - + Блоковые функции @@ -9,6 +9,7 @@ array $params mixed $content object &$smarty + boolean &$repeat @@ -41,6 +42,21 @@ Smarty и на выводе вы получите результат обработки, а не исходный код шаблона. + + + Параметр &$repeat передается по + ссылке в функцию и дает ей возможность контролировать + количество отображений блока. + По умолчанию $repeat равен true + во время первого вызова блоковой функции (открывающий тэг блока) + и false при всех последующих вызовах блоковой функции + (закрывающий тэг блока). + Каждый раз, когда ваша функция возвращает параметр &$repeat + равный true, содержимое между + {func} .. {/func} обрабатывается и ваша функция вновь вызывается, причем новое содержимое + блока передается в параметре $content. + + Если вы используете вложенные блоковые функции, есть возможность определять родительские блоковые функции. Достаточно получить значение переменной