Fork me on GitHub






Menu Personnaliser
Newbie
Inscrit: 04/12/2005 10:49
De Algèrie
Messages: 7
Bonjour,

J'ai essayer de travaillé avec multimenu 1.7, mais j'ai rien compris sur le fonctionnement car la version française ne marche pas, alors j'ai choisie d'introduire un menu personnaliser que j'ai trouver sur le net, il est sous forma HTML, qui les relie deux fichier 'Css' et 'Js' avec des images, c'est super bien, malheureusement le code marche bien quand le visualise mais impossible de l'afficher sur la page de garde.

je vous donne le scripte.

1- Créer un fichier comme suite : "Dtree.css"
____________________________________________________________

/*--------------------------------------------------|
| dTree 2.05 | www.destroydrop.com/javascript/tree/ |
|---------------------------------------------------|
| Copyright (c) 2002-2003 Geir Landrö |
|--------------------------------------------------*/

.dtree {
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #666;
white-space: nowrap;
}
.dtree img {
border: 0px;
vertical-align: middle;
}
.dtree a {
color: #333;
text-decoration: none;
}
.dtree a.node, .dtree a.nodeSel {
white-space: nowrap;
padding: 1px 2px 1px 2px;
}
.dtree a.node:hover, .dtree a.nodeSel:hover {
color: #333;
text-decoration: underline;
}
.dtree a.nodeSel {
background-color: #c0d2ec;
}
.dtree .clip {
overflow: hidden;
}
__________________________________________



2- Créer un fichier comme suite : "Dtree.js"
______________________________________________
/*--------------------------------------------------|

| dTree 2.05 | www.destroydrop.com/javascript/tree/ |

|---------------------------------------------------|

| Copyright (c) 2002-2003 Geir Landrö |

| |

| This script can be used freely as long as all |

| copyright messages are intact. |

| |

| Updated: 17.04.2003 |

|--------------------------------------------------*/



// Node object

function Node(id, pid, name, url, title, target, icon, iconOpen, open) {

this.id = id;

this.pid = pid;

this.name = name;

this.url = url;

this.title = title;

this.target = target;

this.icon = icon;

this.iconOpen = iconOpen;

this._io = open || false;

this._is = false;

this._ls = false;

this._hc = false;

this._ai = 0;

this._p;

};



// Tree object

function dTree(objName) {

this.config = {

target : null,

folderLinks : true,

useSelection : true,

useCookies : true,

useLines : true,

useIcons : true,

useStatusText : false,

closeSameLevel : false,

inOrder : false

}

this.icon = {

root : 'img/base.gif',

folder : 'img/folder.gif',

folderOpen : 'img/folderopen.gif',

node : 'img/page.gif',

empty : 'img/empty.gif',

line : 'img/line.gif',

join : 'img/join.gif',

joinBottom : 'img/joinbottom.gif',

plus : 'img/plus.gif',

plusBottom : 'img/plusbottom.gif',

minus : 'img/minus.gif',

minusBottom : 'img/minusbottom.gif',

nlPlus : 'img/nolines_plus.gif',

nlMinus : 'img/nolines_minus.gif'

};

this.obj = objName;

this.aNodes = [];

this.aIndent = [];

this.root = new Node(-1);

this.selectedNode = null;

this.selectedFound = false;

this.completed = false;

};



// Adds a new node to the node array

dTree.prototype.add = function(id, pid, name, url, title, target, icon, iconOpen, open) {

this.aNodes[this.aNodes.length] = new Node(id, pid, name, url, title, target, icon, iconOpen, open);

};



// Open/close all nodes

dTree.prototype.openAll = function() {

this.oAll(true);

};

dTree.prototype.closeAll = function() {

this.oAll(false);

};



// Outputs the tree to the page

dTree.prototype.toString = function() {

var str = '<div class="dtree">\n';

if (document.getElementById) {

if (this.config.useCookies) this.selectedNode = this.getSelected();

str += this.addNode(this.root);

} else str += 'Browser not supported.';

str += '</div>';

if (!this.selectedFound) this.selectedNode = null;

this.completed = true;

return str;

};



// Creates the tree structure

dTree.prototype.addNode = function(pNode) {

var str = '';

var n=0;

if (this.config.inOrder) n = pNode._ai;

for (n; n<this.aNodes.length; n++) {

if (this.aNodes[n].pid == pNode.id) {

var cn = this.aNodes[n];

cn._p = pNode;

cn._ai = n;

this.setCS(cn);

if (!cn.target && this.config.target) cn.target = this.config.target;

if (cn._hc && !cn._io && this.config.useCookies) cn._io = this.isOpen(cn.id);

if (!this.config.folderLinks && cn._hc) cn.url = null;

if (this.config.useSelection && cn.id == this.selectedNode && !this.selectedFound) {

cn._is = true;

this.selectedNode = n;

this.selectedFound = true;

}

str += this.node(cn, n);

if (cn._ls) break;

}

}

return str;

};



// Creates the node icon, url and text

dTree.prototype.node = function(node, nodeId) {

var str = '<div class="dTreeNode">' + this.indent(node, nodeId);

if (this.config.useIcons) {

if (!node.icon) node.icon = (this.root.id == node.pid) ? this.icon.root : ((node._hc) ? this.icon.folder : this.icon.node);

if (!node.iconOpen) node.iconOpen = (node._hc) ? this.icon.folderOpen : this.icon.node;

if (this.root.id == node.pid) {

node.icon = this.icon.root;

node.iconOpen = this.icon.root;

}

str += '<img id="i' + this.obj + nodeId + '" src="' + ((node._io) ? node.iconOpen : node.icon) + '" alt="" />';

}

if (node.url) {

str += '<a id="s' + this.obj + nodeId + '" class="' + ((this.config.useSelection) ? ((node._is ? 'nodeSel' : 'node')) : 'node') + '" href="' + node.url + '"';

if (node.title) str += ' title="' + node.title + '"';

if (node.target) str += ' target="' + node.target + '"';

if (this.config.useStatusText) str += ' onmouseover="window.status=\'' + node.name + '\';return true;" onmouseout="window.status=\'\';return true;" ';

if (this.config.useSelection && ((node._hc && this.config.folderLinks) || !node._hc))

str += ' onclick="javascript: ' + this.obj + '.s(' + nodeId + ');"';

str += '>';

}

else if ((!this.config.folderLinks || !node.url) && node._hc && node.pid != this.root.id)

str += '<a href="javascript: ' + this.obj + '.o(' + nodeId + ');" class="node">';

str += node.name;

if (node.url || ((!this.config.folderLinks || !node.url) && node._hc)) str += '</a>';

str += '</div>';

if (node._hc) {

str += '<div id="d' + this.obj + nodeId + '" class="clip" style="display:' + ((this.root.id == node.pid || node._io) ? 'block' : 'none') + ';">';

str += this.addNode(node);

str += '</div>';

}

this.aIndent.pop();

return str;

};



// Adds the empty and line icons

dTree.prototype.indent = function(node, nodeId) {

var str = '';

if (this.root.id != node.pid) {

for (var n=0; n<this.aIndent.length; n++)

str += '<img src="' + ( (this.aIndent[n] == 1 && this.config.useLines) ? this.icon.line : this.icon.empty ) + '" alt="" />';

(node._ls) ? this.aIndent.push(0) : this.aIndent.push(1);

if (node._hc) {

str += '<a href="javascript: ' + this.obj + '.o(' + nodeId + ');"><img id="j' + this.obj + nodeId + '" src="';

if (!this.config.useLines) str += (node._io) ? this.icon.nlMinus : this.icon.nlPlus;

else str += ( (node._io) ? ((node._ls && this.config.useLines) ? this.icon.minusBottom : this.icon.minus) : ((node._ls && this.config.useLines) ? this.icon.plusBottom : this.icon.plus ) );

str += '" alt="" /></a>';

} else str += '<img src="' + ( (this.config.useLines) ? ((node._ls) ? this.icon.joinBottom : this.icon.join ) : this.icon.empty) + '" alt="" />';

}

return str;

};



// Checks if a node has any children and if it is the last sibling

dTree.prototype.setCS = function(node) {

var lastId;

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n].pid == node.id) node._hc = true;

if (this.aNodes[n].pid == node.pid) lastId = this.aNodes[n].id;

}

if (lastId==node.id) node._ls = true;

};



// Returns the selected node

dTree.prototype.getSelected = function() {

var sn = this.getCookie('cs' + this.obj);

return (sn) ? sn : null;

};



// Highlights the selected node

dTree.prototype.s = function(id) {

if (!this.config.useSelection) return;

var cn = this.aNodes[id];

if (cn._hc && !this.config.folderLinks) return;

if (this.selectedNode != id) {

if (this.selectedNode || this.selectedNode==0) {

eOld = document.getElementById("s" + this.obj + this.selectedNode);

eOld.className = "node";

}

eNew = document.getElementById("s" + this.obj + id);

eNew.className = "nodeSel";

this.selectedNode = id;

if (this.config.useCookies) this.setCookie('cs' + this.obj, cn.id);

}

};



// Toggle Open or close

dTree.prototype.o = function(id) {

var cn = this.aNodes[id];

this.nodeStatus(!cn._io, id, cn._ls);

cn._io = !cn._io;

if (this.config.closeSameLevel) this.closeLevel(cn);

if (this.config.useCookies) this.updateCookie();

};



// Open or close all nodes

dTree.prototype.oAll = function(status) {

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n]._hc && this.aNodes[n].pid != this.root.id) {

this.nodeStatus(status, n, this.aNodes[n]._ls)

this.aNodes[n]._io = status;

}

}

if (this.config.useCookies) this.updateCookie();

};



// Opens the tree to a specific node

dTree.prototype.openTo = function(nId, bSelect, bFirst) {

if (!bFirst) {

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n].id == nId) {

nId=n;

break;

}

}

}

var cn=this.aNodes[nId];

if (cn.pid==this.root.id || !cn._p) return;

cn._io = true;

cn._is = bSelect;

if (this.completed && cn._hc) this.nodeStatus(true, cn._ai, cn._ls);

if (this.completed && bSelect) this.s(cn._ai);

else if (bSelect) this._sn=cn._ai;

this.openTo(cn._p._ai, false, true);

};



// Closes all nodes on the same level as certain node

dTree.prototype.closeLevel = function(node) {

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n].pid == node.pid && this.aNodes[n].id != node.id && this.aNodes[n]._hc) {

this.nodeStatus(false, n, this.aNodes[n]._ls);

this.aNodes[n]._io = false;

this.closeAllChildren(this.aNodes[n]);

}

}

}



// Closes all children of a node

dTree.prototype.closeAllChildren = function(node) {

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n].pid == node.id && this.aNodes[n]._hc) {

if (this.aNodes[n]._io) this.nodeStatus(false, n, this.aNodes[n]._ls);

this.aNodes[n]._io = false;

this.closeAllChildren(this.aNodes[n]);

}

}

}



// Change the status of a node(open or closed)

dTree.prototype.nodeStatus = function(status, id, bottom) {

eDiv = document.getElementById('d' + this.obj + id);

eJoin = document.getElementById('j' + this.obj + id);

if (this.config.useIcons) {

eIcon = document.getElementById('i' + this.obj + id);

eIcon.src = (status) ? this.aNodes[id].iconOpen : this.aNodes[id].icon;

}

eJoin.src = (this.config.useLines)?

((status)?((bottom)?this.icon.minusBottom:this.icon.minus):((bottom)?this.icon.plusBottom:this.icon.plus)):

((status)?this.icon.nlMinus:this.icon.nlPlus);

eDiv.style.display = (status) ? 'block': 'none';

};





// [Cookie] Clears a cookie

dTree.prototype.clearCookie = function() {

var now = new Date();

var yesterday = new Date(now.getTime() - 1000 * 60 * 60 * 24);

this.setCookie('co'+this.obj, 'cookieValue', yesterday);

this.setCookie('cs'+this.obj, 'cookieValue', yesterday);

};



// [Cookie] Sets value in a cookie

dTree.prototype.setCookie = function(cookieName, cookieValue, expires, path, domain, secure) {

document.cookie =

escape(cookieName) + '=' + escape(cookieValue)

+ (expires ? '; expires=' + expires.toGMTString() : '')

+ (path ? '; path=' + path : '')

+ (domain ? '; domain=' + domain : '')

+ (secure ? '; secure' : '');

};



// [Cookie] Gets a value from a cookie

dTree.prototype.getCookie = function(cookieName) {

var cookieValue = '';

var posName = document.cookie.indexOf(escape(cookieName) + '=');

if (posName != -1) {

var posValue = posName + (escape(cookieName) + '=').length;

var endPos = document.cookie.indexOf(';', posValue);

if (endPos != -1) cookieValue = unescape(document.cookie.substring(posValue, endPos));

else cookieValue = unescape(document.cookie.substring(posValue));

}

return (cookieValue);

};



// [Cookie] Returns ids of open nodes as a string

dTree.prototype.updateCookie = function() {

var str = '';

for (var n=0; n<this.aNodes.length; n++) {

if (this.aNodes[n]._io && this.aNodes[n].pid != this.root.id) {

if (str) str += '.';

str += this.aNodes[n].id;

}

}

this.setCookie('co' + this.obj, str);

};



// [Cookie] Checks if a node id is in a cookie

dTree.prototype.isOpen = function(id) {

var aOpen = this.getCookie('co' + this.obj).split('.');

for (var n=0; n<aOpen.length; n++)

if (aOpen[n] == id) return true;

return false;

};



// If Push and pop is not implemented by the browser

if (!Array.prototype.push) {

Array.prototype.push = function array_push() {

for(var i=0;i<arguments.length;i++)

this[this.length]=arguments[i];

return this.length;

}

};

if (!Array.prototype.pop) {

Array.prototype.pop = function array_pop() {

lastElement = this[this.length-1];

this.length = Math.max(this.length-1,0);

return lastElement;

}

};
______________________________________________________


3- La page Html est comme suite "Menu.html"
____________________________________________________
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>

<head>
<title>Destroydrop » Javascripts » Tree</title>

<link rel="StyleSheet" href="dtree.css" type="text/css" />


<script type="text/javascript" src="dtree.js"></script>

</head>

<body>


<div class="dtree">

<script type="text/javascript">
<!--

d = new dTree('d');

d.add(0,-1,'Poste de travail');
d.add(1,0,'Livres','');
d.add(2,0,'Revues','');
d.add(3,1,'BOUDIAF');
d.add(4,0,'Congrès','');
d.add(5,3,'Presses');
d.add(6,0,'Divers documents');
d.add(7,0,'Frantz FANON');
d.add(8,3,'Résumé','../Livres/PageMilieux_complet.htm','Résumé du livre \(La Dynamique \: BOUDIAF\, La Mécanique \: BOUMAARAFI\, L\'Analyse Psychiatrique \: B\. RIDOUH\)','news_iframe','img/annonces.png');
d.add(9,0,'Mes photos','','','','','img/imgfolder.gif');
d.add(10,9,'Setif le 27/02/2005','../Photos/Setif_27 février_05/Setif_27 février_05_Loading.htm','','news_iframe','img/pic.gif');
d.add(11,9,'Blida le 25/05/2005','');
d.add(12,0,'Aides','../Erreur.htm','','news_iframe','img/atb_help.gif');
d.add(13,5,'Le Complot','../Livres/Doc_PDF/Doc_01.htm','LE GRAIN DE SABLE DU COMPLOT \( La corruption\)','news_iframe');
d.add(14,5,'Mme BOUDIAF','../Livres/Doc_PDF/Doc_02.htm','Épouse de l\'ancien Président','news_iframe');
d.add(15,5,'Le Fils','../Livres/Doc_PDF/Doc_03.htm','Fils du défunt Président \(Réfutant la thèse de l\’acte isolé pour privilégier celle du complot\)','news_iframe');
d.add(16,5,'Ami','../Livres/Doc_PDF/Doc_04.htm','Beau frère de défunt Président BOUDIAF et son conseiller','news_iframe');
d.add(17,5,'Publique','../Livres/Doc_PDF/Doc_05.htm','Opinion publique sur l\’assassinat du Président BOUDIAF \(Par le sous\-Lieutenant BOUMAARAFI\)','news_iframe');
d.add(18,5,'Le Rapport','../Livres/Doc_PDF/Doc_06.htm','Rapport de la commission BOUCHAIB\, chargée d\’enquêter sur l\’assassinat du président Med BOUDIAF \(Après l\’Espoir le Désespoir\)','news_iframe');
d.add(19,5,'Le Verdict','../Livres/Doc_PDF/Doc_07.htm','Verdict de la Justice \(Il n\’y a pas de complot\, il a agi seul\)','news_iframe');
d.add(20,2,'Toxicomanie','');
d.add(21,2,'Psychiatrie','');
d.add(22,20,'Revue N° 01','../Revues/Rev_01/Rev_01.htm','','news_iframe');
d.add(23,20,'Revue N° 02','../Revues/Rev_02/Rev_02.htm','','news_iframe');
d.add(24,20,'Revue N° 03','../Revues/Rev_03/Rev_03.htm','','news_iframe');
d.add(25,20,'Revue N° 04','../Revues/Rev_04/Rev_04.htm','','news_iframe');
d.add(26,21,'Revue N° 01','../Revues/PsyRev_01/Rev_01.htm','','news_iframe');
d.add(27,4,'06/12/1997');
d.add(28,4,'21/10/1999','../Congres/21_10_1999/21_10_1999.htm','','news_iframe');
d.add(29,4,'19/10/2000','../Congres/19_10_2000/19_10_2000.htm','','news_iframe');
d.add(30,4,'23/04/2003','../Congres/23_04_2003/23_04_2003.htm','','news_iframe');
d.add(31,4,'25/05/2005','../Congres/25_05_2005/25_05_2005.htm','','news_iframe');
d.add(32,6,'Texte 001','../docdiv/0001.htm','Approche épidémiologique Psychiatrique de la criminalité algérienne à travers une tranche d\'expertises médico\-Légale de 1963 à 1968','news_iframe');
d.add(33,7,'Biographie','../Fanon/Bio/bio.htm','Biographie du Docteur Frantz FANON','news_iframe');
d.add(34,7,'Ouvrages','../Fanon/Bio/Ouvrages.htm','Quelques ouvrages du Docteur Frantz FANON','news_iframe');

document.write(d);

//-->
</script>

</div>
</body>

</html>
_________________________________________________

J'ai essayer de l'introduire mais sans résultats.

Mercie de m'aide.

Cordialement.

mcharmat

Posté le : 28/01/2006 14:43
Partager Twitter Partagez cette article sur GG+
Re: Menu Personnaliser
Admin Frxoops
Inscrit: 04/02/2003 07:37
De Belgique
Messages: 3372
Citation :

mcharmat a écrit:
Bonjour,

J'ai essayer de travaillé avec multimenu 1.7, mais j'ai rien compris sur le fonctionnement car la version française ne marche pas, [...]


Et tu pourrais me préciser ce qui ne fonctionne pas ?


Posté le : 28/01/2006 15:31
Partager Twitter Partagez cette article sur GG+
Re: Menu Personnaliser
Newbie
Inscrit: 04/12/2005 10:49
De Algèrie
Messages: 7
Salut,

Le problème, est que je veut faire un Menu de mon site, avec un Menu_Sous-Menu_ Sous-Sous-Menu ect.....
Avec MultiMenu 1.7, j'ai pas compris comment suivre l'arborissance, mais je connait le Menu que je vous est donner sur le Forum.

J'ai essayer pas mal de menu, ça marche très bien, mais ce n'est pas comme celui-là, essayer le et vous verrais :)

Mercie de me répondre.

Posté le : 28/01/2006 15:55
Partager Twitter Partagez cette article sur GG+
Re: Menu Personnaliser
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Salut,

Regardes ici si tu ne trouves pas ton bonheur

A +

Posté le : 28/01/2006 16:57

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: Menu Personnaliser
Newbie
Inscrit: 04/12/2005 10:49
De Algèrie
Messages: 7
Bonjour,

je vous remercie de m'avoir répondu, mais malheureusement j'ai pas réussie a trouver mon bonheur :), je voudrais mon menu personnel si vous pouvais m'aider.

Mercie.

Posté le : 29/01/2006 09:22
Partager Twitter Partagez cette article sur GG+
Re: Menu Personnaliser
Newbie
Inscrit: 04/12/2005 10:49
De Algèrie
Messages: 7
Bonjour,

Hier j'ai trouver un module qui regroupe ce que je recherche c'est "treemenuxl", je l'est instalé sur mon site, il fonctionne très bien seulement, dans le menu on trouve "un Menu" et son "sous Menu", c'est tous, celui que j'ai je peut avoir même des "sous sous Menu" et aussi des images personnaliser même sour la racine de Menu (On est pas obliger d'avoir l'image du répertoire), je ne sais pas si vous m'avais suivie ou pas ?

j'attend votre réponce Mercie.

Posté le : 30/01/2006 08:15
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant




Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

74 Personne(s) en ligne (64 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 74 | Plus ...