Featured content

zoliky képe

Van egy drupal 6.x alapu oldal.
Letrehoztam egy "featured" nevezetu tartalom tipust. A "node-featured.tpl.php" fajlban sminkelem.

Szeretnem kilistazni az utolso harom tartalmat amely a "featured" kategoriaban van. Az oldal kinezete: http://img60.imageshack.us/my.php?image=testlp8.jpg

Jelenleg 4 tartalom latszik a fooldalon, ennek a szamat le kene csokentenem 3-ra, akkor is ha tobb tartalom letezik a "featured"-ban. Mindig a 3 legfrisebb tartalom kell az oldalon.

A node-featured.tpl.php fajl igy nez ki:

if ($GLOBALS['cntr'] % 2 == 0) $cont_type = 3;
if ($GLOBALS['cntr'] % 2 == 1) $cont_type = 2;
if (empty($GLOBALS['cntr'])) $cont_type = 1;
 
switch ($cont_type) {
  case 1:
    print '<div class="panel-col-top">';
  break;
 
  case 2:
    print '<div class="panel-col-left">';
  break;
 
  case 3:
    print '<div class="panel-col-right">';
  break;
}
    // egy normalis node.tpl.php tartalma, kiveve a fenti DIV
    // .....
    // .....
</div>

Ha tudnatok kicsit segiteni barmilyen otletel nagyon orulnek!

Fórum: 
pp képe

Honnan jön az a négy? Ott adj vissza csak hármat.

pp

0
0
zoliky képe

Egyebkent ezt a problemat meg tudnam oldani a Views modulal ? Ugy ertem, hogy van egy "featured" tartalom tipus es szeretnem megjeleniteni az utolso 3 tartalmat amely a "featured" tartalom tipusba talalhato az elso oldalon.

A legujabb tartalom fent kell legyen egy kulon kockaban, a masik ketto pedig alul.
Ezen a kepen latszik rendesen: http://img262.imageshack.us/my.php?image=tartalomuw4.jpg

Oszinten nem ertem a views mukodeset. Fent van a modul, es valami block tipusu dolgokat kell aktivalni csak azt nem tudom, hogy amit en akarok megvalositani igenyel sajat PHP kodot is ?

Nagyon orulnek ha talalnek egy megoldast :(

0
0
Paal képe

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

zoliky képe

Koszi.
A problema az, hogy a Panel modul olyan "alpha" alapotban van, hogy az jaj...

Drupal 6.x-et hasznalok.

0
0
zoliky képe

Nekem szuksegem van "3 featured" tipusu tartalomra az elso oldalon. Az elso a fenti kockaban, a masodik az also bal oldali kockaban es a harmadik az also jobb oldali kockaban kene megjelenjen.

Most letrehozok egy views-t kilistaza a "featured" tartalmakat. A problema az, hogy a fenti Panel kockaban kilistaza mindet. Ezt mondjuk megoldhatom ugy, hogy megszabom a kilistazot tartalmak szamat a views-ban, peldaul 1-re.

A problema az, hogy a "featured" tartalmat szeretnem latni az also kockakban is, a felso kocka fojtatasa kent. Sajnos ezt nem sikerul megvalositani.

Szoval a fenti kocka 1-tol 10-ig listaz minden "featured tartalmat".
Az also bal oldali kocka 1-tol 10-ig listaz minden "featured tartalmat".
Az also jobbb oldali kocka 1-tol 10-ig listaz minden "featured tartalmat".

Sajnos ez a problema.

0
0
Paal képe

Szerinted ennek van így értelme?

Szoval a fenti kocka 1-tol 10-ig listaz minden "featured tartalmat".
Az also bal oldali kocka 1-tol 10-ig listaz minden "featured tartalmat".
Az also jobbb oldali kocka 1-tol 10-ig listaz minden "featured tartalmat".

1x nem elég? ;)

Vagy te 3 külön taxonómia/tartalom típus/stb. "featured tartalmat" szeretnéd kiíratni?

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

Paal képe

Panels nélkül nincs élet? ;) Szerinted hogy lehetne megcsinálni másképpen?

Itt sem használtam a Panels modult: http://www.etyektaverna.hu/hu

A smink .info fájlában létrehozol 3 új régiót:

regions[contenttop] = Content top
regions[contentbottomleft] = Content bottom-left
regions[contentbottomright] = Content bottom-right

Ha jól emlékszek, és nincs definiálva régió egyáltalán az .info fájlában, akkor az összeset definiálni kell, nem elég csak az újakat. Pl.:

regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[contenttop] = Content top
regions[contentbottom] = Content bottom
regions[contentbottomleft] = Content bottom-left
regions[contentbottomright] = Content bottom-right
regions[footer] = Footer 

Lemásolod a page.tpl.php-t page-front.tpl.php-nak. Ebbe beilleszted a 3 régiót, valahogy így ,a <?php print $content ?> alá (vagy akár helyette):

 <!-- more content block -->
    	<!-- content-top -->
        <?php if ($contenttop) { ?>
          <div class="contenttop">
            <?php print $contenttop ?>
          </div><!-- end content-top -->
        <?php } ?>
    	<!-- bottom-left -->
        <?php if ($contentbottomleft) { ?>
          <div class="contentbottomleft">
            <?php print $contentbottomleft ?>
          </div><!-- end bottom-left -->
        <?php } ?>
   	<!-- bottom-right -->
        <?php if ($contentbottomright) { ?>
          <div class="contentbottomright">
            <?php print $contentbottomright ?>
          </div><!-- end bottom-right -->
        <?php } ?>
<!-- END more content block -->	

Írsz hozzá megfelelő css kódot. A felső régió az nem is annyira érdekes, inkább a két alsó:

.contentbottomleft {
float:left;
width:50%;
}
 
.contentbottomright {
float:right;
width:49%;
}

Így lett egyből három új régiód, ahova nyugodtan pakolhatod a kis Views-od által generált blokkokat.

Remélem hasznos volt.

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

zoliky képe

Koszonom! Eloszor en is igy probalkoztam.
Elmagyarazom a problemat reszletesen de eloszor kerlek nezd meg ezt a kepet, hogy tisztazuk az oldal kinezetet: http://img412.imageshack.us/my.php?image=kepsq1.jpg

Az A, B es C kockakba kell keruljenek azok a tartalmak amelyek kiemeltek (sticky), fuggetlenul, hogy "Page" vagy "Story" tipusu tartalomrol van szo.

Feltetelezem, hogy van 3 kiemelt tartalom a fooldalon:

|Pista|
 
|Ervin|  |Arpad|

Most szeretnek egy ujat bekuldeni, peldaul: Sandor. Igy kene listaza:

|Sandor|
 
|Pista|  |Ervin|

A bekuldes utan az Arpad eltunt, mert regi es nem erdekel. Mindig a 3 legfrisebb tartalom kell a kockakba.

Elvileg letrehozok egy nezetet (views) csak az a problema, hogy nem tudom hany nezetre van szuksegem ? Mert ha egy nezetet csinalok es az 3 tartalmat listaz nem jo.. Akkor a tobbi region-ba mit rakok?

Egy nezet kene amely kilistaz 3 tartalmat de mind a harmat szepen belerakja a megfelelo kockaba. Peldaul a legujabb tartalmat az A kockaba, a regebbit a B kockaba, stb...

Remelem ertheto voltam :)

Van egy elo pelda: http://www.alquds.com azt hiszem ezt is views-al csinaltak csak nincsen hozaferesem a fajlokhoz, mert nem az en oldalam.

0
0
attila_fabian képe

Én létrehoznék egy modult, ami két blokkot generálna. Ezeket lehetne elhelyezni a paal által mutatott régiókban. így arra is lehetőség nyílna, hogy az alqudshoz hasonlóan, egyéb címlapra szánt tartalmak is megjelenhetnek a blokkok alatt.

Én két külön régiót hoznék létre, egyet az 1. blokknak, és egy másikat a 2-3. blokknak - így külön kezelhetném az első blokk tartalmát, és külön a másik kettőt (pl ha van csatolt kép, akkor akár azok mérete is lehet eltérő, stb.)

A blokkok kódja egy adatbázis lekérdezés alapján töltené be a szükséges node-okat. Az elsőnél csak a legelsőt, míg a másiknál a 2. és a 3. rekordot.

0
0
aboros képe

egy nézet kell, blokk típusú, ami három tartalmat mutat, sticky és dátum szerint sorrendez.

ezt a blokkot tedd be egy régióba a tartalom fölé. ha megnézed, a nézeted html kimenetét, ilyesmit látsz:

<div class="<views-row-1 views-row-odd views-row-first">
<div class="<views-row-2 views-row-even ">
<div class="<views-row-3 views-row-odd views-row-last">
<code>
 
nna, semmi akadálya, hogy css -ben megcélozd ezeket a diveket és akkorára méretezd margózd meg oda floatold ahova akarod, nem igaz?
 
kb:
<code>
.views-row-2 {
width: 48%;
float: left;
}
.views-row-3 {
width 48%;
float: right;
}

persze ez minden más nézeted 2. és 3. sorát is ilyenre csinálja, úgyhogy nagyobb pontossággal kell majd célozni, ami mondjuk meg a block id -je lehet, (nézd le firebuggal!!!) én most egy ilyet találtam.. block-views-munkatarsak-block_1
tehát a css:
#block-views-munkatarsak-block_1 .views-row-2 { ... }

0
0

-
clear: both;

Paal képe

Szerintem már nem ez érdekelte... :) hanem, hogyan tudja arrébb "shifttelni" a tartalmat, ha egy újabb kerül felvitelre.

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

zoliky képe

ok es akkor, hogy csinalom, hogy ne hivja elo azokat amelyek nincsenek a nezetben ? Mert ha sticky-re csinalok egy node-t az a fooldalon megjelenik ketszer. Eloszor a nezetben, masodszor rendesen.

0
0
aboros képe

két típust valósít meg a nézet...
blokk nézet típust hozol létre, teaser list és beállítod, hogy 3 tartalmat mutasson.
page típusnál is teaser list, beállítod az offset -et 3 ra.

0
0

-
clear: both;

zoliky képe

en a views2-ot hasznalom, egyenlore fogalmam sincs hol a teaser list de keresem. Mind a 3 nezetben van egy block tipusu display, egy "feed" tipusu es egy "default"

a "3" views modszert hasznalom es 3 blokom van, amely a "featured" regionban van elhelyezve.

0
0
Paal képe

Elvileg (most nincs időm kipróbálni):

3 lekérdezésre van szükséged, ami mindig 1 (db) eredményt ad vissza. Mindenben megegyeznek, de az elsőnél nem kell semmi plusszt állítani, a másodiknál az offset értéke 1-re, a harmadiknál pedig 2-re.

Ha mondjuk időrend alapján rakod őket csökkenő sorba, akkor mindig a legfrissebb tartalmat kapod vissza. Az elsőnél időrendben a legutolsót, a másodiknál időrendben a másodikat, a harmadiknál értelem szerűen a harmadikat. Az offset-nél korábban (D5 - Views-1.6) figyelni kellett a paraméter értéke utáni pontosvesszőre.
Paraméterek/Argumentum Handling Code/Argumentum Code:
offset=1;

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

pp képe

aboros leírta, hogy ezt simán css-el is meg lehet oldani. Ha vannak a hírek:

A
B
C

akkor, ha az A kap egy clear:both-t a másik kettő meg egy width:48%;float:left;-et akkor simán megvan neki egy listából is ez ami kell. Ráadásul shiftelni is fog rendesen, ha jön egy újabb elem.

ppp

0
0
zoliky képe

Igen CSS-el van megoldva. Most kicsit mas a problema, fent irtam. Az offset-et is alkalmaztam, mert 3 block kell. Mindegyik block egy kulon kocka az oldalon.

0
0
zoliky képe

Felteszem maskepp a kerdest. A "frontpage" nezet elohivja a fooldalon levo adatokat. Megmondhatom a tobbi nezetnek, hogy hasznalja a "frontpage" nezetet ? Ugy mint a panel modul, tobb nezetnek csinal egyetlen egy utvonalat (frontpage-t).

Peldaul van 4 nezet:

Frontpage (elerheto a drupaloldal/frontpage cimen)
Featured1 (egy kulon block nezet)
Featured2 (egy kulon block nezet)
Featured3 (egy kulon block nezet)

Amikor meghivom a Frontpage nezetet szeretnem latni a block tipusu nezeteket is, ott ahol elhelyezem a regionban.

0
0
aboros képe

minek kell a három (3?!) blokk?
van rá valami indokod azon kívül, hogy úgy akarod megjeleníteni, hogy fent egy, alatta egymás mellett kettő, és alatta a többi node?

mert ha nincs, akkor ehhez nem kell három blokk. igazából úgy is meg tudod tiszta css-el csinálni, hogy egy blokk se kell, csak a frontpage nézetet felülírod.

de ha nagyon akarsz blokkot akkor egy bőven elég és a megoldást fent már leírtam.

minek ez a keverés a három-négy nézettel, meg három blokk, meg régiók, meg tistutyafüle? mitől lesz így jobb? egy olyan view -nak, ami előállít egy blokkot, ami egy darab node-ot mutat, nem látom túl sok értelmét, pláne ha van még kettő ilyen, ugyanazon rendezési szempontok szerint, csak eltolva offset-tel. :)

0
0

-
clear: both;

zoliky képe

ok, felulirom a frontpage nezetet, de a frontpage olyan okos, hogy meg tudok vele jeleniteni 10 fele nezetet es mindegyik mast csinal ? mert nekem mas nezetek is kellenek az oldalon. A panels modulban az a jo, hogy berakom mindegyik kockaba a nezetem es ebbol general egy linket.

0
0
Pasqualle képe

1. hogyan kell views modullal tartalmat listazni jol (csak harom latszodjon, offset, sticky nelkul, kulon tipusra uj nezet)?
2. hogyan kell blokkot regioba helyezni?
3. hogyan kell blokkot az adott oldalon megjeleniteni?

nem tudom, ez mind teljesen alap kerdes.. szoval nem ertem mi a gond..

0
0
zoliky képe

Ok, most lezarom a temat. Majd utana olvasok a dolgoknak!

0
0
sgabe képe

meg lehet oldani egyszerűen CSS-el. Mindössze annyit kell tenned, hogy felülírod a címlap nézetet, szűröd a featured tartalmakat és csak 3-at kérsz. A nodeokat first-child és last-child alapján tudod formázni. Az elsőre beállítassz egy kizárást (clear) az utolsót pedig úsztatod (float).

0
0
Paal képe

Ja, tök jó amit írtok, csak pont IE6-ban nem fog működni. Lehet, hogy sok embert ezt nem érdekel, de - és sajnos - a felhasználók nagy része még (mindig) ezt használja...

Ugyanis (tudtommal) az IE6 NEM KEZELI a first-child/last-child parancsokat.

http://www.standardsmode.hu/html-css/alosztalyok-alelemek/

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

aboros képe

<div class="<views-row-1 views-row-odd views-row-first">
<div class="<views-row-2 views-row-even ">
<div class="<views-row-3 views-row-odd views-row-last">

ezen mit nem tud az ie6? :)

0
0

-
clear: both;

Paal képe

Én csak erre reagáltam:

A nodeokat first-child és last-child alapján tudod formázni.

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan