我的laravel应用程序中有动态css颜色的css文件名 style-usercolors.css.php 。在文件中我可以声明变量并使用它,但无法访问会话变量。
header("Content-type: text/css");
$primaryColor = session()->has('ORGANISATION_SETTINGS') ? session()->get('ORGANISATION_SETTINGS')['style_settings']['primary_color'] : '#F18805';
$secondaryColor = session()->has('ORGANISATION_SETTINGS') ? session()->get('ORGANISATION_SETTINGS')['style_settings']['secondary_color'] : '#20576B';
$offwhite = '#f6f6f6';
答案 0 :(得分:0)
您需要有一个已定义的路由来访问Laravel中的会话。在 web.php 中定义路由时,默认情况下会启用 StartSession 中间件。这启动了Laravel会议。
这些中间件在Web部分的App \ Http \ Kernel.php中定义。
换句话说,要使用会话,您需要为css文件创建一个特定路由,向其添加header("Content-Type: text/css");
并在那里需要您的CSS。
最后,在主视图中,您必须创建指向该页面的链接:
<link href="http://example.com/link-to-your-css-page/" rel="stylesheet" type="text/css"/>
(注意我们如何在href属性的末尾没有文件扩展名)
答案 1 :(得分:0)
最后,我创建了一个刀片文件,然后我将css与session变量一起编写,然后将刀片文件包含在layout header部分中。这个过程解决了我的问题。