Puncte:0

Load css and js assets as absolute paths during twig render

drapel eg

By default, Drupal 8 loads css and js libraries using relative paths.

ie: /core/modules/contextual/css/contextual.module.css

However, because I want to generate static pages to be used by another consumer, how can I have all my libraries as absolute paths instead?

I thought of using the css_alter hook and my code is below:

function rint_css_alter(&$css, \Drupal\Core\Asset\AttachedAssetsInterface $assets) {
    
    foreach ($css as $key => $value) {
        $assetOriginalPath = $css[$key]["data"];
        $css[$key]["data"] =  "https://coaching.ddev.site/$assetOriginalPath";
    }
    print_r($css);
  
}

When I view the print_r result, it seems successful.

Result:

enter image description here

However, when I remove the print_r to view the page, I still see the relative paths for the css assets.

Note: When I used the print_r, I also saw the following error:

The website encountered an unexpected error. Please try again later.<br><em class="placeholder">RuntimeException</em>: Failed to start the session because headers have already been sent

Is there a way to make css and js assets load as absolute paths? as in

http://example.com/core/modules/contextual/css/contextual.module.css
drapel cn
Codul tău funcționează bine pentru mine într-o temă: https://ibb.co/v1BSmG1
user agent avatar
drapel eg
@Clive nu sunt sigur care este problema. Tocmai mi-am editat întrebarea cu rezultatul actual. Ar mai exista o altă opțiune pentru a realiza acest lucru?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.