Tartalom megjelenítése

dsztanko képe

Sziasztok!
Kérdésem lenne, hogy hogyan tudom megoldani a következő feladatot.
CCK mezőkkel felviszek egy termék adatait, köztük képeket is róla. Majd Views modullal kiíratom a termék adatait, köztük a képeket is.
Hogyan tudom a különböző adatokat pozicionálni? Először is a fő képet vinném fel a törzs és a cím mellé jobb oldalra. A kép is CCK mező, CCK Imagefield.
Tudtok nekem segíteni, de legalább elindítani, hogy milyen módon lehet megoldani ezt?
Köszönöm.

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
dsztanko képe

Esetleg megoldható valahogyan, hogy a mezőkre való hivatkozással CSS-ben alakítsam a megjelenést?

0
0
Jenő képe

Ha csak a nézetben akarod testre szabni, akkor a Views szerkesztése oldalon az Alapbeállításoknál van a Theme: Information rész, ott kapsz pontos leírást, hogy milyen fájlokat kell létrehoznod a smink könyvtárába. Ha rákattintasz az ott található linkekre akkor látod, hogy milyen kód alapján áll elő az a rész. Ezt bemásolod a saját fájlodba és módosítod.

Ha a tartalomban akarod a megjelenítési sorrendet változtatni akkor azt a ?q=admin/content/node-type/[tartalomtipusod]/fields oldalon tudod a megtenni.

Mindkét esetben szükség szerint CSS-el finomíthatsz a megjelenésen. Az is lehetséges, hogy csupán CSS-el meg tudod oldani azt, ami neked kell.

0
0
zimbo képe

Esetleg lehet, hogy megoldhatnád a tartalomtípushoz létrehozott saját tpl.php fájl létrehozással.
A sminked könyvtárában a node.tpl.php-t másolod, és a másolatot átnevezed: node-tartalomtípusomneve.tpl.php-re. Ebben pedig beilleszted tetszőlegesen, mondjuk egy táblázatban elrendezve a különböző nézeteket, amelyekkel a különböző mezőknek, vagy mezőcsoportoknak megjelenését szabályozod. A tartalomtípus szerkesztésében pedig minden viewsban megjelenő mezőnek letiltod a megjelenését.

Én így oldottam meg itt: http://videoslot.hu/geisha-story

0
0
dsztanko képe

Ez a megoldás nagyon szimpatikus nekem, létre is hoztam a módosított névvel a node fájlt. Ebben pedig mit kell csinálni? Tehát megszerkesztem css-ben pl. div-ekkel az oldalt, majd a megfelelő helyekre berakom az utalást a mező típusra?

Lehet egy olyan kérésem, hogy az általad módosított node tartalmát megmutasd nekem? Az a megoldás nagyon hasonló arra, ami nekem kéne. Az elrendezést meg is tudom csinálni css-ben, csak a hivatkozás nem tiszta!

0
0
zimbo képe

Hogy teljes legyen a kép, azért beillesztem a szóban-forgó részletet. Az eleje, és a vége ismerős lehet, én csak a táblázatot tettem be két sor közé, pontosabban a title és beküldési információk alá, de még a content fölé. Az első oszlopban a node-hoz tartozó képet jelenítem meg, a másodikban pedig pár szövegmezőt. A két views neve: gamekep, és gameprofil.
Mindkét views-ban argument: NID, hogy a node-hoz tartozó tartalmak jelenjenek meg!

  <?php if ($submitted): ?>
    <div class="submitted"><?php print $submitted ?></div>
  <?php endif; ?>
 
<table>
<tr>
<td>
	<?php
	print views_embed_view('gamekep', 'default', $node->nid);
	?>
</td>
 
<td>
	<?php
	print views_embed_view('gameprofil', 'default', $node->nid);
	?>
</td>
</tr>
</table>
 
  <div class="content">
    <?php print $content ?>
  </div>

Ezt csak azért használtam, mert egymás mellé akartam őket, és akkor még nem tudtam jobb megoldást... Itt a hozzászólásokból kiderül, hogy bőven van választási lehetőség a Drupalban.

0
0
fox mulder képe

Olyan oldalt akarsz (node), ami több terméket listáz, vagy egy termék = egy node? Ha az utóbbi, akkor ehhez nem kell Views.

0
0

Fox Mulder

dsztanko képe

Olyan oldalt szeretnék, ami egy listából, esetleg egy keresés eredményeképpen megjelenít egy termék adatlapját. Tehát egyszerre csak egy termék adatait.
Ha nem kell views, akkor mivel jelenítem meg az alap mezőkben + cck mezőkben felvitt adatokat?
Előre is köszönöm a segítséget, egyelőre még kezdő vagyok, de igyekszem!

0
0
fox mulder képe

Tegyük fel, hogy létrehozol egy Termék tartalomtípust és hozzáadsz egy Kép és egy Ár CCK mezőt. A megjelenítésüket az admin/content/node-type/termek/display lapon tudod szabályozni. Ha itt NINCS bepipálva egyik Kizárás (exclude) checkbox sem, akkor egy új Termék beküldése után, ha beírod az árat, meg feltöltöd a képet, akkor annak meg kell jelennie az új termék node-ban. Ha nálad nem így van, akkor elsősorban azt kell kideríteni, hogy miért.

0
0

Fox Mulder

dsztanko képe

Igen látom, hogy mire gondolsz, de ennek az elrendezését hogyan tudom módosítani. A sorrend akár rendben is van, de más elrendezésben kéne.

0
0
Jenő képe

CSS-el alakíthatsz rajta. A forrásban megnézed, hogy milyen id, vagy class van hozzárendelve és a smink css fájljába az ehhez tartozó részt módosítod, ha nincs leírás hozzá, akkor beleteszed.

0
0
fox mulder képe

Én akkor most kipipálnám (vagy bepipálnám?) a Kizárás checkboxokat, aztán a node.tpl.php másolataként létrehozom a node-termek.tpl.php-t (már ha ez a Termék tartalomtípus neve. Ezt írta zimbo a hozzászólásában.) és abban olyan HTML-t írsz, amit akarsz (érdemes az eredeti node.tpl.php logikáját követni). Ha az Ár mező neve mondjuk field_ar, akkor $node->field_ar[0]['view'] formában hivatkozhatsz a mező értékére, tehát pl. így:

<div class="vetelar">
<?php print $node->field_ar[0]['view']; ?>
</div>

Aztán a sminked style.css-ében még cizellálhatsz rajta (ahogy Jenő írta), pl.:
div.vetelar
{
  color: red;
}
0
0

Fox Mulder

dsztanko képe

Óóóóó..., ez nagyon tetszik, azt hiszem ez jó megoldás lesz! Holnap ki is próbálom. Nagyon köszönöm a segítségetek!

0
0
aboros képe

cckban egy ideje minden mezőnek a renderelt kimenete is jelen van egy változóban kényelmi okokból. mégpedig olyan megjelenéssel, ahogy azt a display fields fülön beállítottad. ha exclude -ot is bejelölöd, akkor a $content -be nem kerül be, de ebben a renderelt változóban ott lesz a html, ahogy azt beállítottad. elég hasznos.

tehát a példánál maradva, field_ar renderelt html kimenete itt van:
node.tpl.php:

<?php print $field_ar_rendered; ?>

ez hasznos, mert szabványos cck kimenet van benne. címkéstül, mindenestül, ahogy a felületen beállítottad. ha átállítod ott, itt is követi, nem kell kódolgatni mindig. egy szövegmezőnél ez nem nagy haszon, de egy bonyolultabb mezőnél már eléggé hasznos.

és persze akkor az előfeldolgozóban is jelen van ám ez, ugye $vars['field_ar_rendered'] alatt.

0
0

-
clear: both;

fox mulder képe

Miket tud meg az ember, köszi :)

0
0

Fox Mulder

csg képe

Igaz, hogy csak az 5-ös drupálhoz használtam jó régen, de nekem tetszett a contemplate modul, esetleg próbáld ki: http://drupal.org/project/contemplate

Az a lényege, hogy nem kell fájlokkal foglalkozni, hanem az adminisztrációs felületen tudod beírni a kívánt template kódot, ráadásul kilistázza neked a template-ben felhasználható összes változót az értékükkel együtt, úgyhogy könnyen össze tudod rakni magadnak, hogy mit szeretnél látni, és milyen elrendezésben.

0
0

--
Csonka Gergely
http://cheppers.com