Címlap link eltüntetése

zimbo képe

Sziasztok!

Bármerre járok a weboldalamon, ha nem éppen a címlapon vagyok, akkor van egy "Címlap" nevű link, amit szeretnék eltüntetni.
Arról van szó, ami itt is látható ezen a weboldalon, a Primary Links - Hírek menüpontja alatt..

El tudnám ezt tüntetni valahogy? Nem találom sehol.

Köszi

Drupal verzió: 
Fórum: 
Nagy Gusztáv képe

Ha neked nem kell ez a menü (amit nehezen értek meg), akkor a sminked page.tpl.php állományában kell rákeresned a $breadcrumb változóra, és ott korrigálni. De ez nem mindig egyszerű.

0
0

Nagy Gusztáv

sgabe képe

<?php if ($breadcrumb && $title != "Címlap"): print $breadcrumb ?>
1
0
Aspi képe

Egy kis PHP ismeret szükséges hozzá, bár nem túl bonyolult megoldani.
Valóban a smink területéhez tartozik.

Megkeresed a sminkedben a page.tpl.php fájlt:
Pl.: ./htdocs/themes/sminkedneve/page.tpl.php

Megnyitod valamilyen szerkesztővel (pl.: notepad++) és rákeresel a $breadcrumb változóra.
Ha megvan olyan kódrészletet keress, ahol print vagy echo áll és tedd mejegyzésbe vagy töröld ki egyszerűen. (persze a biztonság kedvéért jobb a megjegyzés alkalmazása).

Az alábbi példában egy echo -val jeleníti meg a drupal a címlap linket:

Elötte:
 if (!empty($breadcrumb)) { echo $breadcrumb; }
Utána:
 if (!empty($breadcrumb)) //{ echo $breadcrumb; }

A garland sminkjénél print íratja ki $breadcrumb változót.
./htdocs/themes/garland/page.tpl.php
Elötte:
 print $breadcrumb;
Utána:
 //print $breadcrumb;

Ekkor nem jelenik meg a címlap link.

Magyarázat kezdő, vagy PHP-hez nem nagyon értőknek:
Általánosan használva a PHP-ben leggyakrabban a print és az echo használatos változó tartalmának kiírására. A // jel után szereplő kódrészlet megjegyzésnek minősül és nem hajtódik végre.

A megjelenítéssel kapcsolatos más változók listáját megtalálod itt:
http://api.drupal.org/api/drupal/modules--system--page.tpl.php

Megjegyzés:
Mivel a véleményem senki nem kérdezte, ezért nem kommentálom kell-e a cimlap link vagy nem.
Ha valakit zavar így lehet eltüntetni a címlaplinket. A hozzászólás nem teljeskörű, van más megoldás is, de erre most nem térek ki.

0
0
Balogh Zoltán képe

Ez így szép és jó lenne, ha nem az egész morzsa megjelenítését dobná a kukába. Egyrészt ez a modul tud olyat is, hogy ha csak a Címlap van a morzsában, akkor ne jelenjen meg a morzsa. Ugyanez elérhető avval is, ha nem empty()-vel vizsgáljuk a változót, hanem count() segítségével, és csak akkor jelenítjük meg, ha count($breadcrumb)>1. Mert az egyébként egy igen hasznos navigációs eszköz, tehát nem kéne kompletten kizúzni.

0
0
Aspi képe

Törekedtem az egyszerű megoldásra, főleg azoknak akik kezdők és nem nagyon konyítanak még a php-hoz sem.

Egyébként megoldásod sokkal profibb, csak ehhez már komolyabb php tudás kell. Akinek az megvan, az megtalálja megoldást magának.

Amiért hozzászólok most a következő:
A vélemények megoszlanak e téren. Tőlem pl. már sokan kérdezték, hogy lehet a címlap linket eltüntetni. Mivel mindig ez a plénum jön be, ha valaki rákeres a googlin elsőnek. Ezért ide tettem;)
A régi motorosok állítják, hogy milyen jó is a címlap. Hát kérem, miért jó navigációs eszköz a címlap link? Mire való, mire használható a gyakorlatban? (Én valahogy egyedi sminkkel ellátott drupal oldalakon nem látom őket.) Most komolyan kíváncsi vagyok a véleményekre, ha már ilyen sűrűn szóba kerül.

0
0
szantog képe

Törekedtem az egyszerű megoldásra, főleg azoknak akik kezdők és nem nagyon konyítanak még a php-hoz sem.
CSS display: none, és még php sem kell. :)

Amúgy nem magáról a címlap linkről, mint hasznos navigációs eszközről van szó, hanem en-block a morzsamenüről. Az tényleg szép és jó, és ahogy mondod, önmagában a címlap link a morzsából nekem sem hiányzik.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

Aspi képe

Nos igen a megjelenítést érdemes leválasztani a lehető legjobban erre való a CSS. Én mondjuk jobb szeretem php-ben megoldani a dolgaimat, főleg ha gyorsan kell valami, mert jobban átlátom. Gondolom azért mert abban lényegesen többet mókolok:)

Én például kipróbáltam a $breadcrumb változó kiremelését, egészen pontosan csak a megjelenítését teszem megjegyzésre. Ha jobban megnézi valaki ez szerepel a példában és a szövegben. Más tekintetben a $breadcrumb változó és annak tartalma érintetlen, így nem befolyásolja a működést, csak nem dobja ki a képernyőre és kész.
Az első menüpontot meg feltettem a címlapra, illetve annak elötte is oda szerkesztettem;) És műxik:))) attól még hogy a címlap link nincs megjelenítve.
Ehhez nem kell különösebb php tudás, hogy megcsinálja egy kezdő.

Ám ha egyszerű gyors megoldásoknál tartunk, nem lenne rossz odaírni mit hol mivel csináljon a lámer a CSS-ben. Nem kritizálás képpen, csak gondolom hasznos lenne.

Azért köszke az ötleteket, nagyon hasznosak! Mikor mi jobb, azt érdemes használni.

0
0
Balogh Zoltán képe

Az arhív kedvéért én is hülyeséget írtam némileg, mert a count()-os dolog természetesen csak a preprocessz ágon működik. Kettőnk megoldása között annyi a különbség, hogy ha most itt feltekersz a lap tetejére, akkor látod a morzsát, melyben nem csak a Címlap szerepel. Ezt Te onnan kompletten kizúzod, ami nem feltétlenül jó. Tehát:

if (!empty($breadcrumb)) {
  return '<div class="breadcrumb">'. implode(' › ', $breadcrumb) .'</div>';
}

helyett

if (count($breadcrumb) > 1) {
  return '<div class="breadcrumb">'. implode(' › ', $breadcrumb) .'</div>';
} else {
  return '';
}

és akkor a Címlap, mint egyedülálló hivatkozás nem jelenik meg. Ha már más is játszik, akkor viszont igen. Ez is persze csak akkor működik, ha az alapértelmezés szerinti morzsa van érvényben, és attól szép a Drupal, hogy igen sok modul kavarhat be a morzsakezelésbe is, és akkor már ez az eltüntetés is lehet rossz.

0
0
Aspi képe

Hmm, ez egész finom megoldás el kell ismerni, bár az is igaz ehhez már programozónak kell lenni.
Van aki programozónak születik és van aki nem:))) count() meg feltétel:))) Húúu ez bonyolult:)))

Amit felvetettél elég komolyan elgondolkoztatott.
"...attól szép a Drupal, hogy igen sok modul kavarhat be a morzsakezelésbe is, és akkor már ez az eltüntetés is lehet rossz."

Azt sajna nem tudom teljes körűen, hogy melyik modul és hogyan kavar be a morzsába. Szerintem mindig lesz egy újabb, amiről még nem tudok.;)
Például, pont emiatt nem hagynám ki az empty()-t, ha már count()-tal adom meg a feltételt. Inkább beágyaznák mégegy if-et az empty() ellenőrzés alá és azután értékelném ki a $breadcrumb változót a count()-tal.
Így már csak nem kavar be, nem? Így a címlap link nem jelenik meg csak, ha már túllépet a count az 1-es értéken és mégis ellenőrizve van a változó is.

Ja és egyébként ráértettem az elején is mire akarod használni a count()-ot;)

0
0
Nagy Gusztáv képe

Senki nem születik programozónak. A tehetség és az a néhány (tíz)ezer tanulással töltött óra tehet azzá :-)

0
0

Nagy Gusztáv

Aspi képe

OKé!:D

Na és a tehetség vele születik?
Tehetség nélkül néhány (tíz)ezer óra sem segít;) Na jó, kicsit javít a helyzeten:)

0
0
pp képe

Tehetség előny. Ha gyaloglásról lenne szó, akkor úgy kéne elképzelni, hogy kapott az illető pár méter/kilométer előnyt. Ha valakinek nincs tehetsége, de minden nap gyalogol akkor eljuthat ugyan oda mint a másik, csak nem olyan rövid idő alatt. Ellenben, ha a valakinek van tehetsége és nem gyalogol akkor nem jut el sehova se, hiába van tehetsége.

A tehetség egy állapot aminek lehet örülni, ha van és élni vele, de semmi több.

Programot írni bárki meg tud tanulni. Jó programot írni igényesség kérdése nem tehetségé. Tökéletes programot meg nem lehet írni.

pp

0
0
Aspi képe

Kiszámoltam 10'000 óra 40 órás munkahéttel számítva megközelítőleg 4,8 év.
Ha valaki ennyit képes seggelni, az már amúgy is megszállott.
Megszállotnak születni kell!
Hogy valaki ilyen infravénás legyen mint én, már születési hiba kell:)))

Jó legközelebb ezt írom: "születni kell" OKés?

0
0