Реально ли вывести переменную модуля в css-файл?

#1 26 февраля 2015 в 09:48
Приветствую.

Интересует ответ на вопрос: реально ли вывести переменную с модуля/плагина в css файл?

Например: есть модуль, в файле шаблона модуля идет подключение к некому css файлу. Так вот, возможно ли в том файле разместить переменные с модуля таким образом, чтобы они обрабатывались?

Т.е., файл модуля находится в папке templates/_default_/modules/mod_mymod.tpl, из которого подключается css: templates/_default_/css/mod_mymod.css

а в нем, к примеру:

  1. .myclass {
  2. background: {$cfg.pixels}px solid #000;
  3. }
Вот {$cfg.pixels} переменную надо бы как-то обработать, если это возможно laughКакие будут идеи / предложения?) Или это, может, не реально вовсе?)

Нашел такой вот вариант решения, но все же, это весьма не удобно подключать таким образом стиль на страницу (это вставка в tpl-файл).
  1. <style type="text/css">
  2. .panel {ldelim}
  3. width: {$cfg.width}px;
  4. color: #{$cfg.color};
  5. {rdelim}
  6. </style>
#2 26 февраля 2015 в 10:41
Проблема в том, что если у вас стили во внешнем файле, то значения переменных в этот внешний файл никак не попадут. Поэтому приходится делать так как вы и делаете — определять стили внутри файла *.tpl, где эти значения определены.

Есть еще один путь. Jquery позволяет со стилями элементов делать вообще все что угодно. Заменить класс элемента, например. Или поменять высоту/ширину элемента. Осваивайте.
#3 26 февраля 2015 в 10:45
Странник, с jquery не спорю, все возможно. Думал может как-то без него можно обойтись. Правда, всего лишь предположение, что если я напишу 500-1000 строк css через jquery, как это отразится на загрузке страницы?)
#4 26 февраля 2015 в 11:01

Правда, всего лишь предположение, что если я напишу 500-1000 строк css через jquery, как это отразится на загрузке страницы?)

scanread
Если пользователь выключит js на своей странице — фатально. В остальных случаях возможны варианты))))

Варианты заключаются в том, что вряд ли вы будете описывать на jquery ВСЕ стили. Неизменяемые свойства элементов вполне могут быть во внешнем файле. А потом поменять в jquery только то, что меняется. От силы строчек тридцать.

Я вижу, вы пытаетесь загнать в админку вообще настройку всего — цветов, ширины бордера и другие свойства. В этом случае единственный вариант, который мне приходит на ум — то что вы и сами сделали — определять стили в *.tpl
#5 26 февраля 2015 в 11:09
Странник, возможно не все, я так на бум написал, для примера)))

Если пользователь выключит js на своей странице — фатально. В остальных случаях возможны варианты))))

Странник
А вот это полнейший fatal error. Хотя, даже не знаю, отключает ли кто нынче скрипты вообще? Если и да, то наверное единицы…
#6 26 февраля 2015 в 11:17
Отключают. В больших городах, где широкополосный интернет и безлимитка, никому это и в голову не придет. А в глубинке, где скорость интернета меньше метра в секунду — там на всем экономят, даже картинки отключают))). Мне иногда приходится в такие места ездить — чего только не насмотришься)))
#7 26 февраля 2015 в 21:55

чего только не насмотришься)))

Странник

Я на днях видел человека, который покупал картинку за смс копилку… ))) Так что все бывает, исключать ничего нельзя )))
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.