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

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

Ответ
 
Опции темы Опции просмотра
Старый 15.11.2007, 13:13   #1
Feo
Продвинутый
 
Аватар для Feo
 
Регистрация: 05.11.2007
Сообщений: 66
По умолчанию Генерация JS + CSS

Здравствуйте,

Возможна ли генерация JS и CSS непосредственно из тела расширения? То есть, отдельных файлов с изменяемым в процессе выполнения скрипта данными, которые будут связаны со выводимой страницей.

В идеале - Smarty-конфигурируемые.

Спасибо.
Feo вне форума   Ответить с цитированием
Старый 15.11.2007, 14:36   #2
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Довольно странная задача... Обычно есть некие файлы, которые надо поключить, а затем где-нибудь в <head> вставить <script> только с изменяемыми в этом случае JS-переменными.
Добавить некий код в <head> можно через $GLOBALS['TSFE']->includeAdditionalCSS/includeAdditionalJS
Для smarty смотрите расширение smarty, рекомендую в зависимостях указывать точную версию, т.к. расширение, видимо, будет часто изменяться в будущем.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 15.11.2007, 16:08   #3
Feo
Продвинутый
 
Аватар для Feo
 
Регистрация: 05.11.2007
Сообщений: 66
По умолчанию

Спасибо за ответ, Алексей, данные методы и расширение уже используются, вопрос несколько специализирован.

Мои шаблоны CSS и JS - сквозные, идущие через весь сайт, с различными настройками каждый раз.

Они должны быть динамическими, то есть создающимися на уровне PHP.
Кроме того, я предпочитаю не загромождать код скрипт-переменными. И не создавать несколько десятков отдельных подключний.

В идеале было бы наиболее уместно использовать отдельные Smarty-шаблоны CSS и JS, где переменные задаются на уровне Typo3, логика на уровне PHP, и презентация как финал процесса.
Feo вне форума   Ответить с цитированием
Старый 15.11.2007, 16:20   #4
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от Feo Посмотреть сообщение
В идеале было бы наиболее уместно использовать отдельные Smarty-шаблоны CSS и JS, где переменные задаются на уровне Typo3, логика на уровне PHP, и презентация как финал процесса.
Можно использовать, и где-то я такое видел, генерить CSS и JS при помощи самого тайпо просто как страницы!

То есть делать в шаблоне отдельный page.typeNum = XX
Для него как угодно создавать контент - через TS или плагин (заголовки только указать правильные для http ответа).

А на обычных страницах вместо
page.includeCSS.main = fileadmin/style.css
писать
page.includeCSS.main = http://domain.com/?id=12&type=XX

Можно даже попробовать сделать так, что бы стили и JS брались для каждой страницы по тому же id просто с другим параметром type.
dmartynenko вне форума   Ответить с цитированием
Старый 15.11.2007, 19:01   #5
Feo
Продвинутый
 
Аватар для Feo
 
Регистрация: 05.11.2007
Сообщений: 66
По умолчанию

Благодарю за интересную рекоммендацию, в таком случае, я не постесняюсь спросить как и где наиболее лаконично Вы порекомендуете включить данный файл в head для всего сайта.

Спасибо.
Feo вне форума   Ответить с цитированием
Старый 15.11.2007, 20:04   #6
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

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
void вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите как 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


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


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

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