Sziasztok!
Minden készen áll ahhoz, hogy imagefield-el beküldjek képeket, majd lightbox-al meg is jelenítsem.
Viszont jelenleg ez úgy néz ki, hogy a beküldött szöveg (törzs) alatt megjelennek a képek egymás alatt. Én azt szeretném elérni, hogy egy kép a törzsön belül jelenjen meg, melette szöveggel, a többi kép viszont a törzs után, egymás mellett. Megoldható ez?
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
Fórum:
egy vázlatos megoldás, iránymutatás
a 'display fields' részben állítsd a mezőt 'hidden' -re.
utána a sminked template.php -jában kábé ilyesmit kell csinálnod.
(az én mezőm neve 'imagefield' a sminkem neve 'playground' és használok egy 'small_square' nevű imagecache sablont a kép előállításához)
hevenyészett megoldás, igazából az irányt mutatja csak.
ennek hatására az imagefield mező első elemének a $preset -el átalakított verziója a 'content' elejére kerül. minden esetben. ez csak egy rövid vázlatos megoldás. a $vars['content'] értékét teljesen tetszőlegesen variálhatod ebben a függvényben, visszatérési érték nincs, a $vars tömbben minden benne van, amit a tpl.php meg fog kapni. módosíthatod, hozzáadhatsz, elvehetsz, amit akarsz. (pl: unset $vars['title'] ..:)
ezután persze css -ben még helyezed a képet, ahogy akarod.
ezt a kódolós részt igazából akkor érdemes elkezdeni, ha tovább akarod spilázni, pl olyan megoldás is elképzelhető, amit nevezzünk 'pszeudo-filter' -nek, hogy egy előre megadott karaktersorozat felel a képekért a body-ban, amiket ebben a template_preprocess_node -ban aztán kicserélsz a képekre. pl: [img2:small:left] helyére (valamilyen regexp -el) bepakolod az imagefield mezőben lévő második kép (img2), 'small' imagecache -elt változatát és hozzáfűzöl még egy 'left' class -t is. :)
kattintgatós megoldás
az lehet, hogy két képmeződ van, mondjuk teaserimage és moreimages. teaserimage csak egy értéket vehet fel, súlya kevesebb, mutatod teaser-ben a node-ra linkelve, full node -ban meg lightbox linkel, moreimages mező meg nem látszik teaserben, csak full node nézetben, és lightbox linkelt. ez talán gyorsabb és egyszerűbb megoldás, de a másik rugalmasabb lehet ;)
-
clear: both;
re:megoldás
Köszi a választ!
Az első megoldást még át kell gondolnom, addig is a másodikhoz lenne még kérdésem: Ebben az esetben csak azt tudom megcsinálni, hogy a törzs rész felett legyen a teaserimage? Vagy azt a kódot, ami megjeleníti a mezőket, át tudom írni, hogy a két mező (teaserimage és a törzs) egymás mellé kerüljenek?
több nyelven kell beszélned
a megjelenítés egy külön 'réteg'..
a 'teaserimage' meződet a body fölé 'súlyozod' (a manage fields részben)
aztán firebug -gal rámutatsz és látod, hogy kap egy saját class -t, (field-field-teaserimage)...
ezt célzod css -ből és mondod neki, hogy float: left; margin-right: .3em;
-
clear: both;
Sikerült
Köszi, sikerült megoldanom, úgy ahogy írtad. Már csak az a szépséghiba, hogy a kép melletti szöveg IE alatt nem jelenik meg, Firefox alatt tökéletes... :(
Jogosultságok
Elfelejtettem a jogosultásgokat megadni az új mezőhöz. Ezt még szoknom kell... :)
Most minden ok. :)))