Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Странности Templavoila!? (http://forum.typo3.ru/showthread.php?t=9229)

Илья 03.02.2011 23:38

Странности Templavoila!?
 
Привет.
Уже весь мозг себе сломал, но не могу добится элементарной вещи.
Есть одна DS внутри нее две TO с немного разными html шаблонами (друг в друга не вложены). Хочу сделать возможность выбора дизайна страницы из BE.
Все размечено, ошибок нет.
Проблема в том, что один шаблон TO работает нормально (в FE страница показывается нормально), а вот второй УПОРНО не хочет показывать содержимое в FE. Причем сам html шаблон подключается (видно по скриптам внутри <head>, а вот внутри <body> </body> пусто.
Пробовал уже по-моему все:
вкладывал проблемный TO в работающий,
делал отдельную DS и внутри нее отдельный TO (почему это не заработало вообще большой вопрос! - все делал с нуля),
Играл с мепингом (убирал вообще все, включая root из ТО, и подключал в header'e тег body из html)
Не до конца понимаю надо ли вкладывать TO одну в другую в моем случае (наверное нет!), но не работает вообще никак.
Появилась мысль сделать все НА ОДНОЙ TO, заменяя подключаемый css через меппинг (выпадающее меню - меняющее attribute) - получится так? Хотя это не совсем то, что надо (к одному дизайну надо подключать php скрипт и соответственно в html надо его вывод добавлять)
Не дайте разрушить мозг в цвете лет.
PS DS пока не выкладываю, думаю проблема носит системный характер в недопонимании идеологии :(

Valery Romanchev 04.02.2011 13:42

Цитата:

Не до конца понимаю надо ли вкладывать TO одну в другую в моем случае
нет, подчиненные TO это, например, для версий для печати
Цитата:

Проблема в том, что один шаблон TO работает нормально (в FE страница показывается нормально), а вот второй УПОРНО не хочет показывать содержимое в FE.
проверьте, валидный ли HTML код самого шаблона, который мепите
может там, к примеру, тег не закрыт

Илья 04.02.2011 22:06

Цитата:

нет, подчиненные TO это, например, для версий для печати
То есть, для разного дизайна одной страницы правильнее все таки делать 2 TO на одном уровне?
А если дизайн (верстка html) различается - то наверное надо в разные DS разносить?

В итоге удалось добиться нормального вывода контента в FE, возможно проблема действительно связана с неправильной версткой (незакрытые теги). Просто внес изменения в работающий html и пересохранил.

Valery Romanchev 04.02.2011 23:37

Цитата:

Сообщение от Илья (Сообщение 30128)
То есть, для разного дизайна одной страницы правильнее все таки делать 2 TO на одном уровне?

да
Цитата:

Сообщение от Илья (Сообщение 30128)
А если дизайн (верстка html) различается - то наверное надо в разные DS разносить?

зависит от того, различается ли структура
Например, 2х колоночный и 3х колоночный шаблон - это явно разные DS должны быть.
А если пара 3х колоночных, которые заличаются шириной колонок - то они могут быть и к одному DS привязаны.

Илья 04.02.2011 23:46

Цитата:

Сообщение от Valery Romanchev (Сообщение 30130)
да
Например, 2х колоночный и 3х колоночный шаблон - это явно разные DS должны быть.

Хммм, а я запихнул 2-х колоночный TO как потомок 3-х, все в одном DS и работает. Хотя это наверное скорее изврат, чем норма.
Спасибо за консультацию.
Можно еще уточнить про разные DS/TO. Мне надо к одному из дизайнов (TO) включить дополнительный php скрипт, остальный TO (ну или DS) должны быть без этого скрипта. Вопрос как это проще сделать? Можно ли включать PHP_SCRIPT прямо внутрь TV шаблона? Попробовал подключить к html файлы шаблона, так TV это не пропустила (вернее не дала добавить это). Или придется городить огород с TS и условиями (если такое получится)...

Valery Romanchev 05.02.2011 13:18

Цитата:

Можно еще уточнить про разные DS/TO. Мне надо к одному из дизайнов (TO) включить дополнительный php скрипт, остальный TO (ну или DS) должны быть без этого скрипта. Вопрос как это проще сделать? Можно ли включать PHP_SCRIPT прямо внутрь TV шаблона? Попробовал подключить к html файлы шаблона, так TV это не пропустила (вернее не дала добавить это). Или придется городить огород с TS и условиями (если такое получится)...
можно так сделать:
в TS создаете
lib.sto-to-takoe = PHP_SCRIPT
добавляеете поле "TS код" в DS
а потом этот lib.sto-to-takoe мепите на нужный div или другой html тег только в нужном шаблоне

Илья 06.02.2011 02:33

Цитата:

Сообщение от Valery Romanchev (Сообщение 30137)
lib.sto-to-takoe = PHP_SCRIPT
добавляеете поле "TS код" в DS

Именно так и пробовал, но почему то не заработало...
Проверив все еще раз имею следующее:
TV - mapping switchpic на div
TS
Код:

lib.switchpic = PHP_SCRIPT
lib.switchpic.file = fileadmin/templates/scripts/switch.inc

switch.inc
Код:

...
echo "-NOT DIR !!!-";
...
$image = ...

Так вот в этом случае на странице в FE вижу -NOT DIR !!!-, причем сверху всего, а не внутри моего div'a. И вижу только есть делать mapping как INNER, иначе (OUTER) - в итоговый html из скрипта не попадает ничего.
В идеале хочется получить из php переменную $image и запихнуть ее в html шаблон так:
Код:

<img "src="<?php echo $image; ?>"
Насколько понимаю - для этого придется передавать через $content?
Хотя мне проще было бы вывести результат работы скрипта напрямую в НУЖНУЮ ЧАСТЬ html'a (через mapping в TV), если это вообще возможно сделать?..

Valery Romanchev 06.02.2011 16:12

посмотрите пример использования PHP_SCRIPT
http://www.typo3wizard.com/en/snippe...h-awstats.html

там echo нет, вывод - переменная $content

Илья 07.02.2011 05:11

Извините за назойливость, но куда попадет эта переменная $content, которую возвращает скрипт? Думаю, что сразу оперировать ей в html (куда вставляем скрипт) или в TS нельзя. Или как-то можно?

takitak 07.02.2011 10:25

$content = '<img "src="'.$image.'/>';

попадает в lib.switchpic

Возможно вам нужен PHP_SCRIPT_EXT - какой смысл скрипта?


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

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