23. januar 2003 - 10:09Der er
5 kommentarer og 1 løsning
Tips til Zience CMS dynamisk menu
Hej eksperter
Jeg har brug for råd eller tip til at finde en kilde til løsning af nedenstående problem.
Jeg er ved at udvikle et CMS site med brug af Zience 1.0 (Freeware CMS der har været omtalt i dette panel, og som er udviklet i ASP.) Mit site skal fungere med en webdel, en lukket del der kræver log in (ekstranet) og en administrationsdel.
Hvis man ellers indtaster den rigtige URL, skal alle kunne se webdelenen, med f.eks 7 overmenupunkter (Zience 1.0 menu'en) og dertil et vist antal submenuer til overmenupunkterne.
Det skal nu være muligt at logge ind på ekstranettet, der overordnet har de samme overmenupunkter, men her skal være flere punkter i submenuerne (Punkter ud over dem der er i forvejen).
Hvordan er det lige at man får en differentieret undermenustrukturer som denne?? Jeg er kørt fast i at se en løsning inden for ovenstående rammer. Så jeg bliver glad hvis en af jer kan henvise til en løsning på problemet. Alternativt hører jeg gerne om andre systemer der kan håndtere ovenstående.
Her selvfølgelig søgt på Nettet.
Og løsninger som flere menustrukturer tror jeg heller ikke dur, da det selvfølgelig skal være let for brugeren at opdatere og rette i menuen.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg har mit eget CMS med en 5 niveaus adgangskontrol både til menuer og sider, hvor menudelen er baseret på javascript fra DHTMLCENTAL.COM dog med egen asp opdatering af menuer.
Ded er dog ikke noget jeg slipper løs på nettet, da jeg har brug mange timer på det.
Henrik
Et tip: menuen skal genereres fra en DB, hvor det enkelte menupunkt har sit adgangsniveau. Kun de menupunkter, som er lig med eller under niveauet læses ind i arrayen, der føder menuen på skærmen.
Nix grav lidt i hans exempler. Der er et, som læser det fra en database og skriver det til en fast .js.
Jeg har raffineret det lidt og skriver det ind fra en asp. Jeg holder så menu(erne) i en række application variabler for at lette indlæsningen. Du kan arbejde lidt med denne snippet:
<script> ... sædvanlig dhtml stuff .. ... her kommer the tricky part <% /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ASP CODE START - READING ITEMS FROM THE DATABASE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ function readItemsFromDatabase(){ //The path to your database: //var db ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("menu.mdb") var db = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" + Request.ServerVariables("APPL_PHYSICAL_PATH") + "../db/menu.mdb;User Id =Admin;Password=;"; //var db ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("menu.mdb") var q = "SELECT menuID,mName,mLink,parent from tblMenu WHERE userlevel<=" + Session('userlevel') + " ORDER BY parent,menuID ASC"
var rs=Server.CreateObject("ADODB.Recordset") rs.CacheSize = 25; // Cache data fetching rs.CursorType = 3 rs.LockType = 3
//Opening database --- -- rs.Open(q,db)
//Now using getRows because that's so sexy :} if(!rs.EOF){ var rsarr = rs.GetRows(); rsarr = rsarr.toArray(); var cols= rs.Fields.Count //Setting how much to add to row each for }else var rsarr=new Array()
//Closing database, we don't need it anymore - we have the info in the array rs.close() rs = null
Takker - Held og lykke med det. Det er ikke så svært, når man først kommer i gang med at tænke over det.
Det var ikke så meget for point, men jeg var bare lige ved at rydde op i hængepartier her på siden. Henrik
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.