Zum Inhalt springen

wt_directory - zusätzlicher wrap um Adressfelder

Erstellt am 28. April 2010 · 10 Antworten · letzte Antwort am 30. April 2010

Tags: Frage

rolib ·

Hallo,

ich bräuchte unbedingt einen wrap um die folgenden Felder, da das Layout durch verschiedene Inhalte und Inhaltsmengen immer variiert, jetzt verschiebt es mir immer die Kontaktadressen.
Ich habe schon alles versucht ich schaffe es einfach nicht. Hier ist mein Beispiel dass nur veranschaulichen soll (dies funktioniert natütlich nicht)

wrap = <div class="AddressBlock">|</div>

   field.address.wrap = <span class="DetailAddress">|</span>
   field.zip.wrap = <span class="DetailZip">| </span>
   field.city.wrap = <span class="DetailCity">|</span>
   field.phone.wrap = <span class="DetailPhone">|
   field.phone.20.wrap = |</span>
   field.fax.wrap = <span class="DetailFax">|
   field.fax.20.wrap = |</span>
   field.email.wrap = <span class="DetailEmail">|
   field.email.20.wrap = |</span>

Oder kann ich verschiedene Felder in ein Feld zusammenfassen?
Danke für eure Hilfe

rolib ·

hmm vielleicht habe ich mich nicht verständlich ausgedrückt oder ich hab ein Brett vorm Kopf #paralyzed#

Also ich habe folgendes TS Setup in der Detailansicht:

detail {
      field.image = TEXT
		field.image.field = image
		field.image.split {
			token = ,
			cObjNum = 1||2||3
         1 {
				10 = IMAGE
				10.params = class="wt_directory_image_1"
				10.file.import.current = 1
				10.file.import.dataWrap = {$plugin.wtdirectory.path.ttaddress_pictures}
				10.file.width = 490
				10.imageLinkWrap = 0
				10.imageLinkWrap {
               enable = 1
				   typolink {
		           parameter.cObject = IMG_RESOURCE
                 parameter.cObject.file.import.data = TSFE:lastImageInfo|origFile
                 parameter.cObject.file.maxW = 800
                 parameter.cObject.file.maxH = 600
                 ATagParams = rel="lightbox"
                 ATagParams.override = rel="lightbox[presentlb{field:uid}]" class="img{field:uid}"
                 ATagParams.insertData = 1
               }
		       }
         }
         2 < .1
         2.10.wrap = <div class="DetailImages">|
         2.10.params = class="wt_directory_image_2"
         2.10.imageLinkWrap = 0
         2.10.file.width = 120
         3 < .1
         3.10.wrap = |</div>
         3.10.params = class="wt_directory_image_3"
         3.10.imageLinkWrap = 0
         3.10.file.width = 120
		}
   field.www.20.typolink.ATagParams = target="_blank" class="DetailUrl"
   field.description.params = class="DetailDescription"
   
   field.address.wrap = <span class="DetailAddress">|</span>
   field.zip.wrap = <span class="DetailZip">|&nbsp;</span>
   field.city.wrap = <span class="DetailCity">|</span>
   field.phone.wrap = <span class="DetailPhone">|
   field.phone.20.wrap = |</span>
   field.fax.wrap = <span class="DetailFax">|
   field.fax.20.wrap = |</span>
   field.email.wrap = <span class="DetailEmail">|
   field.email.20.wrap = |</span>
   
   }

Im Template Marker_all sieht das ganze so aus

<div class="wtdirectory_all wtdirectory_all_detail">
		<!-- ###CONTENT### --><!-- ###ITEM### -->
			<div class="wtdirectory_all wtdirectory_all_###ALTERNATE### wtdirectory_all_###WTDIRECTORY_KEY###">###WTDIRECTORY_VALUE###</div>
		<!-- ###ITEM### --><!-- ###CONTENT### -->
	</div>

Ich bräcuhte unbedingt nochmals einen wrap um die Felder beginnend mit address bis email, damit ich die gesamten Kontaktdaten als Block angreifen kann. Jetzt stehen ja alle Felder in einem eigen <div>. Und hier stehe ich komplett an.

einpraegsam.​net ·

Also gut - dann einfach einen Blick ins TypoScript von wt_directory (Version von heute) werfen - da sieht man dann das hier:

plugin.tx_wtdirectory_pi1 {
	...
	detail {
		field {
			...
			email = COA
			email {
				if.isTrue.field = email
				10 = IMAGE
				10.file = EXT:wt_directory/files/icon_mail.gif
				10.params = style="margin-right: 6px;" class="wt_directory_icon_mail"
				20 = TEXT
				20.field = email
				20.typolink.parameter.field = email
			}
		}
		...
	}
	...
}

Und jetzt ein Wrap für E-Mail:

plugin.tx_wtdirectory_pi1.detail.field.email.wrap = x|y
# Wrap wird nur bei Inhalt ausgegeben weil if.isTrue...
rolib ·

danke für deine Antwort, aber ich möchte nicht um ein einzelnes Feld wie du es beschrieben hast einen wrap legen, dass habe ich ja schon gemacht sondern ich möchte um mehrere Felder mit einem zusätzlichen wrap umschließen.

Z.b. auf der Detailseite gebe ich im Plugin für die Ausgabe folgende Felder an

Bild
Beschreibung

<div class="AdressBlock">
Adresse
PLZ
Ort
Telefon
Fax
Email
</div>

um die Felder Adresse bis Email möchte ich einen ALLE Felder umschließenden DIV Container - geht das?

einpraegsam.​net ·

Na dann musst du deine Felder selber definieren - etwa so:

# Neuer Marker ###FELDER###
plugin.tx_wtdirectory_pi1 {
	detail {
		field {
			felder = COA
			felder {
				wrap = <div>|</div>
				10 = TEXT
				10.field = address
				10.br = 1
				20 = TEXT
				20.field = zip
				30 = TEXT
				30.field = city
				# usw ...
			}
		}
	}
}
rolib ·

achso, danke, werde ich dann gleich einmal versuchen. Was ich nocht nicht verstehe, wie bekomme ich dieses Feld "felder" dann in der Detailansicht ausgegeben? Momentan geht das ja per Mausklick im Plugin ...#paralyzed#

(Werde mich demnächst bei dir auf der Entwicklungsförderung einfinden 😉, vorab danke für die super Extension)

einpraegsam.​net ·

Entweder du fügst den neuen Marker im HTML Template ein oder eventuell noch einfacher...
Du selektierst nur E-Mail im Plugin - dann geht es auch wie bisher mit dem TS:

# Neuer Marker ###FELDER###
plugin.tx_wtdirectory_pi1 {
	detail {
		field {
			email >
			email = COA
			email {
				wrap = <div>|</div>
				10 = TEXT
				10.field = address
				10.br = 1
				20 = TEXT
				20.field = zip
				30 = TEXT
				30.field = city
				# usw ...
			}
		}
	}
}

wt_directory ist hier eigentlich ziemlich flexibel...

rolib ·

so jetzt bin noch an realurl dran, hab schon das meiste geschafft (die gesamte config poste ich wenn ich alles habe)

Ein Problem was ich noch habe ist, dass mit dieser config die Listenansicht wenn ich bei ABC auf "Alle" klicke mit .../liste/all/ ersetzt wird, wie bekomme ich hier .../liste/alle/ oder einfach nur .../liste/

	  'liste' => array(
                array(
                    'GETvar' => 'tx_wtdirectory_pi1[list]',
					'lookUpTable' => array (
						'table' => 'tt_address',
						'id_field' => 'uid',
						'alias_field' => 'name',
						'addWhereClause' => ' AND NOT deleted',
						'useUniqueCache' => 1,
						'useUniqueCache_conf' => array (
							'strtolower' => 1,
							'spaceCharacter' => '_',
						),
					),
                ),
            ),

das zweite Problem habe ich mit der kategorieauswahl - ich hole mir anscheinend hier das falsche Feld, aber wie komme ich an die kategorie?

	  'kategorie' => array(
                array(
                    'GETvar' => 'tx_wtdirectory_pi1[hash]',
					'lookUpTable' => array (
						'table' => 'tt_address',
						'id_field' => 'uid',
						'alias_field' => 'name',
						'addWhereClause' => ' AND NOT deleted',
						'useUniqueCache' => 1,
						'useUniqueCache_conf' => array (
							'strtolower' => 1,
							'spaceCharacter' => '_',
						),
					),
                ),
            ),