duanhuancong1969 2015-11-18 10:35
浏览 330

在Laravel 5中从公共文件夹外部提供CSS和JS

I understand this sort of breaks the structured point of Laravel, but there is method to my madness. I plan on using a single install of laravel to host several websites that are database driven. At the moment all of the sites share the same layout and I have a system to store some custom CSS in the DB to give each site a different color scheme. I want to change this so they can use completely different views. So site A loads views/theme1/app.blade.php and site B loads views/theme2/app.blade.php.

I have implemented this by using the following to return a view.

$theme = getDomainThemeName();
return view($theme.'/home');

This is also working, but i am now left with the task of dynamically loading the assets. I am using bootstrap the generate the themes and making a few tweaks to the HTML to create the app.blade.php file. I have 2 potential solutions to this but i would much rather a way to server the css files from the views directory. This means the following mapping.

http://website.com/css/style.css => /resources/views/theme1/css/style.css

Can something like this be done? Another option would be to use php to read the css file and insert it into the app using a yield. It works, but it means i cant use browser caching to cache the assets. I was also thinking i could just create sub directories in the public folder. public/theme1/css/style.css. This makes the most logical sense, but it means i have to fragment the theme system. Id like to be able to unzip a theme in the views directory and it just works.

I am using Laravel 5, i have root access to the server too. Running PHP 5.4 on centos 7.

  • 写回答

1条回答

  • duanli0453 2015-11-18 11:15
    关注

    I think the best approach is having next structure:

    /public/css/style.css
    /public/css/theme1/custom1.css
    /resources/views/common.blade.php
    /resources/views/theme1/main.blade.php
    

    And then loading conditionally with php each site theme. It may not be any trouble with caching.

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料