Manage HTML head links to improve page load performance
Include library to your composer.json
composer require xanweb/c5-web-link
Add the service provider and middleware to application/config/app.php
return [
'providers' => [
'xw_web_link' => '\Xanweb\C5\WebLink\ServiceProvider'
]
];
Make sure you are loading vendor autoload application/bootstrap/autoload.php
<?php
defined('C5_EXECUTE') or die('Access Denied.');
/*
* ----------------------------------------------------------------------------
* Load all composer autoload items.
* ----------------------------------------------------------------------------
*/
// If the checker class is already provided, likely we have been included in a separate composer project
if (!class_exists(\DoctrineXml\Checker::class)) {
// Otherwise, lets try to load composer ourselves
if (!@include(DIR_BASE_CORE . '/' . DIRNAME_VENDOR . '/autoload.php')) {
echo 'Third party libraries not installed. Make sure that composer has required libraries in the concrete/ directory.';
die(1);
}
}
if (file_exists(DIR_BASE . '/' . DIRNAME_VENDOR . '/autoload.php')) {
include_once (DIR_BASE . '/' . DIRNAME_VENDOR . '/autoload.php');
}
use \Fig\Link\Link;
use \Fig\Link\Relations;
// Example with Font Preload
$link = (new Link(Relations::REL_PRELOAD, '/path/to/font.woff2'))
->withAttribute('as', 'font')
->withAttribute('type', 'font/woff2')
->withAttribute('crossorigin', 'anonymous');
app('web/link')->queueLink($link);