Da ich diese Funktion wieder mal gebraucht habe möchte ich kurz erläutern was ich gemacht habe:
1.) Habe ich einen eigenen replaceInsertTags Hook erstellt, welcher mit alle Daten vom eingeloggten Backend User zurückgibt
PHP-Code:
class MyInsertTags extends Backend
{
public function outputTagContent($strTag)
{
$elements = explode('::', $strTag);
// Replace the tag
switch (strtolower($elements[0]))
{
case 'beuser':
if (TL_MODE != 'FE' || BE_USER_LOGGED_IN)
{
$this->import('BackendUser', 'User');
return $this->User->$elements[1];
}
break;
}
return false;
}
}
2.) Habe ich in der Datei \composer\vendor\metamodels\attribute_select\src\M etaModels\Attribute\Select\Select.php die Methode getAdditionalWhere verändert (Zeile 131)
Somit greifen nun auch Insert-Tags beim MetaModel Attribut-Typ "Auswahl", im Feld SQL
PHP-Code:
protected function getAdditionalWhere()
{
$additionalWhere = $this->get('select_where') ? html_entity_decode($this->get('select_where')) : false;
return ContaoController::getInstance()->replaceInsertTags($additionalWhere, false);
}
Anscheinend wurde aber die Methode "replaceInsertTags" im Controller protected, daher musste ich diese zusätzlich noch public setzen.
Hat jemand vielleicht einen Tipp, ob es noch eine andere (public) Methode gibt, welche mir die InserTags auflößt, ohne dass ich in den Controller greifen muss?
Danke und lg
Lesezeichen