Vándorló elsődleges menüpontok

Balogh Zoltán képe

Drupal Commons segítségével készült webhelyemen a következő problémába futottam. A Commons elsődleges menüje 4 elemből áll, Home, Dashboard, Community és My Stuff, ebből ez utóbbi kettő nyitott és vannak is almenüpontjai. Áthelyeztem még fő menüpontnak a Tartalom beküldés és Hírolvasó menüpontokat, ezek is lenyílnak, eddig semmi gond. A következő lépés, hogy a My Stuff alá kézzel felveszek egy menüpontot, vagy akár a navigációs menüből áthelyezek ide egyet az is rendben megjelenik úgy, ahogy a nagykönyvben meg van írva. Azonban ez az állapot csak az első gyorstár ürítésig marad így. Ekkor ezek a My Stuff alá felvett vagy ide áthelyezett menüpontok elvándorolnak a Dashboard alá, ami viszont nem nyitott, így látszólag eltűnnek. Vissza lehet cincálni a menüpontokat az elsődleges menü szerkesztésével, vagy akár a menüpontok egyenkénti szerkesztésével (szülő megadása). Megint megjavul, az első gyorstár ürítésig, amikor is konzekvensen visszarakja ezeket a menüpontokat a Dashboard alá. A Commons sajátjai viszont ottmaradnak. Sajnos rengeteg modul játszik a Commons-ban, ezen kívül fut még APC, Memcache, Boost, stb. szóval nagyon tanácstalan vagyok. Ötlete van valakinek, hogy mi okozhatja a menüpontok vándorlását?

Balogh Zoltán képe

Az kiderült, hogy a Commons a gyorstár űrítéskor szinte a nulláról újraépíti az elsődleges menüt (delete, insert, új mlid), tehát a saját menüpontjaival bármit csináltál, az elveszik. Biztos jó oka van rá, én nem értem miért, de ez nem is fontos. Azt csináltam, hogy lemásoltam a kérdéses My Stuff főmenüpontot egy saját főmenüpontba, és azt kialakítottam úgy, ahogy nekem tetszik. Majd egy kis modulban:

<?php
function isaszeg_info_init() {
  db_query("UPDATE {menu_links} SET hidden = 1 WHERE menu_name = 'primary-links' AND module = 'commons' AND link_path = 'user' AND plid = '0'");
}

Azért ennek nem kicsit van gányolás szaga, bár működik. Hogyan lehetne megoldani drupalisabban azt, hogy bármikor törlődik a menü gyorstár, utána ez a query mindenképpen fusson le, és tüntesse el azt a menüpontot onnan.

0
0