PDA

Просмотр полной версии : Объяснение для новичка - ключевой пункт TemplaVoila: DS vs TO


maaboo
22.12.2007, 18:25
Господа, объясните наглядно полену (т.е. мне) в чём есть суть Data Structure aka DS и Template Object aka TO. В чём между ними разница, в чём тут соль и зачем понадобилось так делать? Что-то я нить теряю всё время, а по мануалу не понимаю, хоть убейте.

На простом и понятном русском языке человека, который понял и может объяснить... :-)

pomotom
22.12.2007, 19:08
ДС - структура данных.
Сколько полей в записи, их тип, откуда берется, как будет выглядеть флексформа в бекенде. Описывает отношения базы данных и бекенда. В принципе можно добавить и кое-что для вывода во фронтенд. Например есть поля служащие чисто для ввода данных, которые вообще не мэпятся на шаблон, а на шаблон мэпится некий результат их обработки/сочетания. Например поле для текста, поле для фона, а на выходе - картинка с текстом поверх. Короче - получение и обработка данных.

ТО - шаблон вывода во фронтенд. В него эти данные засовывают. Одна ДС может иметь множество темплейтов.

Как ТС темплейт и ХТМЛ тепмлейт - похоже.

maaboo
22.12.2007, 19:17
Всё равно не ясно. Можно на примере? И зачем понадобилось так делать?

Я пока так вижу: DS шаблон и TO - тоже шаблон!

Скажем, есть у нас хтмлька размеченная как надо, предположим там есть div под заголовок, div под текст, div под подпись на картинке, img, div выходных данных (дата допустим).

Из этого мы создаём DS, так? В DS будет div под заголовок, div под текст, div под подпись на картинке, img, div выходных данных (дата допустим). Гм...

И что дальше? Как более понятно обозначить то, что сделано и как перейти к TO?

pomotom
22.12.2007, 20:17
Из этого мы создаём DS, так? - мы создаем ДС и ТО на основе шаблона. Одновременно! ( Альтернатива - если вы истинный самурай - написать ДС вручную на гремучей смеси эксэмэл-я и ТС. а потом мэпить его на ХТМЛ-шаблон и получить ТО.) ТО - это привязка ДС к ХТМЛ. И переходить к ТО нужно только если вы хотите привязать альтернативный ХТМЛ-шаблон. Зато бывает полезно перейти к ручной правке ДС.

Нафига так замороченно? А сделайте и поподдерживайте годик пяток сайтов без темплы. На шаблонах с маркерами или автопарсере. 90% цмсок так и живут. Узнаете зачем оно надо и как удобнее. Правда, есть те кто темплу не выносит. Ну, осваивайте СпециальныеЭлементыКонтента.

maaboo
23.12.2007, 00:52
Пардон, я туп, всё равно не понимаю.

pomotom
23.12.2007, 09:27
Начинаем сначала.
1. Доку читали? (ФутуристикТемплейтБилдинг)
2. Действия (на своих файлах) воспроизводили?
3. Может, непонимание в том, что после создания ДС/ТО надо переходить к ТС шаблону? В котором вывод Темплы подключается к странице сайта?

maaboo
23.12.2007, 10:39
1. Да. Доку беру по второму разу более медленно с пониманием того, что происходит.
2. Действия воспроизводил, однако мне надо понимать, что именно я делаю, а не тупо повторять действия описанные в доке. Они ведь имеют какой-то смысл, если именно эти действия, а не другие, вызывают нужный результат.
3. Это ещё отдельный вопрос. :-)

мы создаем ДС и ТО на основе шаблона. Одновременно!

Можно пошагово? Вот у нас есть HTML-шаблон. Исходный. Мы нажимаем на нём кнопку TV и попадаем в Building Data Structure. Здесь, как я понимаю, выбираются поля из HTML-разметки шаблона, и задаются им, к примеру, правила обработки, имена и прочее. То есть HTML-контейнеры (<table>, <div>, <p>) преобразуются в T3-контейнеры (какие-нибудь field_menu, field_content), так? Итак, после создания DS, мы уже можем посмотреть результат, безо всякого создания TO. Вроде бы и логично - HTML-шаблон превратили в T3. CMS теперь знает в какой тэг что подставлять.

Что ещё надо? Каким образом тут привязывается TO и что с ним дальше делается?

Аллегорические примеры имеются? :-)

Вот как бы ещё объяснить того, что я не понимаю...

ЗЫЖ. Может кто ещё подскажет? :-)))

pomotom
23.12.2007, 11:11
когда вы делате save as вы что видите? update ds/to, правильно? пока вы задаете только поля - вы создаете ДС. Как только нажимаете кнопку map - создаете ТО. Так понятнее?

ДС - описание полей
ТО - привязка этих полей к ХТМЛ-шаблону

maaboo
23.12.2007, 11:40
К какому шаблону? Вернее будет даже так - какая привязка? А что мы делаем на этапе создания DS? Разве не привязываем?

pomotom
23.12.2007, 12:37
тут путаница с терминами
то, что вы называете созданием ДС - эта работа мастера, который создает или редактирует одновременно ДС и ТО. При мэппинге никаких изменений в запись ДС не вносится. В ДС изменения вносятся когда вы удаляете-добавляете поля, либо вручную в Списке.
Просто создание ДС - это когда вы в Списке создаете запись типа ДС.
Мэппинг не вносит никаких изменений в ДС. Только в ТО.

maaboo
23.12.2007, 12:39
Хм, а что тогда такое мэппинг?

-=UncleByte=-
23.12.2007, 14:10
maaboo, то что Вы называете "T3-контейнеры" как раз и есть эта самая DS, а мэппинг это как раз создание для нее TO на основе HTML.
То есть одновременно создаются и редактируются и DS и TO, при этом в TO сохраняется информация о привязке объектов DS к HTML-шаблону, а в DS сохраняется информация и о шаблоне и об общей структуре данных. В целом DS и TO достаточно сложно взаимопересекаются.

maaboo
23.12.2007, 14:24
Вот меня это-то и беспокоит, что сложно взаимопересекаются, но кажется я начал понимать как примерно это всё работает, позже выложу схему, оцените - правильно ли описано представление о связке HTML-DS-TO.

Что-то я начала задумываться о том, как бы написать с нуля новый мануал на базе MTB/FTB с включениями разных моментов, которые не освещены, а должны бы.

pomotom
23.12.2007, 16:47
The difference between DS and TO can be
summarized as follows:
A DS deines which ields can be linked with the HTML template.
A TO determines which HTML elements are linked to which ields
from Mastering TypoScript

Data Structures (DS) and Template Objects (TO)
After the mapping of TemplaVoila, the configuration of the HTML template
is saved in two XML data structures (DS and TO) and apart from the infor-
mation on the areas selected, also contains information on what type of
objects or data these areas can take in.
Data structures (DS) and template objects (TO) are separate definitions,
but make use of each other. Data structures contain an abstract defini-
tion of areas, fields, and field types, comparable to the definition of the
fields in a database—just with a few additional "gimmicks".
Template objects refer to a DS and define the output of an element of the
DS. A TO, for example, contains information concerning which HTML files
are to be used for rendering and which fields from the data structure are
to be used at which points in the HTML structure. Multiple TOs can be
defined for a DS; the basis for the different output variations.
There are still more areas where DS and TO can be used. A DS is used
both for the definition of base layouts and of content types.
from "oficial" TYPO3 book

ИМХО Building Websites - худшая из доступных книг

maaboo
23.12.2007, 18:46
Вот как бы это будет по-русски?

pomotom
23.12.2007, 19:57
ДС определяет какие поля могут быть связаны с ХТМЛ шаблоном
ТО определяет с какими полями связаны какие элементы ХТМЛ

без инглиша тут никак, без немецкого-то порой хреново

-=UncleByte=-
23.12.2007, 20:01
Вот как бы это будет по-русски?
Разницу между DS и TO можно сформулировать следующим образом:
DS описывает какие поля могут быть связаны с HTML шаблоном.
TO определяет с каким элементом HTML связано какое-либо
Структуры Данных (DS) и Объекты Шаблона (TO)
После создания привязок TemplaVoila конфигурация HTML шаблона сохраняется в двух структурах данных XML (DS и TO) где кроме информации о выбранных областях содержится также информация о том, какие типы объектов или данных могут содержать эти области.
Структуры Данных (DS) и Объекты Шаблона (TO) являются самостоятельными определениями, но используют друг друга. Структуры Данных (DS) содержат абстрактные описания областей, полей и типов полей, которые можно сравнить с описанием полей в базе данных - только с некоторыми "наворотами".
Объекты Шаблона (TO) ссылаются на DS и описывают вывод какого-либо элемента DS. TO, например, содержит информацию относительно того, какой HTML файл будет использован для рендеринга и в каком месте HTML структуры какие поля из структуры данных будут использованы. Для DS могут быть описаны несколько TO; это основа для различных вариантов вывода.
Есть и другие сферы применения DS и TO. DS используется также для описания основной разметки и типов контента.

Переводил "на лету", так что сильно не пенять ;)

PS
Книга, кстати, вполне толковая, но чувствуется что писали не носители языка, потому что ну очень путано по-английски изложено ;)

pomotom
23.12.2007, 21:12
Книга, кстати, вполне толковая, но чувствуется что писали не носители языка, потому что ну очень путано по-английски изложено
Какая из 3х? Официальная - Энтерпрайз контент менеджмент, Мастеринг Типоскрипт или последняя - Билднг Вебсайтс? Я так и не понял, для кого она предназначена. Первая типа универсальный справочник, если чел знает английский, ему можно просто дать главу про редактора - и будет спокойно работать (были преценденты), вторая - конкретно про ТС.

maaboo
23.12.2007, 21:21
ДС определяет какие поля могут быть связаны с ХТМЛ шаблоном
ТО определяет с какими полями связаны какие элементы ХТМЛ

без инглиша тут никак, без немецкого-то порой хреново

Ёкарный бабай, я читаю - и вроде как всё это - одно и тоже, только слова переставлены. :-)))

А насчёт немецкого это да, знать бы ещё немецкий.

maaboo
23.12.2007, 21:25
TO, например, содержит информацию относительно того, какой HTML файл будет использован для рендеринга и в каком месте HTML структуры какие поля из структуры данных будут использованы.

Это выносит мой больной моск, а разве не DS опирается на HTML-файл? И не при создании ли DS мы определяем какие из HTML-блоков каким полям динамического контента будут соответствовать?

pomotom
23.12.2007, 22:09
уже вторую страницу - нет, нет, НЕТ!
в ДС нет никакой информации о ХТМЛ. Там только описания полей, источники данных и ТС-обработка данных перед выводом в шаблон. Все!
вроде как всё это - одно и тоже, только слова переставлены. :-)))
Попробую еще раз Аллегорически. ДС - кирпичи, окна, перекрытия, стропила... ТО - чертеж, как из этого построить дом.

-=UncleByte=-
24.12.2007, 00:15
maaboo, Вы вообще вот эту доку по TV (http://typo3.biz/uploads/media/manual-doc_tut_ftb1-ru-02-02-2004_15-32-01.pdf) читали? В курсе что одновременно создаются и DS и TO, но при этом для одной DS может быть сколько угодно TO, которые как раз и отвечают за вывод в какой-либо шаблон основанный, как правило, на html файле? Действительно возникают опасение за здоровье мозга, не больны ли часом реально? А?

-=UncleByte=-
24.12.2007, 00:18
Какая из 3х? Официальная - Энтерпрайз контент менеджмент, Мастеринг Типоскрипт или последняя - Билднг Вебсайтс? Я так и не понял, для кого она предназначена. Первая типа универсальный справочник, если чел знает английский, ему можно просто дать главу про редактора - и будет спокойно работать (были преценденты), вторая - конкретно про ТС.Вообще говоря хотелось бы почитать все три, есть в электронном виде, а? А говорил про третью - цитату из которой и переводил - написано дотошно и толково, хотя и несколько занудно. Ну возможно я и сам немного зануда ;)

maaboo
24.12.2007, 15:15
У меня есть в PDF всё, а вообще я сам через осла качал, там точно есть. Только Building Websites без файликов, найти не могу. Если что - могу скинуть.

По поводу DS и TO, возвращаясь. Я как раз нахожусь на этой доке. Итак, с самого начала.

DS и TO первоначальные для страницы создаются одновременно. Дальнейшее изменение вида страницы может вводиться за счёт создания новых TO на базе уже существующей DS. Так?

DS представляет собой XML файл. TO представляет собой что?

По мануалу, пошагово. Идём до слов "Создание структуры данных (DS) для Main Dish & Son". Это начинается создание DS. Правильно? А вот со слов "Привязка DS к HTML-контенту" начинается создание TO, правильно?

То есть простое вбивание в шаблонную структуру DS/TO полей с описанием их поведения и типа - это и есть создание DS, а с того самого момента когда мы первый раз нажали на кнопку MAP началось создание TO. Так или нет так?

pomotom
24.12.2007, 16:52
так, так.
Формат ТО вроде нигде не документирован, ДС - частично в ФТБ и в документации к расширению.

-=UncleByte=-
24.12.2007, 17:31
Все верно :)
Если есть куда залить - буду признателен, сам обычно на торрентах сижу, но там так и не смог найти толком ничего :(

-=UncleByte=-
24.12.2007, 19:23
Если нужна будет помощь - я буду рядом :)
Спасибо за книги.

Brus69
27.10.2010, 23:05
У меня проблема при просмотре сайта выводит такое сообщение Couldn't find Template Object with UID "1".
Please make sure a Template Object is accessible.

seriyVolk
27.07.2011, 19:10
Столкнулся с той же проблемой, что и Brus. Понятно, что ссылается на uid = '1', а у меня к примеру страница с uid = ' 244'. Вопрос в том, как поменять значение uid , на которое идет ссылка Template Object ???



Спасибо!

П.С. может не совсем корректный вопрос и тем не менее

seriyVolk
27.07.2011, 19:24
У меня проблема при просмотре сайта выводит такое сообщение Couldn't find Template Object with UID "1".
Please make sure a Template Object is accessible.


Нашел выход =)

Когда запускаешь визард, и в разделее mapping что-то делаешь, забываешь нажать save и информация в template objeсt не обновляется, там, кстати, ниже об этом визард и пишет. Предупреждение в голубом окошке и в зеленом, что информация обновлена ! Обрати внимание!

seriyVolk
27.07.2011, 20:40
Fatal error: Class 'DOMDocument' not found in /home/nk42/nk42.ru/docs/typo3conf/ext/templavoila/classes/class.tx_templavoila_template.php on line 322


в чем дело, это ошибка при нажатии на Page

seriyVolk
28.07.2011, 07:51
Включить функцию dom на хостинге, управление модулями php 5.2 .... =)