Üdv!
/azt hiszem csak én szenvedek ezzel, mert semmi dokumentációt nem találtam:/
Leválasztottam az ImageField-es képet a content-ről, mert a szöveget és a képeket külön szeretném css-elni.
Ez rendben is van, de nem tudom, hogy hogyan tudom kiíratni egyszerre a node-hoz tartozó összes képet, mármint így tudnám csak:
(de ez nagyon ronda megoldás és véges!)
<?php print $node->field_images[0]['view'] ?> <?php print $node->field_images[1]['view'] ?> <?php print $node->field_images[2]['view'] ?> ...
vagy, fogom az egészet és berakom egy while ciklusba és a növekvő szám helyére pl. $i -t tennék és a while küszöb értékének megadnék egy számot pl. amíg kisebb mint 20.
Ezzel is az a probléma, hogy csak 20db képet tudna kiírni, közben a feltöltés darabszáma korlátlanra van állítva.
Témában kiolvastam a drupal.org-ot, googleben sem találtam a megfelelő kódot, és a modul állományaiban sem :(
Gondolom van egy kód ami jó, mert különben nem tudom, hogyan rakja bele korlátlanul a content-be, amikor engedélyezem.
Nagyon megköszönném ha valaki segítene, mert ezt még nemigen látom át.
inkább PHP, mint Drupal kérdés
Egy tömböt a foreach szerkezettel tudsz bejárni. Hogy legyen valami köze a dolognak a Drupalhoz, használj előfeldolgozót.
template.php
node.tpl.php
Köszönöm! Jelenleg még egy
Köszönöm!
Jelenleg még egy darab képet sem ad vissza.
Végig próbálgattam az if-eket, hátha ott van valami, de nem.
(mondjuk a template.php -t most hoztam létre, de azzal nem lehet gond, mert egy utasításblokkot véletlen nyitva hagytam és akkor hibát írt.
Nem tudom, hogy most mi lehet...
olvasnivaló
Olvasnivaló az előfeldolgozókról. Itt a fórumon is rendszeres téma, keress rá.
A theme registry-t valóban
A theme registry-t valóban nem ürítettem, azért mert azt hittem, hogy a disable-cache modul ezt megoldja, azaz, h fejlesztés alatt ne kelljen, de ezek szerint valami nincs rendben vele :S
na mind1
Most tökéletesen működik köszönöm!
/Az olvasni valóba meg belevetem magam!/
van erre egy külön api hívás,
fejlesztés közben érdemes beletenni a page.tpl.php -ba és akkor nem kell ürítgetni. csak figyelni kell, hogy ne felejtsed benne véletlenül. :)
a zenben ez egy kapcsolóhoz van kötve az igen hasznos 'advanced theme settings' képesség felhasználásával.
a varázslás a tömblépkedéssel, szóval az egész foreach ciklus tök felesleges.
a cck minden mező sminkelt kimenetét külön változóban is elérhetővé teszi pont azért, hogy az ilyen eseteket könnyítse. egy field_image nevű mezőnek a renderelt értéke a field_image_rendered változóban lesz a node.tpl.php -ban. ennek megfelelően ilyen kulcs alatt van az előfeldolgozó $variables tömbjében.
-
clear: both;
így van
Ezzel kellett volna kezdenem, valószínűleg a kérdezőnek megfelel a gyárilag égetett render. Viszont úgy testreszabottabb kimenet is előállítható és előfordul, hogy szükség van rá.
kinek mi a kénylemes
akkor már inkább a mezőt magát sminkeled vagy a mező előfeldolgozójában írod át a dolgokat. még elegánsabb, ha field formatterbe pakolod modulként. azért van a remek display fields fül, hogy ott állítgathassa be a sitebuilder (aki lehet, hogy elég sovány phpból amúgy) hogy milyen mező milyen kimenettel.
ha minden ilyesmit a smink kódjában intézel, még akkor is ha esetleg sitebuild megoldás is létezne rá, akkor hamar igen nagy lesz a káosz, amit mondjuk pár hónap múlva már elég nehéz lesz átlátni.. ..főleg egy harmadik személynek, aki mondjuk most csatlakozik a fejlesztéshez vagy átveszi tőled azt. amúgy én is gyakran esek ebbe a hibába, igyekszem leszoktatni magam róla.
-
clear: both;
Van egy kis problémám az
Van egy kis problémám az előfeldolgozós megoldással...
A CCK pager nem működik vele, azt hittem, hogy a kimenet azonos lesz az alapértelmezettel, amikor a content-ben van...
Ha átlépem a küszöb értéket 12-nek állítottam akkor kirakja a pager-t, de az első és a második oldal tartalma is azonos, azaz ugyan az a 13-13 kép 2 oldalon.
Ezzel szerintetek tudok valamit kezdeni? :S
alapesetben igazad van, de...
Én "speciális" igényekre gondolok. Mint írtam, előfordul hogy szükség van egy testreszabottabb kimenetre. Például a gyári render tartalmazza azokat az elemeket is, amiket nem jelöltél be listázásra.
jogos, jogos
igaz, nem figyeltem, létező bug.
http://drupal.org/node/358729
nekem ez oldotta meg: http://drupal.org/node/358729#comment-1661466
de azóta már van 3 -as verziója is a patchnek. :) gondolom az mégjobban megoldja. :)
-
clear: both;
mi is van itt akkor?
van egy tartalom típusod (galéria?), amiben van egy field_image nevű mező. ez korlátlan számú értéket hordozhat.
szeretnéd, ha a $content -be nem lenne benne a field_image értéke, hanem egy külön divbe lenne.
a lapozó hogy jelenik meg? mikor galériák teasereit nézed? vagy nem értem a lapozó mit lapoz? a mezőben lévő képeket? vagy hogy?
-
clear: both;
Van a teaser nézet, amiben
Van a teaser nézet, amiben látszik az első kép az imagefield-ből így:
ez az album előképe.
ha rákattintasz azaz belépsz az albumba, akkor bejön page nézetben amiben pedig az összes kép látszik sgabe megoldásával. Valamint float-olva van mellé a szöveg.
/és a képekre kattintva thickbox-al lehet nézegetni./
A lapozónak pedig akkor kellene megjelenni ha a képek száma átlépi a 12-t (page nézetben!), de olyankor az említett hibát produkálja.
(a tartalom típusom neve: images)
/Ahogy írtad az úgy is működik, csak a cck pager nem szereti./
vissza a kályhához
Valószínűleg a modul nem működik, ha kiveszed a meződet a $content változóból és létrehozol neki egy újat. Visszatérve a kályhához, miért is szeretnéd így külön megjeleníteni a mezőket? Miért nem jó ott a $content változóban? Gyanítom, hogy a sminkelést úgy is meg lehetne oldani és akkor működne a CCK Pager is.
Ez már szerintem új téma.
azért szerettem volna
azért szerettem volna kiszedni a $contentből, mert a page-nézetű oldalt ketté akartam választani, úgy hogy, egyik felén a képek (amiket imagecache-el azonos méretűre méretezek és float-olom őket, tehát pl. 3oszlopos elrendezés), a másik oldalon a szöveg lenne.
Simán nem tudom float-olni, mert mert akkor a szöveg körebe fonja a képeket ha túllóg rajta.
Valamint egy nagy margin-left -tel sem lehet megoldani, hogy a szöveget oldalra szorítom, mert akkor mennek a képek is, pont azért mert az is a content-ben van, egyszerűen nem jut más az eszembe, hogy hogyan lehetne elszeparálni őket...
Köszönöm az eddigi segítséget! Majd max leszedem a cck-pagert!