Symfony KNP Snappy Bundle: PDF does not load css file - php

I'm using the knp-snappy-bundle to generate PDF's out of twig.
But my css files are not loading.
I tried it with static url, with absolute url and with only asset url, noting works, but these are the normal css files which I also use when display for example in my edit form. Here are the three options I tried in my pdf.html.twig file
// STATIC DOES NOT WORK
<link rel="stylesheet" href="https://localhost/test/boot.css">
// ASSET DOES NOT WORK
<link rel="stylesheet" href="{{ asset('test/boot.css') }}">
// ABSOLUTE DOES NOT WORK
<link rel="stylesheet" href="{{ absolute_url(asset('test/boot.css')) }}">
Always get this: Warning: Failed to load https://localhost/test/boot.css (ignore)

I presume you are using wkhtmltopdf, in that case you need to use the absolute path to the css file. Not sure what the path is to your web folder, but something like this:
<link rel="stylesheet" href="/var/www/html/Symfony/test/boot.css">
I had this same problem with wkhtmltopdf and had to hard code it like that.

pdf.html.twig file do not extend with another file. Try this code, it works
<link href="{{ app.request.scheme ~'://' ~ app.request.httpHost ~ asset('test/boot.css') }}" rel="stylesheet"/>

As soon as we're in Symfony you could try in TWIG like the following
{% stylesheets
'test/boot.css'
filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}"/>
{% endstylesheets %}
Your css file should be reside in your Symfony application web/test directory. Check availability in browser
http://localhost/test/boot.css
Should work

Related

Laravel is not attaching css, but it is existing

I'm new in Laravel. I started new project with Jetstream, and all goes well excepting one thing: CSS file is empty so auth form is looking rawly.
I got public/css/app.css file with needed style code, but for some reason browser receives it as empty
In layout/app.blade.php is declared:
<link rel="stylesheet" href="{{ mix('css/app.css') }}">
I tried to replace it by:
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
But it is not working. Any ideas? Thank you

Laravel 8 asset helpers not working in my new project

so I created a new laravel project and use npm run dev to generate my css file inside public folder.
like my last project i tried to load my CSS like this
<link href="{{ URL::asset('/css/app.css') }}" rel="stylesheet" type="text/css">
but that doesn't work. my folder structure is like this
public
css
app.css
I checked a lot of posts but non of them worked. the only way to load the file is like this
<link href="{{ mix('/css/app.css') }}" rel="stylesheet" type="text/css" >
or
<link href="/css/app.css" rel="stylesheet" type="text/css" >
my question is why asset helper don't work ?
i tried changing the url, changing env 'ASSET_URL', etc
I know this is a really elementary issue, but this question are making me crazy,
btw my last project laravel version was 7 but this one version is 8
Use proper path in laravel asset() helper function.
asset() helper function access from app/public directory.
<link href="{{ asset('css/app.css') }}" rel="stylesheet" type="text/css">

Can't load CSS in Laravel

Hi I am currently learning Laravel and seem to be having issues loading custom CSS that is located in the public/css/bootstrap.css.
I have been attempting to load it via
<link href="{{ asset('css/bootstrap.css') }}" rel="stylesheet" type="text/css" >
But it is if the CSS is not getting picked up. When I view the page source (http://portfollo.co.uk/css/bootstrap.css) I just get an error. Any ideas ?
Try with public/css/bootstrap.css
<link href="{{ asset('public/css/bootstrap.css') }}" rel="stylesheet" type="text/css" >
OR
<link href="'/css/bootstrap.css'" rel="stylesheet" type="text/css" >
You should put your css file inside public folder, (app/public):
then in your head:
<link rel="stylesheet" href="{{ url('/') }}/style.css" type="text/css"/>
Public folder will contain all css and js files, you can also create assets folder inside public folder and then point to correct path:
<link rel="stylesheet" href="{{ url('/') }}/assets/css/style.css" type="text/css"/>
change name as public/css/bootstrap.css and put css in that folder. and give the same path.
This is not a CSS error. its Routing error. check your route.php file just check your source code like this view-source:http://portfollo.co.uk/css/bootstrap.css
you are trying something wrong ??

Symfony2: trouble including images in css

I have trouble referencing images from my .css file in a symfony2 project. I have a main.css in app/Resources/public/css and my image directory is app/Resources/public/images.
I include the css sheet like so:
{% stylesheets '../app/Resources/public/css/*' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
How would I go about referencing images in my css file?
Use ../ to go to the previous directory (app/Respirces/public/), then proceed with the rest of the URL.
selector {
background-image: url(../images/image.png);
}
Inori's answer helped me with this issue:
Symfony2 - Assetic - load images in CSS
In the end I had to run assetic:dump and then referenced images like this:
background-image: url('/images/background.jpg');

How to access images in css file in symfony template

In the html file i can access the images folder using asset function but in my css i am not able to us e images
background-image:url(../images/back.png)
{% stylesheets 'css/*' %}
<link href="{{ asset_url }}" rel="stylesheet" media="screen" />
{% endstylesheets %}
How to fix that
I use this:
background-image: url(/bundles/yourbundle/images/pic.png)
Works without cssrewrite filter.
This is something that always puzzles me as well! Anyway there is a cssrewrite assetic filter that should help you to solve this problem detecting and rewriting urls in css scripts (anyway, even using this, you may need to change urls in your css).

Categories