Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
15.11.2007, 13:13 | #1 |
Продвинутый
Регистрация: 05.11.2007
Сообщений: 66
|
Генерация JS + CSS
Здравствуйте,
Возможна ли генерация JS и CSS непосредственно из тела расширения? То есть, отдельных файлов с изменяемым в процессе выполнения скрипта данными, которые будут связаны со выводимой страницей. В идеале - Smarty-конфигурируемые. Спасибо. |
15.11.2007, 14:36 | #2 |
Senior Member
|
Довольно странная задача... Обычно есть некие файлы, которые надо поключить, а затем где-нибудь в <head> вставить <script> только с изменяемыми в этом случае JS-переменными.
Добавить некий код в <head> можно через $GLOBALS['TSFE']->includeAdditionalCSS/includeAdditionalJS Для smarty смотрите расширение smarty, рекомендую в зависимостях указывать точную версию, т.к. расширение, видимо, будет часто изменяться в будущем.
__________________
TYPO3 FAQ |
15.11.2007, 16:08 | #3 |
Продвинутый
Регистрация: 05.11.2007
Сообщений: 66
|
Спасибо за ответ, Алексей, данные методы и расширение уже используются, вопрос несколько специализирован.
Мои шаблоны CSS и JS - сквозные, идущие через весь сайт, с различными настройками каждый раз. Они должны быть динамическими, то есть создающимися на уровне PHP. Кроме того, я предпочитаю не загромождать код скрипт-переменными. И не создавать несколько десятков отдельных подключний. В идеале было бы наиболее уместно использовать отдельные Smarty-шаблоны CSS и JS, где переменные задаются на уровне Typo3, логика на уровне PHP, и презентация как финал процесса. |
15.11.2007, 16:20 | #4 | |
Senior Member
|
Цитата:
То есть делать в шаблоне отдельный page.typeNum = XX Для него как угодно создавать контент - через TS или плагин (заголовки только указать правильные для http ответа). А на обычных страницах вместо page.includeCSS.main = fileadmin/style.css писать page.includeCSS.main = http://domain.com/?id=12&type=XX Можно даже попробовать сделать так, что бы стили и JS брались для каждой страницы по тому же id просто с другим параметром type. |
|
15.11.2007, 19:01 | #5 |
Продвинутый
Регистрация: 05.11.2007
Сообщений: 66
|
Благодарю за интересную рекоммендацию, в таком случае, я не постесняюсь спросить как и где наиболее лаконично Вы порекомендуете включить данный файл в head для всего сайта.
Спасибо. |
15.11.2007, 20:04 | #6 |
Senior Member
|
page.includeCSS.main = http://domain.com/?id=12&type=XX включает скрипт в <head> всего сайта.
Конфиг будет при этом примерно такой: Код:
printform = PAGE printform { typeNum = 1337 10 < plugin.tx_yourext_pi1 config { disableAllHeaderCode = 1 xhtml_cleaning = 0 admPanel = 0 additionalHeaders = Content-type:text/javascript } } Существует другой подход - использовать технологию eID, но в этом случае кеширование вы должны будете реализовывать сами (если нуждаетесь в нем).
__________________
TYPO3 FAQ |
16.11.2007, 00:17 | #7 |
Продвинутый
Регистрация: 05.11.2007
Сообщений: 66
|
Я думал над данным методом и задался вопросом в его гибкости.
Если скажем необходимо изменять параметры CSS файла в зависимости от результатов выполнения кода модуля - разве это достижимо здесь. Ведь TS - это самый первый этап в процессе исполнения. А если необходимо модифицировать оформление уже после генерации содержимого? |
16.11.2007, 14:39 | #8 | |
Senior Member
|
Цитата:
Поэтому в таком случае Вы можете включить стили или JS в вашем плагине внутрь HTML кода (внутрь BODY) - перед или после вашего HTML контента. В таком случае стили добавятся или переопределятся, а JS подгрузится. |
|
16.11.2007, 16:59 | #9 |
Senior Member
|
Если вам нужна зависимость содержимого css/js от результата работы плагина, то можно добавлять их примерно так:
в плагине пишете PHP код:
__________________
TYPO3 FAQ |
16.11.2007, 19:28 | #10 |
Продвинутый
|
Да, я еще можно поробовать хук:
Код:
$TYPO3_CONF_VARS["SC_OPTIONS"]["tslib/class.tslib_fe.php"]["contentPostProc-output"] = array("EXT:plugin/class.plugin.php:user_PluginPostProc->sParseOutput"); Хотя это может быть и не очень удобно....
__________________
http://michaelleibenson.org.ua |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
подскажите как CSS присоединить | kate | Общие вопросы | 4 | 14.02.2008 22:41 |
"Насторойка" CSS Styled Content | Amarok | Общие вопросы | 3 | 04.11.2007 13:40 |
Слетает CSS | Mike10581 | Общие вопросы | 6 | 15.10.2007 18:15 |
Css вроде простая проблемка... | romix | Общие вопросы | 3 | 12.03.2007 00:13 |
Разные файлы стилей css для разных страниц в TS | filippoff | Общие вопросы | 1 | 25.12.2006 14:39 |