[TYPO3-german] Re: Ausgabe von Inhaltselement Plug-In einfügen unterdrücken wenn keine Datensätze vorhanden sind
Am 27.10.14 10:38, schrieb Chris Wolff - AERTiCKET AG: Hi in dem Fall Musst du warscheinlich einfach das Typoscript Rendering deines Plugins anpassen. stdWrap requrired=1 ist dein freund. plugin.tx_myplugin = USER plugin.tx_myplugin { stdWrap.required = 1 stdWrap. preCObject lib.stdheader } mit diesem Code dürfte der Header dann zweimal erscheinen. default ist der Header doch schon wie folgt definiert: tt_content = CASE tt_content { list = COA list { 10 = lib.stdheader 20 = CASE 20 { plugin1 ... plugin2 ... : } } } Dieser Code ist nicht Follständig und illustriert nur die idee. stdWrap.required = 1 überpürüft ob ein cObject inhalt geliefert hat. Und nur falls das passiert ist. werden nachfolgende stdWrap Funktionen ausgeführt. In dem fall das rendering des lib.strHeader. hier müsste man auch in Abhängigkeit von tt_content.list.20 die Ausgabe von tt_content.list.10 verhindern z.B.? tt_content.list.10.stdWrap.if.isTrue = tt_content.list.20 bernd -- http://www.pi-phi.de/cheatsheet.html ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] Re: Ausgabe von Inhaltselement Plug-In einfügen unterdrücken wenn keine Datensätze vorhanden sind
Am 27.10.2014 14:29, schrieb JCL - Johannes C. Laxander: Ich habe diesen Code getestet: tt_content.list.10.stdWrap.override = So'n Schmarr'n tt_content.list.10.stdWrap.override.if.value=1 tt_content.list.10.stdWrap.override.if.isTrue=1 Das funktioniert auch, es wird der override-Wert ausgegeben. Daraufhin habe ich vies versucht: tt_content.list.10.stdWrap.override tt_content.list.10.stdWrap.override.if.value=1 tt_content.list.10.stdWrap.override.if.isTrue=1 Jetzt erscheint aber trotzdem noch die Überschrift, tt_content.list.10 wird also nicht gelöscht. Das gleiche Ergebnis erhalte ich mit = statt !??? Wie kann ich tt_content.list.10 löschen? so auf jeden Fall nicht override wird nur ausgeführt wenn ein Wert vorhanden ist du kannst damit etwas durch etwas anderes überschreiben, aber niemals etwas mit nichts... du müstest da ohne override arbeiten tt_content.list.10.stdWrap.if.isFalse = (dein logischer Wert wenn die Überschrift gelöscht sein soll) -- image[FORMAT] - Ralf-René Schröder http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
[TYPO3-german] Re: Ausgabe von Inhaltselement Plug-In einfügen unterdrücken wenn keine Datensätze vorhanden sind
Am 27.10.14 16:23, schrieb JCL - Johannes C. Laxander: Am 27.10.2014 14:29, schrieb JCL - Johannes C. Laxander: Ich habe diesen Code getestet: tt_content.list.10.stdWrap.override = So'n Schmarr'n tt_content.list.10.stdWrap.override.if.value=1 tt_content.list.10.stdWrap.override.if.isTrue=1 Das funktioniert auch, es wird der override-Wert ausgegeben. Daraufhin habe ich vies versucht: tt_content.list.10.stdWrap.override tt_content.list.10.stdWrap.override.if.value=1 tt_content.list.10.stdWrap.override.if.isTrue=1 Jetzt erscheint aber trotzdem noch die Überschrift, tt_content.list.10 wird also nicht gelöscht. Das gleiche Ergebnis erhalte ich mit = statt !??? Wie kann ich tt_content.list.10 löschen? so auf jeden Fall nicht override wird nur ausgeführt wenn ein Wert vorhanden ist du kannst damit etwas durch etwas anderes überschreiben, aber niemals etwas mit nichts... du müstest da ohne override arbeiten tt_content.list.10.stdWrap.if.isFalse = (dein logischer Wert wenn die Überschrift gelöscht sein soll) OK, hab's kapiert ;-) Das Problem habe ich aber noch immer, weil meine Bedingung wohl nicht greift (auch nicht die auskommentierte). tt_content.list.stdWrap.if { isTrue.cObject = tt_content.list.20.my_plugin //isTrue.cObject = tt_content.list.20.my_plugin.userFunc } tt_content = CASE tt_content { list = COA list { 10 = lib.stdheader 20 = CASE 20 { my_plugin = USER my_plugin { extensionName = ... pluginName = ... userFunc = \TYPO3\CMS\Extbase\Core\Bootstrap-run vendorName = ... } } } } steht das so in deinem TS? (in der Reihenfolge?) dann löscht die Zuweisung 10 = lib.stdheader vermutlich das stdWrap.if. schau auf der Seite mit dem Plugin doch mal in den TSOB. (alle Conditions natürlich entsprechend gesetzt.) zur Not dort ein extension-template anlegen und das zusätzliche stdWrap.if. eintragen. Der Header wird angezeigt, auch wenn die Extension keine Ausgabe generiert. Hat noch jemand eine Idee??? step by step ausprobieren: statische Bedingung setzen danach schrittweise dem Endergebnis annähern: tt_content.list.stdWrap.if.isTrue = 1/0 tt_content.list.stdWrap.if.isTrue.cObject = TEXT tt_content.list.stdWrap.if.isTrue.cObject.value = 1/0 : bis zur completten Kopie von tt_content.list.20.my_plugin bernd -- http://www.pi-phi.de/cheatsheet.html ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german