Sziasztok!
Van egy egyedi tartalomtípusom, benne két cck field:
'Település'
'Utca hászám'
Pl Település: Kecskemét
Utca, házszám: Kossuth utca 5.
Hogy tudnám egybe kiiratni a kettőt php-val, úgy hogy egy Cím szócskával kezdődjön:
Cím: Kecskemét, Kossuth utca 5.
Próbálkoztam, azzal hogy felvettem egy Cím cck mezőt és a label-jét kiiratni, de ez nem vezett eredményre.
node-egyeditaralomnév.tpl.php fájlban dolgozom.
Drupal verzió:
Fórum:
tartalom típusod mezők megjelenítése részben
állítsd mindkét mező labeljet hiddenre és mindkettőnél jelöld be az exclude checkboxot. utána a tpledbe kiírod őket ahogy akarod, tegyük fel field_varos és field_utca a két mező, akkor:
ez csak az elvet mutatja, hogy a tplben $field_MEZONEVE_rendered -ben van amit a display fields fülön beállítasz. ha labelt is beállítasz, az is benne van ebben a változóban. továbbá nem szerencsés így direktbe beírni hogy 'Cím' illik inkább az, hogy mondjuk t('Postal address') és akkor utána ezt a 'Postal address' kifejezést szépen lefordítod a nyelveknél.
-
clear: both;
Erdemes ide is a
Erdemes ide is a check_plain() fuggvenyt hasznalni? Vagy tevedek es nem kell minden ezekhez hasonlo kiiratasokhoz?
Ebben az esetben nem szükséges
Jó dolog ezt mindig mérlegelni, szóval ezt nagyon jól teszed, de ebben az esetben nem szükséges a
check_plain
. Ez már egy html kódot is tartalmazó előállított érték, aminek megfelelő szűréséről a CCK modul egy lépéssel korábban gondoskodott helyettünk. Egyébként közel sem biztos, hogy plain textről van szó, lehet bármilyen beviteli formával szűrt érték is, ez beállítás kérdése.Computed Field
Alternatív megoldás lehet a Computed Field modul használata. Ekkor egy külön mezőbe kell "kiszámíttatnod" a címet, a másik kettőt meg kizárni a megjelenítésből, ahogy aboros már leírta.
A már említett renderelt változót vagy a
$content
végére írod, vagy magát a$content
változót hagyod el, és helyette az összes többi meződet is hasonló módon íratod ki. Utóbbi megoldás nagyon nem javasolt, előbbi pedig nem biztos, hogy elégséges.A modul mellett szól, hogy ez is egy szabványosan kezelhető (súlyozható stb.) mező lesz, ami sminkfüggetlenül a rendelkezésedre áll majd, és ellene szól, hogy ezért az apró feladatért egy (esetlegesen) új modult telepítesz. Ezt te tudod leginkább mérlegelni.
Köszi a válaszokat.
t('Postal address') megoldást választottam.