我制作了一个具有 1 种设计的网站。可能有具有不同 Angular 色的用户。接下来是 Angular 色:
- 普通用户
- 公司管理员
- worker
- ...
网站上的每个用户都有他的公司(在数据库中的整数字段),我想让每个具有 role - admin of company
的用户都可以为他的公司更改网站设计(开始正文、页眉、页脚等的颜色)。这方面的例子是 company 1
有黄色设计,company 2
红色等。到目前为止,我想出了这样的想法:
在公司表中,为其他列(body_color-string、footer_color-string 等)扩展表架构,并将每个公司的值写入数据库。
用户成功登录后,这些值将从 session 中的数据库加载,并在我的 app.blade.php
中用 session 部分覆盖 css 部分。
例如如果我有div
<div class="test123">Something</div>
我会在我的 app.blade.php
中覆盖该值,如果未设置 session ,则应用默认颜色 white
。
<style>
.test123 {
background-color:{{ Session::get('body_color',"white") }}}
</style>
这行得通,但有点乱,所以我会在以后寻求一些建议或改进(当我可能有一些元素的高度、宽度等时)...
我的做法是否正确,还是可以更轻松地完成?
最佳答案
你可以这样制作:
您将用户设置的所有样式保存到数据库中(companyId、样式)
并添加到<head>
在页面上
<style type="text/css">
<?php echo $styles ?>
</style>
$styles - 包含来自服务器的用户公司的所有样式的字符串,您可以使用 session 等。
关于php - 不同公司的不同CSS - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39509087/