Файл ∗.tdd (дескриптор)

В разделе "Основы" вы начали знакомиться с дескриптором шаблона. И там речь шла главным образом об объявлении типов данных в стандарте MySQL.

Назначение дескриптора:

В дескрипторе не только объявляются переменные, в нем доступны три массива:

 

Как активировать изменения в tdd-файле?

Если Вы редактировали дескриптор шаблона (.tdd), то изменения вступят на сайте в силу, только после того, как в режиме администратора будет открыта страница, на которой используется соответствующий шаблон. Другим словами:

После внесения изменений в дескриптор (.tdd)
откройте страничку, содержащую этот дескриптор, в режиме администратора!

Если вы перенесли шаблон с другого сайта, то есть вероятность того, что по-прежнему будет работать старый дескриптор от текущего сайта, даже в режиме администратора. Причина в том, что старый дескриптор имеет более позднюю дату обновления. В этом случае нужно обновить дату обновления нового дескриптора, или актуализировать дескрипторы:

После переноса шаблонов с другого сайта щелкните по пункту
Команды > Актуализировать дескрипторы
в панели главного меню.

Если Вы редактировали шаблон (.tpl), то ничего больше делать не нужно — изменения сразу отразятся на сайте,

Time-out!

Если на странице находится большое количество обновленных tdd-файлов, то обновление может занять большое время, и может наступить time-out. В этом нет ничего страшного — в таких случаях просто перегружайте страницу в режиме админа, пока не обновятся все таблицы базы данных в соответстивии с обновленными дескрипторами.

Пробелы!

Следите за тем, чтобы код дескриптора начинался с "<?php", а не с пробелов или пустых строк. После закрывающего php-тега "?>" также не должно быть пробелов и пустых строк. Пусть вам не покажется странным, но закрывающий тег лучше вообще убрать – тогда о пустых строк в конце файла можно будет не беспокоится. Невыполнение этих требований приведет к тому, что при выводе странички могут появится пустые строки в самых неожиданных местах и перестанут работать php-функции header() и setcookie().

Неправильно
 
<?php
. . . . .
?>    
                
Правильно
<?php
. . . . .
. . . . .
. . . . .
?>

UTF-8!

UTF-8 без BOM

Сохраняйте tdd-файлы только в кодировке UTF-8 и обязательно БЕЗ СИГНАТУРЫ (без BOM)!
Требования к кодировке и пробелам за пределами php-тегов относиться к предобработчикам .tddh и .tuh.


См.также


Примечания

  • Порядок следования полей в окне редактирования можно изменить, не затрагивая ключей массивов. Порядок следования полей определяется очередностью объявления элементов массива $titles[], поэтому достаточно расположить элементы этого массива в нужном вам порядке.

    После изменения ключей массива в tdd-файле, придется изменять их и tpl-файле. А сами редактируемые данные уже придется менять вручную. Поэтому ключи массива лучше не трогать.

    Порядок объявления элементов массива $types может отличаться от $titles, но он также имеет значение. Дело в том, что block-данные формируют html-коды своих блоков именно в том порядке, как они объявлены в массиве $types. А этот порядок нужно учитывать при передаче данных с одного блока на другой.

  • В окне редактирования можно делать заголовки для групп полей, изменять расстояние между полями и вводить другое форматирование, прибегая к html-тегам в значениях элементов $titles[]. Например, добавить пространство после поля 5 можно так: $titles[5] = 'Фото<br><br>';

  • Для более тонкой настройки таблиц, в которых хранятся редактируемые данные, в дескрипторе предусмотрены переменные для определения ключей и различных опций таблицы.