I am trying really hard to somehow link my main.css to my html templates in twig. Im not sure why its not working properley, and i ran out of ideas.
I have added this line in my head block in my base html file.
<link type="text/css" rel="stylesheet" {{ source('main.css') }}">
This is all i have in my css file
body{
background: red;
}
Here is my folder structure


You should create main.css in a path relative to templating directory.
The problem is source is not the thing you are probably after. look at the template below:
Twig
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link type="text/css" rel="stylesheet" {{ source('main.css') }}">
</head>
<body>
This is Body
</body>
</html>
the produced HTML source in browser is this:
HTML Source
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link type="text/css" rel="stylesheet" body{ background: red;}">
</head>
<body>
This is Body
</body>
</html>
You are probably after asset twig function:
<link type="text/css" rel="stylesheet" {{ asset('main.css') }}">
Please note that, asset gets path relative to public directory, so you should put your web assets inside public, not templating.
If you are using Symfony 4, you should also install symfony/asset:
composer require symfony/asset
You may read more on this here: Creating and Using Templates, Linking to Assets
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With