![]() |
Странности 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 пока не выкладываю, думаю проблема носит системный характер в недопонимании идеологии :( |
Цитата:
Цитата:
может там, к примеру, тег не закрыт |
Цитата:
А если дизайн (верстка html) различается - то наверное надо в разные DS разносить? В итоге удалось добиться нормального вывода контента в FE, возможно проблема действительно связана с неправильной версткой (незакрытые теги). Просто внес изменения в работающий html и пересохранил. |
Цитата:
Цитата:
Например, 2х колоночный и 3х колоночный шаблон - это явно разные DS должны быть. А если пара 3х колоночных, которые заличаются шириной колонок - то они могут быть и к одному DS привязаны. |
Цитата:
Спасибо за консультацию. Можно еще уточнить про разные 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 тег только в нужном шаблоне |
Цитата:
Проверив все еще раз имею следующее: TV - mapping switchpic на div TS Код:
lib.switchpic = PHP_SCRIPT Код:
... В идеале хочется получить из php переменную $image и запихнуть ее в html шаблон так: Код:
<img "src="<?php echo $image; ?>" Хотя мне проще было бы вывести результат работы скрипта напрямую в НУЖНУЮ ЧАСТЬ html'a (через mapping в TV), если это вообще возможно сделать?.. |
посмотрите пример использования PHP_SCRIPT
http://www.typo3wizard.com/en/snippe...h-awstats.html там echo нет, вывод - переменная $content |
Извините за назойливость, но куда попадет эта переменная $content, которую возвращает скрипт? Думаю, что сразу оперировать ей в html (куда вставляем скрипт) или в TS нельзя. Или как-то можно?
|
$content = '<img "src="'.$image.'/>';
попадает в lib.switchpic Возможно вам нужен PHP_SCRIPT_EXT - какой смысл скрипта? |
Цитата:
Скрипт передает путь до картинки-бекграунда в html, как вы правильно заметили сюда: <img "src="'.$image.'/> при каждом обновлении страницы берется новая картинка (случайно)... Цитата:
|
Да. ее надо использовать вместо echo.
|
Цитата:
Сначала в php сделать так: Код:
$content = $image; Код:
<img src="<div id="phpscript"></div>" alt="" border="0" class="background"/> Осталось понять "Как это работает" (с). Просто для себя, хочу разобраться... Или курить TSRef? |
Именно TSRef + очень внимательно читать демо-исходники указанные в TSRef и поставляющиеся вместе с typo3.
|
Учится - всегда пригодится. Факт.
Но вот почему пустой php скрипт с тестовой заглушкой (PHP_SCRIPT!), подключенный в TV как описано выше генерирует в html не то, что хочется... пример:<img src="fileadmin/templates/PHP_SCRIPT!"> И такая добавка в виде бесплатного довеска - fileadmin/templates/ добавляется ко всему, что выдает скрипт. Подозреваю, что это настраивается через TS. Из похожего в TSref нашел это: absRefPrefix, но я его не устанавливал... Как удалить этот префикс? |
Скорее это путь к файлам шаблона по умолчанию в TV. Поэтому копать надо где-то там.
|
Спасибо, только знать бы где там копать... :(
Нашел пару старых тем в листах рассылки насчет rewrite link path, но ответа не увидел. В результате переместил папку туда, куда указывает TV :) и немного поменял свой скрипт. Заработало, но осадочек остался... |
Просто я никогда не пользовался мастером создания шаблона в TV и не знаю как оно работает. Я все по старому-старому мануалу вручную делаю даже в TV.
Ну и скрипты подключаю когда надо исключительно по примерам в TSRef: Код:
includeLibs.user_clearKeywords = fileadmin/tmpl/clearKeywords.inc |
Я рано стал радоваться... Почему то вставка через $content кеширует картинку для bg, и она так и остается неизменной, более того, даже при удалении этой картинки из папки в html все равно вписывается ее название... Нашел в TSref это: $GLOBALS["TSFE"]->set_no_cache(); но почему то и это не срабатывает
PS set_no_cache(); Вставлял в сам php скрипт. Немного подумав, пошел на нужную страницу в BE и нажал галку "cache disable" и все чудестным образом заработало нормально. Так что решение было на поверхности! :) |
а может все-таки php_script_ext? Чтобы без кеша был только вывод скрипта, а страница - кешировалась?
|
Может быть, но я предпочту оставить как есть, как в старом анекдоте про программиста, сидящего глубоко в отладке :)
Тем более, что кроме картинки фона там только название сайта :) Спасибо за помощь! |
Часовой пояс GMT +4, время: 12:20. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot