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

时间:2021-03-31 07:40:43

标签: laravel bootstrap-4 laravel-livewire

我正在使用 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 域中一样。 这是个好主意?您有什么意见或建议吗?

1 个答案:

答案 0 :(得分:0)

现在每个租户的资产位置都发生了变化。你可以“硬编码”它。 类似的东西:

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