Bricks bei Templates überschreiben
Templates haben die Möglichkeit Bricks komplett zu überschreiben und alternative Brick Klassen angeben. Somit ist es dem Template möglich angepasste Bausteine für das Template anzubieten.
Um alternative Klassen festzulegen musst du hierzu nur die bricks.xml
ein wenig erweitern.
<quiqqer>
<bricks>
<overwrite>
<brick parent="QUI\Controls\Breadcrumb" alternate="My\Control\Breadcrumb"></brick>
</overwrite>
</bricks>
</quiqqer>
In dem <overwrite>
Bereich bestimmst du welche Klasse überschrieben werden soll und welche Klasse stattdessen genutzt wird. Die alternative Klasse sollte immer von der parent Klasse erben damit es zu keinen Inkompatibilitäten kommt.
Beispiel
<?php
/**
* This file contains QUI\TemplateCologne\Controls\BreadCrumbTest
*/
namespace QUI\TemplateCologne\Controls;
use QUI;
/**
* Class BreadCrumbTest
*/
class BreadCrumbTest extends QUI\Controls\Breadcrumb
{
/**
* @return string
*/
public function getBody(): string
{
return 'TEST';
}
}
<?xml version="1.0" encoding="UTF-8"?>
<quiqqer>
<bricks>
<overwrite>
<brick parent="QUI\Controls\Breadcrumb"
alternate="QUI\TemplateCologne\Controls\BreadCrumbTest"
/>
</overwrite>
</bricks>
</quiqqer>