Hallo,
ich habe mir für den RTE bzw. das HTML-Element eine zusätzliche Parsefunktion geschrieben. Sie erstellt Links zu Einträgen einer selbstentwickelten Extension.
Das Script funktioniert grundsätzlich schon einmal. Allerdings habe ich das Problem, dass es nur korrekt funktioniert, solange der Tag <link_archiv> nur genau ein mal in diesem Contentblock vorkommt. Sind mehrere vohrhanden, weil z.B. die Überschrift und ein mehr-Link verlinkt werden sollen, so wird die Überschrift korrekt als Link verarbeitet, aber alle weiteren Links werden mit Nichts ersetzt. Die Funktion weiß also dass da etwas zu parsen ist, aber liefert ein leeres Ergebnis zurück.
Hat jemand einen Denkanstoß für mich?
Die Codes dazu:
// and add the <link_archiv>
tt_content.text.20.parseFunc.tags {
link_archiv < lib.parseFunc.tags.link
link_archiv.stripNL = 0
link_archiv = PHP_SCRIPT
link_archiv {
file = fileadmin/templates/scripts/link_archiv_parser.php
}
parseFunc.constants = 1
}
tt_content.html.parseFunc.tags.link_archiv < tt_content.text.20.parseFunc.tags.link_archiv
$text = $this->cObj->getCurrentVal();
$parameters = explode(' ', $this->cObj->parameters['allParams']);
$num_params = count($parameters);
if ($num_params > 0 && !empty($parameters[0])) {
require_once(PATH_tslib.'class.tslib_content.php');
$this->cObj = t3lib_div::makeInstance('tslib_cObj');
// Link erzeugen
$link['parameter'] = $parameters[0];
$link['target'] = '_self';
$link['additionalParams'] = '&tx_ritbpwarchive_pi1[view]=single&tx_ritbpwarchive_pi1[uid]='.$parameters[1];
$content = $this->cObj->typolink($text, $link);
}