[TYPO3-german] tt_news und eigene Subparts
Markus Deckmann
Markus.Deckmann79 at web.de
Wed Mar 4 02:28:11 CET 2009
Hi nochmal,
> Kann mir jemand sagen wie ich "Inhalt" des Subparts auslese und in
> Abhängigkeit zur Anzahl der verknüpften Adressdatensätze als Template
> verwende um dort dann die u.a. gesetzten Marker gegen den korrekten
> Inhalt auszutauschen.
Leider konnte ich keinen Weg finden das tt_news-Plugin mit der
Einstellung "SINGLE" um eigene Subparts zu erweitern. Lediglich Marker
können ersetzt werden, Subparts sind nicht vorgesehen in der Methode
tt_news::displaySingle().
Ich denke lösen könnte man das ganze lediglich indem man einen neuen
Hook in die tt_news::displaySingle() aufnimmt. Dieser müsste folgende
Syntax IMHO haben:
// Hook for any additional form fields
if
(is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_news']['additionalSubparts']))
{
foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_news']['additionalSubparts']
as $_classRef) {
$_procObj = & t3lib_div::getUserObj($_classRef);
$content = $_procObj->additionalSubparts($content, $this);
}
}
Einzubauen wäre das IMHO in die tt_news::displaySingle()-Methode in
Zeile 586, nach der Rückgabe des Inhalts mit:
$content = $this->cObj->substituteMarkerArrayCached($item, $markerArray,
array(), $wrappedSubpartArray);
Damit wäre eine saubere Möglichkeit gegeben über einen Hook beim Aufruf
der tt_news::displaySingle()-Methode auch evtl. Subparts im Template zu
ersetzen.
Die entsprechende Methode des Benutzers würde dann in etwa wie folgt
aussehen:
function additionalSubparts($template, $thisObj) {
$content = "";
// 1. Auslesen des Subparts und speichern als Vorlage-HTML
// 2. Auslesen der entsprechenden Datensätze aus der DB
foreach (<Datensatz aus 2.>) {
// 3. Kopie der Vorlage erstellen
// 4. Marker innerhalb von Kopie durch DB-Daten ersetzen
$content .= <HTML-Kopie aus 4.>
}
return $content;
}
Damit sollte es möglich sein eventuelle Subparts innerhalb eines
SINGLE-Templates über einen Hook in der tt_news::displaySingle() zu
verarbeiten. Oder gibt es eine andere Lösung?
Ansonsten würde ich gerne einen Eintrag in den Bugtracker vornehmen und
gleich einen Patch an den Eintrag anhängen. Leider habe ich sowas noch
nie gemacht und würde gerne wissen wie jetzt so ein Patch aussehen muss
bzw. erstellt wird um bspw. oben genannten Hook in die tt_news einzufügen.
Da ich für dieses Projekt diese Funktionalität auf jeden Fall benötigte
und nicht auf einen Fix des Eintrags warten kann, würde ich mir
allerdings diesen Fix/Patch gerne einstweilen bereit legen um bei einer
Aktualisierung der tt_news-Version schnell in der Lage zu sein den
benötigten Hook wieder "einzuspielen" bis ein Fix der offiziellen
Version verfügbar ist.
Ciao Markus
More information about the TYPO3-german
mailing list