Zum Inhalt springen

Abfrage ob Image-Ressource gefüllt oder nicht

Erstellt am 4. April 2010 · 2 Antworten · letzte Antwort am 6. April 2010

Tags: Frage

e-markus ·

Hallo an alle,

bin neu im Forum und erst seit kurzem mit Typo3 unterwegs. Ersteinmal vielen Dank für alle bisherigen Einträge - Sie haben mir den Einstieg und die Arbeit mit TYPO erheblich erleichtert.

Doch nun habe ich ein kleines Problem, auf das ich hier im Forum noch keine passende Lösung gefunden habe. Ich möchte auf einer Seite alle Unterseiten ausgeben, bei denen in den Seiteneigenschaften unter Ressourcen eine Datei eingebunden wurde.

Mit dem folgenden Script und dem Elementtyp Menü/Sitemap (Menü der Unterseiten mit Inhaltsangabe) funktioniert das auch super.

tt_content.menu.20.4 >
tt_content.menu.20.4 < tt_content.menu.20.1
tt_content.menu.20.4.wrap = <ul class="ProductList">|</ul>

tt_content.menu.20.4.1.NO {
linkWrap = |
allWrap = |
ATagBeforeWrap = 0
doNotLinkIt = 0
stdWrap.htmlSpecialChars = 0
stdWrap.cObject = COA
stdWrap.cObject {
30 = IMAGE
30.file {
import = uploads/media/
import.field = media
import.listNum = 0
typolink.parameter.field = uid
}

40 >
}
}

Wie kann ich jetzt die Seiten ausfiltern bzw. nicht ausgeben, bei denen keine Datei unter Ressource eingebunden wurde.

Gruß und vielen Dank für eine Lösungsansatz.

Markus

Unbekannter Benutzer ·

Hi,

hier mal eine "Quick & dirty" Version die per CSS alle Listenelemente ausblendet von Seiten deren media Feld nicht befüllt ist:

tt_content.menu.20.4 >
tt_content.menu.20.4 < tt_content.menu.20.1
tt_content.menu.20.4.wrap = <ul class="ProductList">|</ul>

tt_content.menu.20.4.1.NO {
	linkWrap = |
	allWrap = |
	ATagBeforeWrap = 0
	doNotLinkIt = 0
	stdWrap.htmlSpecialChars = 0
	stdWrap.cObject = COA
	stdWrap.cObject {
		30 = IMAGE
		30.file {
			import = uploads/media/
			import.field = media
			import.listNum = 0
			typolink.parameter.field = uid
		}

		40 >
	}
	wrapItemAndSub.cObject = TEXT
	wrapItemAndSub.cObject{
		value = <li style="display:none">|</li>
		override = <li>|</li>
		override.if.isTrue.field = media
	}
	
}

Geht aber bestimmt noch eleganter! 🙂

Beste Grüße
tom 🙂