是否可以使用Laravel(最新版)生成一个css文件"在飞行中"来自数据库的自定义css代码?
我已将自定义css代码存储在" custom_css" (longtext)在我的mysql数据库中。
我只是想我可以通过刀片输出:
<style type="text/css">{{$custom_css}}</style>
但是,是否有可能在飞行中生成css&#34;&#34;并通过link-tag添加它?
通过刀片添加它可以扩展我的HTML代码,我不想要它。我想要一个干净的&#34; html&#34; (尽可能)
谢谢!
答案 0 :(得分:3)
鉴于您的意见:
Route::get('/path/to/css', function() {
// fetch your CSS and assign to $contents
$response = Response::make($contents);
$response->header('Content-Type', 'text/css');
return $response;
});
答案 1 :(得分:0)
从数据库生成CSS与使用Laravel读取数据库值的方式相同。 这很简单。
下面的示例从设置表中检索css背景值并显示它:
table: settings
---------------------------------------------
| ID | border_color | font_color | bg_color |
---------------------------------------------
| 1 | #EF0404 | #48B014 | #121BCC |
Model: Setting
--------------
protected $fillable = [
'border_color', 'font_color', 'bg_color'
];
Controller: HomeController
--------------------------
use App\Setting;
public function index(){
$colors = Setting::orderBy('id', 'desc')->limit('1')->get();
return view('home', [
'colors' => $colors
]);
}
Route: home routing
-------------------
Route::get('/home', 'HomeController@index')->name('home');
View: home.blade.php
--------------------
<html>
<head>
//iterating throuhg your color schemes styling
@if(!empty($colors))
@foreach($colors as $color)
<style type="text/css">
.bg_color{
background: {{ $color->bg_color }} !important;
}
</style>
@endforeach()
@endif
</head>
<body>
<p class="bg_color">
Generating CSS from database using Laravel. <br />
This must work.
</p>
</body>
</html>
我希望这会对您有所帮助。