【问题标题】:Use a dynamic URL in blade style barryvdh/laravel-dompdf在刀片式 barryvdh/laravel-dompdf 中使用动态 URL
【发布时间】:2020-01-21 18:35:59
【问题描述】:

我正在通过以下方式生成 PDF:laravel-dompdf

我似乎无法让动态 URL 正常工作。

示例:

在我的刀片文件中,我有这样的内联样式设置,我需要背景图像是完整路径:

<style>
.cardbg{
background: url('https://examplesite.com/images/pic.jpg')
}
/* I've tried the following variations with no luck.
I don't understand why this is not working. */
        background: url('{{asset('/images/pic.jpg')}}');
        background: url('{{public_path('/images/pic.jpg')}}');
        background: url('{{storage_path('/images/pic.jpg')}}');
        background: url('{{config('app.url').'/images/pic.jpg'}}');

</style>

还在我的控制器中添加了指向变量的直接路径,如下所示:

    public function examplePdf($id){
        $pdfbg = config('app.url').'/images/pic.jpg';

        $pdf =  PDF::loadView('admin.dir.example-pdf', compact('pdfbg'))->setPaper('letter', 'landscape');
        return $pdf->stream('example.pdf');

然后在刀片中这样调用&lt;style&gt;

.cardbg{
background: url('{{$pdfbg}}');
}

仍然没有...这没有意义,因为当我执行dd($pdfbg); 时,我得到了图像的正确路径。 "https://examplesite.com/images/pic.jpg"


通过这样做,我确实获得了在 &lt;style&gt; 标签之外正确渲染的完整路径:

<img  src="{{public_path("/storage/images/folder/$var->example/profile-img/$var->img_name")}}">

任何帮助将不胜感激。

【问题讨论】:

    标签: php laravel dompdf


    【解决方案1】:

    在这种情况下,最好使用 URL 外观并调用资产方法。你必须删除url(),因为{{assets()}} 已经给你url

    {{ URL::asset('public/images/pic.jpg') }}
    

    或者你可以这样尝试

    {{ url('/') }}/images/pic.jpg
    

    【讨论】:

    • 男人真的希望这会奏效,但它没有。我不能在刀片模板上的样式标签中使用 php 吗?唯一有效的是在 URL 中进行硬编码。 background: url('https://example/images/pic.jpg')... 这很臭,因为我每次提交时都必须在这些文件上使用 .gitignore 或在 URL 中使用硬代码。
    • 这必须与 barryvdh/laravel-dompdf 包有关。我会继续搜索那里的问题。如果我找到一个可行的答案,我会发布。
    猜你喜欢
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 2019-11-12
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多