Могу ли я предварительно обработать файл Less css? - PullRequest
1 голос
/ 02 февраля 2012

Я использую Меньше с Drupal , и я хочу разрешить администраторам определять цвета для определенных элементов сайта во всем мире.Чтобы уточнить, у нас есть определенный тип контента, назовите его «уровень», и администраторы могут добавить уровень на сайт.Каждый уровень должен иметь связанный цвет, который будет цветом границы для определенных элементов div и т. Д. Я бы хотел, чтобы администраторы могли устанавливать цвет через cms и отражать его во внешней таблице стилей.

Все затронутые элементы в DOM индексируются по классу.Единственное, о чем я могу подумать, - это импортировать второй файл Less или CSS в основной файл Less, который будет динамически генерироваться Drupal.Я просто хочу убедиться, что я ничего не пропускаю, например, способ встроить php в файл меньшего размера и запустить php до того, как он будет передан в браузер или на стороне сервера без компилятора.

1 Ответ

0 голосов
/ 03 февраля 2012

При таком подходе вы получите сотни (или независимо от вашей аудитории) сгенерированных файлов .less. Не уверен, что этот подход тебе нужен.

Позволяет пользователям определять цвета и сохранять их в дБ, затем, когда пользователь входит в систему, загружает свои настройки и генерирует код CSS, который вы просто встраиваете в header.php (или аналогичный файл, который загружается на каждую страницу в Drupal):

<?php if ($user->logged_in) { ?>
<style type="text/css">
  .header {
    background-color: <?php echo $background-color; ?>;
    color:            <?php echo $header-color; ?>;
  }
  .content {
    ...
  }
  ...
</style>
<?php } ?>

.. а остальные ваши стили определены в файлах LESS.

Пользователь по умолчанию (не вошел в систему) получит цвета по умолчанию для этих элементов, которые вы определили в своих файлах LESS. Вышеприведенное просто перезапишет их (поэтому убедитесь, что вы вставили его ниже , который вы называете основной таблицей стилей).

Я бы так поступил.

...