-
Notifications
You must be signed in to change notification settings - Fork 0
/
templates.ru.json
33 lines (33 loc) · 8.17 KB
/
templates.ru.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[
{ "Key": "PageTitle", "Value": "Шаблоны" },
{ "Key": "HeaderTitle", "Value": "Шаблоны" },
{ "Key": "HeaderDescription", "Value": "Больше нет необходимости копировать разметку на каждую страницу и мучиться со вставками. В шаблонах контент со страниц автоматически помещается в нужную область. Число блоков контента не ограничено. Если шаблонов несколько, то одинаковые фрагменты можно легко вынести в пользовательские элементы управления." },
{ "Key": "TemplateLocalization", "Value": "Локализация шаблонов" },
{ "Key": "ServerCode", "Value": "Серверный код" },
{ "Key": "ContentBlocksLabelNames", "Value": "Имена меток блоков контента" },
{ "Key": "SimpleExampleText1", "Value": "В следующем примере показана страница-шаблон, в которой определено две метки: <code><php:Head/></code> и <code><php:MainContent/></code>." },
{ "Key": "SimpleExampleText2", "Value": "Страницы контента могут содержать блоки контента для указанных в шаблоне меток. Для этого используется специальный системный тег: <code>php:Content</code>, который имеет следующий формат записи:" },
{ "Key": "MarkerName", "Value": "имяМетки" },
{ "Key": "ContentBlockExample", "Value": "\n Содержимое блока.\n Допустимо использование любых тэгов, \n серверного кода и \n элементов управления.\n" },
{ "Key": "SimpleExampleText3", "Value": "Если для какой-то из меток не будет определено содержимое на странице контента, то такая метка будет удалена из итогового <strong>HTML</strong> кода." },
{ "Key": "SimpleExampleText4", "Value": "В следующем примере показан <strong>HTML</strong>-код страницы контента, в которой для метки <code>MainContent</code> устанавливается содержимое <code><h2>Привет, мир!</h2></code>." },
{ "Key": "SimpleExampleText5", "Value": "Результатом выполнения веб-запроса будет страница следующего вида:" },
{ "Key": "IntroductionText1", "Value": "Шаблоны - это обычные файлы <strong>HTML</strong> со специальными метками, на месте которых будет размещаться контент." },
{ "Key": "IntroductionText2", "Value": "Метки записываются в строгом формате: <code><php:ИмяМетки/></code>. Name marker (identifier) should consist of English letters and numbers." },
{ "Key": "IntroductionText3", "Value": "В одном шаблоне может быть неограниченное число меток, но как правило достаточно двух-трех." },
{ "Key": "DirectivesText1", "Value": "В шаблонах допустимо использование директив <code><?#Register ?></code> для регистрации <a href=\"/controls.php${Lang}\">пользовательских элементов управления</a>." },
{ "Key": "DirectivesText2", "Value": "Другие директивы не поддерживаются и не будут никаким образом обработаны (останутся в итоговом <strong>HTML</strong>, как есть)." },
{ "Key": "DirectivesText3", "Value": "В следующем примере показано использование директив в шаблоне. Директива <code><?#Page ?></code> будет проигнорирована и останется в результате обработки запроса в исходном виде. Директивы <code><?#Register ?></code> будут успешно обработаны." },
{ "Key": "ThisIsSimpleExample", "Value": "Это простой пример" },
{ "Key": "PageDirectiveIsNotSuppored", "Value": "Директива Page не поддерживается в шаблонах" },
{ "Key": "TemplateLocalizationText1", "Value": "Для локализации шаблонов можно использовать глобальные ресурсы (<strong>global.json</strong>)." },
{ "Key": "TemplateLocalizationText2", "Value": "При локализации следует учитывать, что отдельные ключи могут быть переопределены в локальных ресурсах страниц контента." },
{ "Key": "ServerCodeText1", "Value": "К сожалению, в текущей версии движка, в шаблонах не работает обработка серверных блоков кода. Это в принципе легко исправить, но смысла особого нет, поскольку можно использовать <a href=\"/controls.php${Lang}\">пользовательские элементы управления</a>, в которых подобных ограничений нет." },
{ "Key": "ServerCodeText2", "Value": "Если вы захотите реализовать поддержку серверного кода в шаблонах, то сделать это можно в классе <code>\\Nemiro\\UI\\Page</code>. Например, в методе: <code>Render</code>, где-нибудь перед обработкой пользовательских элементов управления." },
{ "Key": "ProcessingServerCodeHere", "Value": "обработка блоков серверного кода в шаблоне" },
{ "Key": "ServerCodeText3", "Value": "Но учитывайте, что обработка серверного кода потребует выделения дополнительных ресурсов и при высокой нагрузке это может замедлить обработку запросов. Можно пойти дальше и полностью изменить логику обработки серверных блоков, например, сделать это за один раз, перед выдачей итогового результата клиенту; но это потребует более тщательного продумывания логики взаимодействия различных элементов веб-приложения." },
{ "Key": "ContentBlocksLabelNamesText1", "Value": "Имена меток (идентификаторы меток) должны состоять из букв английского алфавита. Допустимо использование чисел." },
{ "Key": "ContentBlocksLabelNamesText2", "Value": "Во избежание конфликтов, имена меток не должны пересекаться с существующими именами пользовательских элементов управления, имеющими префикс <code>php:</code>." },
{ "Key": "ContentBlocksLabelNamesText3", "Value": "Имена меток не проверяются на уникальность. Если в одном шаблоне будет несколько меток с одинаковыми именами и для этих меток будет определен контент, то в итоге для всех копий меток будет установлено одинаковое содержание." },
{ "Key": "ContentBlocksLabelNamesText4", "Value": "В следующем примере показан шаблон с двумя метками <code><php:MainContent/></code> и результат выполнения запроса." }
]