Eigene Custom Hooks in Bludit: Plugins und Themes lose koppeln
So definierst du eigene Einhängepunkte und baust modulare Systeme ohne direkte Includes.
Neben den eingebauten Hooks können Plugins eigene Hook-Namen anbieten. Das ist nützlich, wenn mehrere eigene Plugins oder ein Theme miteinander sprechen sollen, ohne sich direkt per Include oder globale Variable zu verkoppeln.
Custom Hook registrieren
class pluginShopBridge extends Plugin
{
public function init()
{
$this->customHooks = array('productCard', 'productBadge');
}
public function productCard($product = array())
{
echo '<article class="product-card">...</article>';
}
public function productBadge($text = '')
{
echo '<span class="badge">'.htmlspecialchars($text).'</span>';
}
}
Hook aus Theme oder anderem Kontext auslösen
<?php Theme::plugins('productBadge', array('Neu')); ?>
Custom Hooks sind besonders praktisch für eigene Plattformen auf Basis von Bludit: Das Theme kennt nur den Hook-Namen, das Plugin liefert die konkrete Logik. Wird ein Plugin später ersetzt, muss das Theme nicht komplett umgebaut werden.
Namensgebung
Verwende möglichst projektspezifische Namen, etwa mdProductBadge statt badge. So sinkt das Risiko, dass ein fremdes Plugin zufällig denselben Custom Hook verwendet.