Menü utólagos módosítása

szt képe

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ó: 
Petik képe

Töröld ki a menüpontot a menüből és nem lesz menüpont. :)

0
0

Üdv. Peti

leonidasz képe

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 :)

0
0
szt képe

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.

0
0
Petik képe

A bizonyos blokkból meg vedd ki:)
Szeretem a drupált, mert ilyen egyszerű:)

0
0

Üdv. Peti

szt képe

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 :)

0
0
leonidasz képe

#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.

0
0
szt képe

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.

0
0
aboros képe

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.

0
0

-
clear: both;

szt képe

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? ;)

0
0
aboros képe

szerintem lebeszelni nagyobb kihivas es siker, felteve, hogy tenyleg logikatlan amit akar :)

0
0

-
clear: both;

leonidasz képe

És azzal mi a baj?
Akkor írd arra a css-t
#blokkneve li.last {
kód...

0
0
aboros képe

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.

0
0

-
clear: both;

leonidasz képe

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!

0
0
aboros képe

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?

0
0

-
clear: both;

leonidasz képe

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 :)

0
0
aboros képe

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.

0
0

-
clear: both;

Paal képe

Fog változni az adott oldal menüje? Vagy több oldalt is érint?

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

hairQles képe

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.

0
0