[TYPO3-german] Re: Ausgabe von Inhaltselement Plug-In einfügen unterdrücken wenn keine Datensätze vorhanden sind

2014-10-27 Diskussionsfäden bernd wilke

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

2014-10-27 Diskussionsfäden Ralf-Rene Schröder
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

2014-10-27 Diskussionsfäden bernd wilke

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