laravel 如何在多租户应用程序中使用单个CSS

lp0sw83n  于 2023-01-27  发布在  其他
关注(0)|答案(2)|浏览(135)

我正在使用laravel和livewire开发一个多租户应用程序。我安装了一个引导模板,例如laravel项目,并将此模板集成到我的项目中。对于模板的构建方式,当我在localhost:8000/...视图上时,我会得到模板的正确渲染,而当我转到租户的域时,例如:tenant.localhost:8000/...我完全丢失了模板,我注意到在resources/layout/default.blade中加载所有的css和js有一个for循环,它从配置文件中取出css并将其加载到页面中

{{-- Global Theme Styles (used by all pages) --}}
    @if(!empty(config('dz.public.global.css'))) 
        @foreach(config('dz.public.global.css') as $style)
            <link href="{{ asset($style) }}" rel="stylesheet" type="text/css"/>
        @endforeach
    @endif

当我转到租户域时使用asset($style),它在不存在的位置中查找CSS(css在localhost下).我想在foreach循环中插入一个if-else来检查asset($style)中的域,并确保在租户域中搜索css时就像我们在localhost域中一样.这是个好主意吗?你有什么意见或建议吗?

kq4fsx7k

kq4fsx7k1#

现在,每个租户的资产位置都发生了变化。您可以对其进行“硬编码”,如下所示:

<link href='{{ env('APP_URL') }}/location/style.css'>
ldioqlga

ldioqlga2#

另一个解决方案是使用url()helper函数而不是asset(),因为它会为资产生成一个绝对路径,这样就可以像使用asset()函数一样使用它

相关问题