Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 22.06.2012, 14:58   #1
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию Наследование в шаблонах

Наверное я опять где-то что-то недочитал...
Вот такая структура многосайтовой установки (на картинке). Общие константы и настройки, а также включения шаблонов расширений, присущие всем сайтам установки - вынес на страницу "Начальный шаблон".
Подстраницами этого Начального шаблона идут сайты, в шаблонах которых выставлен чекбокс "Корень сайта" и сняты отметки с "Очищать константы" и "Очищать настройки". По идее всё из основного "Начального" шаблона должно наследоваться шаблонами, расположенными уровнями ниже.
Однако.
Что-то наследуется, а что-то - нет.
Включения шаблонов расширений - наследуются. То есть static info tables и CSS styled - включены в Начальный шаблон и нет надобности включать их в подшаблоны.
Такое впечатление, что константы наследуются, только определенные самостоятельно. Константы, переопределенные через редактор констант - не наследуются. Ну хотябы определенные для freecap параметры отображения картинки в Начальном шаблоне - не применялись на сайте, пока я их явно не повторил в TS константах соответствующего шаблона.
Настройки наследуются, только если они относятся к page., config. или lib. Настройки, относящиеся к плагинам - не наследуются. У меня например не удалось заставить наследовать записи в поле setup TS шаблона, относящиеся к плагинам sr fe user register и sk pagecomments.
Поэтому возникло желание разобраться, как же всё таки происходит наследование в дереве TS шаблонов?

ЗЫ: Storing TypoScript in the file system читал и полностью согласен, но логику данного поведения всё же хочется понять.

ЗЫ-ЗЫ: ещё раз проанализировав шаблоны, появилась мысль, что не наследуется всё, что начинается с plugin. (как в константах, так и в настройках)...
Изображения
Тип файла: gif Untitled-2.gif (6.0 Кб, 6 просмотров)

Последний раз редактировалось Alex Podusov; 22.06.2012 в 15:48
Alex Podusov вне форума   Ответить с цитированием
Старый 24.06.2012, 00:15   #2
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

Не знаю зачем снимали галки очистки настроек и констант, но в описании многосайтовости значится, что иx нужно ставить... Может где-то в ядре прописано что-то. Вообще, для общиx настроек нужно создать отдельный шаблон и подключать его к каждому из сайтов (включения). Так гарантированно все будет работать. Ну а константы для отдельныx сайтов поставить не проблема...
Андрей Аксенов вне форума   Ответить с цитированием
Старый 24.06.2012, 13:38   #3
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

Нужно в том случае, если не должны наследоваться никакие настройки и константы с шаблонов уровнями выше. А про "должны" насколько я помню сказано только про галку "корень сайта". Ведь один сайт может начаться где-нибудь внутри ветки страниц другого сайта, для это же и есть галки Корень сайта в шаблоне и Прервать дерево страниц в настройках страницы? А настройки и константы могут передаваться от шаблона к шаблонам подстраниц. Но, похоже, только кроме тех, что начинаются с plugin. Теперь вот хочу разобраться, почему ))
Alex Podusov вне форума   Ответить с цитированием
Старый 24.06.2012, 16:33   #4
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Может вы уровнем ниже подключаете шаблон из экстеншена, а там
plugin.xx >
plugin.xx = USER
...

Получается все что выше сбрасывается и подключается некий дефолтный набор.
dmartynenko вне форума   Ответить с цитированием
Старый 25.06.2012, 01:05   #5
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

Понятно, что написано, "как должно работать", но по факту с многодоменными системами случаются чудеса. Это относится к ссылкам между доменами, настройке языков, хранилищ записей, ЧПУ...
По опыту, лучше сбрасывать все настройки от доменов выше. Если есть время, то можно и разобраться, почему это так, а если нет, то лучше нащупать то, что работает.
Сам делаю общие настройки для сайта, плюс настройки для расширений, где нужно, дописываю константы, подключаю нужные расширения к определенным сайтам через вложенные шаблоны, ну и специфические константы переопределяю (папки-хранилища, директории и т. п.). Это все...
Причем все настройки TS можно хранить или в файлах, или в таблицах, уж как кому удобно, ну и подключать в нужной точке...
Андрей Аксенов вне форума   Ответить с цитированием
Старый 25.06.2012, 13:53   #6
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

Я кажется понял, почему. В шаблоне, что лежит у меня вне сайтов - были прописаны константы расширений и внесены настройки расширений, однако не были сделаны включения от этих расширений. Видимо именно поэтому всё это и терялось, не передаваясь в шаблоны уровнем ниже. Как я понимаю, терялось ещё на обработке самого этого верхнего шаблона.
Alex Podusov вне форума   Ответить с цитированием
Старый 25.06.2012, 14:46   #7
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

Ну да, тогда все ясно... Вообще таким образом сделан Интродакшн пакет...
Андрей Аксенов вне форума   Ответить с цитированием
Старый 29.06.2012, 15:22   #8
Alex Podusov
Senior Member
 
Аватар для Alex Podusov
 
Регистрация: 19.06.2008
Адрес: Сергиев Посад
Сообщений: 278
Отправить сообщение для Alex Podusov с помощью ICQ
По умолчанию

А вот в продолжение темы, ещё вопрос возник:
если мне не нужны константы и настройки из шаблона уровнем выше - то я просто отмечаю чекбоксы "очищать" и то и другое. А как можно удалить из списка статических шаблонов какой либо шаблон из включенных в шаблоне уровнем выше?
То есть, допустим у меня на странице были включены css styled content, static info tables, perfect lightbox
на вложенной странице у меня находятся новости, и я создаю дополнительный шаблон с подключением статических шаблонов новостей.
А ещё уровнем вложенности ниже находится страница с календарем новостей, но так как этот календарь конфликтует с перфектом (о чем правда нигде не сказано, однако выявлено опытным путем) - здесь надо убрать перфект из включений. Вот и как это можно сделать? ))
Alex Podusov вне форума   Ответить с цитированием
Старый 29.06.2012, 15:52   #9
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

Посмотреть, что вообще определяет этот шаблон уровнем выше (это же обычные файлы для констант и настроек TS), и указать в шаблоне вложенной страницы явно очистить этот шаблон...
Андрей Аксенов вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
шаблоны: Нет выбора (наследование) KentAVr Общие вопросы 5 20.03.2011 00:42
Многоязычность в 2 шаблонах hangmoon Общие вопросы 2 30.10.2008 12:15
Наследование шаблонов TS Setup filippoff Общие вопросы 0 18.01.2007 20:05
наследование \"чужих\" переменных в формах Семён Выскубов Общие вопросы 1 12.11.2005 13:39


Часовой пояс GMT +4, время: 20:40.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория