Создать классы CSS из базы данных?

77
5

В моем приложении можно определить основной цвет и вторичный цвет (шестнадцатеричные коды), которые сохраняются в db.

Например, вторичный цвет используется для ссылок. Я не хочу говорить <a href="#" style="color: $fromDatabase">Text</a> но вместо этого <a href="#" class=secColor>Text</a> где .secColor имеет что-то вроде

.secColor {
color: $fromDatabase;
}

Я использую Laravel btw.

спросил(а) 2021-01-19T19:07:20+03:00 6 месяцев, 2 недели назад
1
Решение
78

Вы можете включить файл.php как css, используя следующий код:

index.html:

<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="style.php">
</head>
<body>
<!-- stuff goes here -->
</body>
</html>

style.php:

<?php
header("Content-type: text/css");
?>
//DB Query
.secColor{
color: <?php echo $fromDatabase;?>
}

ответил(а) 2021-01-19T19:07:20+03:00 6 месяцев, 2 недели назад
45

Вы можете сделать это:

Создать новое правило маршрута:

    Route::get('style/generate.css', function ($id) {
// take your color
$data['firstColor']= Colors::where('alias', '=', 'firstColor')->get();
...
return View::make('css.colors', $data)
});

Создайте новый вид в ресурсах /views/css/colors:

.firstColor{
color: $colors['firstColor'];
}

И в ваших главных взглядах

Я использую этот метод для создания пользовательского файла js

ответил(а) 2021-01-19T19:07:20+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема