Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Это наверно невозможно...
а уже в скрипте style.php можете прочитать ваш style.css, или сгенерить на лету.
Второй вариант - настроить рерайты в апаче (или енжинксе, смотря что у вас там стоит)
----- Чем больше узнаю, тем больше я не знаю.
Contr
Отправлено: 10 Июня, 2014 - 10:19:15
Частый гость
Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011 Откуда: с Марса
Помог: 1 раз(а)
Zuldek пишет:
Допустим, может, заставим "прогнать". Как это вам поможет?
Задам переменные в css.
Сразу оговорюсь - сторонние "фишки" не предлагать
Выкрутился так:
в <head> написал:
<style type="text/css">
<?php require 'style.css'; ?>
</style>
-теперь файл читается через интерпретатор и переменные обрабатываются.
Из минусов - необходимо прописывать полный путь (через http://) до фоновой картинки
background: url("img/save_16.png") no-repeat scroll center center transparent;
- но это быстро решается также через переменную
Результат такой:
через php пропускается, переменные обрабатываются. Но появился минус - в IDE (у меня NetBeans) подчеркивает нехарактерные для *.css теги <?php ?> и весь остальной синтаксис плохо читаем.
Так что тут теперь вопрос в другом: как заставить NetBeans не обращать внимания на теги <?php ?>
Если сменить расширение...
DelphinPRO
Отправлено: 10 Июня, 2014 - 10:24:48
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
и что, теперь весь CSS встраивается в страницу? не хорошо.
Можно поинтересоваться, зачем вам переменные? С какой целью вы это используете?
----- Чем больше узнаю, тем больше я не знаю.
Ch_chov
Отправлено: 10 Июня, 2014 - 10:31:19
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Contr, перед тем как спрашивать как это сделать, лучше объяснить для чего это вам нужно. Смешивать php и css в одном файле сомнительная затея.
Contr
Отправлено: 10 Июня, 2014 - 10:41:48
Частый гость
Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011 Откуда: с Марса
Помог: 1 раз(а)
DelphinPRO пишет:
и что, теперь весь CSS встраивается в страницу? не хорошо.
Можно поинтересоваться, зачем вам переменные? С какой целью вы это используете?
Ch_chov пишет:
Contr, перед тем как спрашивать как это сделать, лучше объяснить для чего это вам нужно. Смешивать php и css в одном файле сомнительная затея.
Для того чтобы легче было сделать несколько разных стилевых оформления сайта. Сделать несколько *.css файлов - потом трудно их синхронно менять. Вот для этого и встраиваю переменные.
Цитата:
что, теперь весь CSS встраивается в страницу? не хорошо
- Почему? В теге <head> нормально, вроде бы..
(Добавление)
В принципе я смотрю, и с IDE NetBeans тоже получилось:
было так:
<style type="text/css">
<?php require 'style.php'; ?>
</style>
сделал так:
<?php require 'style.php'; ?>
а уже внутри style.php вставил теги <style type="text/css"></style>. Теперь NetBeans css отображает красиво, в разные цвета
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Contr пишет:
Сделать несколько *.css файлов - потом трудно их синхронно менять. Вот для этого и встраиваю переменные.
Вынесите общие стили в отдельный файл, и подключайте его независимо от темы. CSS файлы тем, подключайте после него. Тогда проблем с дублированием не будет.
Другой вариант, если допустим пользователь через админку задает шрифты и цвета для темы, то можно генерить CSS файл с помощью шаблонизатора после обновления настроек.
Contr
Отправлено: 10 Июня, 2014 - 11:07:09
Частый гость
Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011 Откуда: с Марса
Помог: 1 раз(а)
Ch_chov пишет:
Вынесите общие стили в отдельный файл, и подключайте его независимо от темы. CSS файлы тем, подключайте после него
Очень хороший совет.
У меня сделано так: общее оформление, одинаковое для каждой страницы (шапка, футер, строки таблиц, ...) вынесено в общий файл. Для размещения элементов, характерных для определенной страницы - подключается свой конкретный файл.
Если из общего файла вынести оформительские элементы, скажем, цвет фона для всех страниц, и создать стили тем (red.css, blue.css, и еще штук 5), то в каждый из них надо вставлять body{background: свой цвет}. Я с этим смирюсь. Но когда таких записей (касаемо других частей страницы) будет больше? В каждый css файл надо добавлять по строчке, менять синхронно их... Вот и думаю: лучше через переменные в одном style.css или загружать стилевые css после загрузки основного?
После запуска компилятора, получим два css файла style-red.css и style-blue.css
При этом цветовые (да и не только) параметры задаем отдельно для каждой темы, стили описываем в одном общем файле common.scss с помощью переменных.
И для смены темы оформления нам будет достаточно просто подключить нужный стилевой файл
Плюсы очевидны:
NetBeans полностью поддерживает препроцессоры SASS\LESS (подсветка синтаксиса, рефакторинг, автокомплит и прочее)
Полное разделение кода, как следствие легкая поддержка в дальнейшем.
Переменные в CSS, остальные возможности препроцессора (а их оч много)
Из минусов: очевидно это подойдет только для преустановленых тем, т.е. как сказали выше, если пользователь на сайте может менять отдельные параметры, то придется все равно извертываться с генерацией css
Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011 Откуда: с Марса
Помог: 1 раз(а)
DelphinPRO пишет:
простой вариант:
<link href="style.php" type="text/css">
а уже в скрипте style.php можете прочитать ваш style.css, или генерировать на лету.
И Ваш последний пост про SASS LESS - один и тот же подход. Удобно.
Особенно, когда стилей надо наделать много, а самих типов (body{background: ..., color: ...} ) немного.
А вот если наоборот - стилей оформления -2, 3, а отличий ну просто жуть как много - тогда чище, красивее и проще будет сделать через отдельные оформительские стили, подключаемые после основного
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Contr, основная задача: отдать полный стиль как можно быстрее.
Поэтому скомпилированные и минифицированные LESS/SASS могут оказаться быстрее и удобнее, чем CSS файл с php вставками или замена регулярками(или простая замена строк) в этом файле. Особенно когда он разрастется.
Да и "синхронизировать" любые изменения в стилях и php коде(а как вы сказали различий много) может оказаться еще тем геморроем.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.