Egyéni igények szerinti nod!

James53 képe

Következő a helyzet:

Drupal 6.10 - GlossyBlue smink. Főoldal (/node): írásokból álló oldal, ahogy az kell.
Ha az egyes írásokra kattintok szépen bejön új saját külön elérési útjával az irás node-ban.
Kírja a címét, a beküldés idejét és persze a törzset. Ok!
Egy oldal típusú tartalom esetén is ugyan ezek köszönnek vissza. Cím, dátum, törzs.
Viszont azt szeretném elérni, hogy az írások node-jain kívül, minden egyéb node-ban, tehát az oldal típusú tartalmaimban ne látszódjon se cím se a dátum, csak a törzs!

Józan paraszti ésszel eslő gondolatom az volt, hogy valahova a következő kis elágazást kéne betenni:

if ( a node irás) {
ekó nodecím + nodedátum+nodetörzs
}
elz{
ekó nodetörzs
}

A node.tpl-be indultam volna útra első körben, de gondoltam felháborodást keltek előbb itt. :)

Kérdéseim:
1 - jól gondolkodom-e?
2 - mért nem? :)
3 - mi lesz a megoldás? (lehet nem is kell túrni, csak ckk, views?)

Köszi előre is! :)

Drupal verzió: 
pp képe

Fogod a node.tpl.php-t és lemásolod kétszer a sminked mappájába. Egyszer ugyan ezen a néven és egyszer pedig node-story.tpl.php néven. A node-story.tpl.php mondja meg hogy nézzenek ki az írások és a node.tpl.php meg azt, hogy hogyan nézzen ki minden más.

Az igazi az lenne, ha alsminket hoznál létre.

pp

0
0
James53 képe

Először is köszönöm a segítséget.
Ígyekeztem a hiányosságaimat befoltozni. Majdnem megoldoódott a problémám a Te hozzászólásoddal. Csináltam egy node-story.tpl.php fájlt, ami egyenlőre egy az egyben a node.tpl.php fájlal egyezik meg. (feladatmegoldás szempontjából végül is ennek nem is lett szerepe). Majd fogtam és a page.tpl.php forrásból, ami ugye a az oldal típusú tartalmak kinézetéért felelne, kikommenteztem a címsor kiíratását. Ezzel elértem, hogy a főoldalon(/node) sorakozó írások címsorai megvannak, de ha egy oldal típusú tartalmat hozok létre ott a címsor már nem iratódik ki. Viszont, ha főoldalon lévő írások bármelyikére rákattintok, akkor az aktuális irást egy új oldalon hozza be, amiben viszont már nem szerepel a címsor. Gondolom ilyen esetben a fából vaskarika lesz, és itt az írás típusú tartalmat is a pgae.tpl.php befolyásolja, így a megoldás mégsem jó.
Az fontos lenne, hogy egy adott irásra kattinva megmaradjon a címsor.
Egyetlen egy esetben akarom elérni, hogy ne látszódjon a cím, ha egy új oldal típusú tartalmat hozok létre.

u.i.: tudom, hogy vannak erős hiányosságaim, így ha témához viszonylag szorosan kötődő leírást tudsz/tudtok ajánlani, aminek tanulmányozása segít a megoldásban, úgy szívesen fogadom...

0
0

- Szabó Gábor -

"Előre minden élharcos, akinek a jelmondata az, hogy - amég élsz, alkoss"

thamas képe

A dátum ki-bekapcsolható (alapesetben) a smink beállításoknál az egyes tartalomtípusokra külön-külön.

("A cím pedig elrejthető az auto nodetitles modullal" - akartam írni, de az is hozzá tartozik, hogy helyette megjeleníti azt, amit a "pattern" mezőben megadsz. Azt nem tudom mit szól egy üres vagy csak szóköz tartalmazó mezőhöz... A sminkelés azért talán jobb megoldás... ;o))

0
0

Üdvözlettel:
Hajas Tamás

James53 képe

Köszönöm!

0
0

- Szabó Gábor -

"Előre minden élharcos, akinek a jelmondata az, hogy - amég élsz, alkoss"

aboros képe

tipikus template butchering amire készülsz, a gondolatmenet nem rossz amúgy. ;)
a beküldés dátumának és a beküldő nevének megjelenítését tartalom típusonként a sminkbeállításoknál tudod szabályozni. ezzel nincs más dolgod.

a címet én egy előfeldolgozóval szedném ki a template.php -ban a nem story nodeokból.
az én sminkemet playgroundnak hívják és ha ezt teszem a template.php -jába, akkor csak 'story' típusú nodeok esetén jelenik meg a node címe mint page title.
íme:

function playground_preprocess_page($vars) {
	if (isset($vars['node']) && $vars['node']->type && $vars['node']->type != 'story') {
                #ez ugye csak akkor teljesul, ha az adott page egy node, raadasul 'story' típus
		unset($vars['title']);
	}
}
0
0

-
clear: both;

James53 képe

Először is Nked is kösz!
Másodszor: vmi nem jó. :)
Bemásoltam, a fgvnevet átírtam glossyblue_preprocess_page-re természetesen a GlossBlue smink template.php-jában, de eredménybeli változást nem láttam.

Ezek után nem, mintha nem bíznék benned :D de fogtam és egy else ágat hozzáadtam, hogy lássam nem-e a feltétellel van valami, tehát:

<?php
function glossyblue_preprocess_page($vars) {
    if (isset($vars['node']) && $vars['node']->type && $vars['node']->type != 'story') {
                #ez ugye csak akkor teljesul, ha az adott page egy node, raadasul 'story' típus
        unset($vars['title']);
    }
    else{
        unset($vars['title']);
}
}
?>

Erre sem reagált semmit. Olyan, mintha felse venné, amit mondani akarok neki :D ötlet?

u.i.: mivel az egész template.php egy php nyitóval kezdődik, így értelemszerűen oda e nélkül másoltam be, viszont ami számomra (újdonsült drupaltúrónak) meglepő, hogy a template.php végén nincs php lezáró ?> végjel "gyárilag sem". Gondolom ahová berántja ott záródik le valahol?!

0
0

- Szabó Gábor -

"Előre minden élharcos, akinek a jelmondata az, hogy - amég élsz, alkoss"

Nagy Gusztáv képe

Egyre inkább elterjed az a jó szokás, hogy a záró php tagot nem írjuk be. Ez így jó, nem kell vele foglalkozni.

0
0

Nagy Gusztáv

pp képe

A gyorstárat ürítetted? (ugye nem egy már meglévő sminket írsz át?.. muhahah)

A lezáró meg azért nem kell, mert csak gondot okozna. Elég régóta a php-ban ez a feature megvan. Ez ugyan olyan, mint a tömb definíció végén a vessző. Egyedül a tömbnél nem gáz, ha kirakod:

  $tomb = array(
    'elem1' => 'valami1',
    'elem2' => 'valami2',
    'elem3' => 'valami3',
  );

Így ha Kopi Pészt Mester keze megremeg nem hibázhat. Nem baj, ha ott a vessző és hiányozni se tud. Hasonló kényelmi szempont a lezáró tag. Ugyanis hibát okozhat, ha a lezáró tag után van egy szóköz, amit elég nehéz észrevenni. Már az olyan csökött szövegszerkesztőkbe amik nem jelölik a nem nyomtatható karaktereket. Tanfolyamon ez is mindig elhangzik, amint az első ember elkezdi a pontokat lemásolni. Mondjuk a legnagyobb flash az volt amikor valaki egy nagy I-t írt a forrásba (egérkurzor) és az is vagy tíz perc volt amíg rájöttem ebben mi a nem jó:

#header{
  background-imaqe: url(images/header-bg.png);
}

Tipikus gépelési hibák öt percünket hallották.

pp

0
0
aboros képe

minden új tpl.php és minden új függvény felvételekor (a template.php -ba ha olyan függvényt írsz, ami még nem volt benne) törölnöd kell a smink regisztrációs tárat. ez egy ilyen pseudo gyorstár, ha jól értem a dolgot, a lényeg az, hogy nem minden oldalletöltéskor néz végig a drupal minden lehetséges variációt, hogy melyik sminkfüggvényt vagy sablont valósítja meg a smink, hanem egyszer belebúrja ebbe a tárba azokat és utána azzal dolgozik.

szóval az admin/build/themes oldalon egy sima mentést kell nyomnod, hogy "észrevegye" az újdonsült függvényedet.

0
0

-
clear: both;

James53 képe

Köszönöm szépen mindenkinek a tanítást. Megvalósult, amit szerettem volna. (főleg aboros segedelmével) De mindenkinek kösz!

Egyébként teljesítmény növelést megvalósító gyorstáram ki van kapcsolva, így csak a sminkeknél kellett tényleg egy mentést nyomnom!

Köszönöm mindenkinek még egyszer!

0
0

- Szabó Gábor -

"Előre minden élharcos, akinek a jelmondata az, hogy - amég élsz, alkoss"