Van egy menü blokkom (a Menu Block modul készíti a Primary menüből egyébként, de ez talán mindegy is), tele menüpontokkal.
Szeretnék egy menüpontot kitörölni ebből a blokkból.
Szóval maradjon elérhető a linkje, csak a blokkban ne látsszon, ennyit szeretnék.
Hogyan lehetne elkapni a primary menü tömbjét?
Előre is köszi.
Drupal verzió:
Fórum:
Adminként
Töröld ki a menüpontot a menüből és nem lesz menüpont. :)
Üdv. Peti
A menüpont egy nodera mutat,
A menüpont egy nodera mutat, attól mert kitörlöd a menüpontot a node még megmarad. Tehát nem kell semmilyen tömbbe turkálni :)
Ez nem jó nekem, mert közben
Ez nem jó nekem, mert közben a primary menüben bent kell lennie, több okból is (active-trail stb.)
Szóval én azt szeretném, hogy csak egy bizonyos blokkban ne jelenjen meg.
Védd az állatokat! ;)
A primaryban hagyd meg
A bizonyos blokkból meg vedd ki:)
Szeretem a drupált, mert ilyen egyszerű:)
Üdv. Peti
Sajna eme bizonyos blokk
Sajna eme bizonyos blokk automaikusan készül a Menu Block modul által a primary menüből, de ezt már az elején írtam...
Szóval a kérdés még mindig adott :)
Védd az állatokat! ;)
Akkor css :)
#blokkneve #menüpont egyedi azonosítója {
visibility:hidden;
display:none
}
egyedi azonosítót, vagy a smink tudja, vagy van rá modul, én a dhtml menüt szoktam ilyen esetben felrakni, ha a sminked nem tudja, mert az minden menüpontnak ad egy id-t.
Biztos lehet írni a template.php-ban is erre egy szkriptet, de a css is megfelelő erre.
Azért ez sem tökéletes, de
Azért ez sem tökéletes, de köszi!
Mert pl. nekem pont az utolsó menüpontot kellene kivennem, amin viszont rajta van a .last stílus is...
Úgy érzem, hogy ezt a dolgot meg lehet oldani a template.php-ban, vagy egy modulban, de egyszerűen nem találtam semmit erről.
Védd az állatokat! ;)
ezzel belepiszkalhatsz a menu treebe,
http://api.drupal.org/api/drupal/includes--menu.inc/function/theme_menu_...
de lehet erdemesebb atgondolni miert is kell ez neked es tenyleg kell e, az ilyen kitekert megoldasok kenyszeret altalaban rossz oldalfelepites eredmenyezi.
-
clear: both;
Köszi a tippet,
Köszi a tippet, kipróbálom.
Igazából nem rossz az oldalfelépítés. Minden klasszul működik, minden "automatikus" dolog a helyén van. Csak ez az a szitu, ami szerintem bármikor előfordulhat: amikor a kedves megrendelő szeretne egy kivételt, ami nem illeszkedik a logikus dolgok közé.
Talán le is lehetne róla beszélni, de a megoldás nagyobb kihívás, nem? ;)
Védd az állatokat! ;)
hat, megkozelites kerdese
szerintem lebeszelni nagyobb kihivas es siker, felteve, hogy tenyleg logikatlan amit akar :)
-
clear: both;
És azzal mi a baj? Akkor írd
És azzal mi a baj?
Akkor írd arra a css-t
#blokkneve li.last {
kód...
grafikatol fugg,
de siman eloallhat olyan helyzet, hogy a li.last -ra szukseged van. eltunteted az utolso elemet, akkor nem lesz li.last a listaban ami mondjuk lezar egy sliding door effektet vagy ilyesmi.
-
clear: both;
igaz...
Erre valóak a különféle modulok pl:
http://drupal.org/project/menu_attributes
Adsz neki egy classt. vagy id-t és már el is lehet tüntetni. persz kell elé a blokk neve, mert ha nem írod oda akkor a főmenüből is eltűnik, így meg csak abból a blokkból.
Kb ezt az apróságot 2-3 perc alatt meg lehet oldani css-el, nem kell erre semmi php kód. Főlleg ha csak egy menüről van szó. Ha jogosultságokhoz kell kötni, akkor persze más a szitu :)
Én CSS-el oldanám meg!!!
Jó munkát!
menu_attributes szerintem tipikusan a szuperfelesleges modul
megjelenitesnek a megjelenitesben a helye. a menu_attributes csak pup a hatamon, plusz egy kacat amit karban kell tartanom, lyukas lehet vagy bugos vagy updateje van vagy hatraltat az updateben. cserebe adhatok a primary linksben a cegunkrol menupontnak cegunkrol idt. vao. :) semmi okom ra hogy hasznaljam, tokeletesen megfelel a #primary #mlid-42 vagy a #primary #item-4.
a displaynonennal meg az itt a baj, persze ha ilyen eset all fenn, hogy mondjuk minden .item-list .last -nak aranyos kis vakond kell legyen az ikonja, de a displaynoneoddal ebbol az item listbol szepen eltuntetted a .last az elotte levonek meg nincs .lastja, mer nem az a last ugye hanem amit eltuntettel displaynonennal okosan.
inkabb az a kerdes, mifele logikai elrendezes az, ahol nem eleg, hogy egy az egybe megkettozunk egy menut (minek?) hanem plusz _egy darab_ az az egyikbe ne legyen :) mi emogott az inditek?
-
clear: both;
Ezért szeretem a drupalt :)
Mindig minden meg lehet cáfolni, vagy jobban megoldani, de több megoldás is létezik. Mint írtam, az attribute csak akkor kell ha nincs egyedi id-ja a menüpontnak.
A megoldás mindig függ az esettől. Ha Az utolsó li tagot kell használjam vmi más miatt, akkor persze nem az a jó megoldás. Készísen másik menüt, ugyan azokkal a menüpontokkal.
Kérdés az: mit ér meg egy ilyen értelmetlen dolog: 3 percet vagy 1 nap utánajárást és gondolkodást...
Sokszor a 3 perc győz, mert ha minden ilyen kis aprósággal eltölt az ember egy napot, akkor bezárhatom a céget :)
Nem minden esetben szép a 3 perces megoldás, de nem mindig teheti meg az ember hogy több időt szenteljen erre mint egy másik fontosabb projectre.... hisz ha belegondolunk ez az ügyfélnek egy apró megjegyzése lett, nem pedig egy project módosító, új megrendelést igénylő feladat... De ha ezen sokat keresel, akkor megértem a fáradozás. Ha van időd ilyen dolgokra, akkor irigyellek :)
ertem en, nincs vita benne
megprobalom lebeszelni. gyakran sikerul lebeszelni a tenyleg bolondsagrol. lehet harom perc se. ;) ha megse sikerul akkor meg menu attributes vagy display none vagy ezer mas ut, egyetertunk. nem szeretek logikatlan dolgokat csinalni, inkabb megprobalom lebeszelni. vagy az elejetol iranyitani, az megjobb, persze ha sikerul. nem mindig sikerul persze. ertem amit mondasz.
-
clear: both;
Fog változni?
Fog változni az adott oldal menüje? Vagy több oldalt is érint?
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
drupal_alter
Szia,
Csak egy tip. Nem néztem után, de lehet ad egy kis kiinduló alapot, ha a probléma még él.
A menu_block modul hook_block_view -ban van
drupal_alter('menu_block_tree', $tree, $config);
Így akár saját modulból is tudsz a elemeket hozzáadni vagy kivenni.