Alors voila je sais pas ce qu'il m'a prit de vouloir faire ca mais je me dit que ce n'est pas une si mauvaise chose en soit...

J ai donc voulu faire une classe menu en m aidant de la classe DOM afin de creer un document en xml puis de le transformer en html pour avoir un menu style arborescence...
J ai donc commencer et là je bloque complet je vois très bien ce qu'il faut faire mais je sais pas comment il faut le faire...
Je m'explique:
Le constructeur permet de creer le fichier xml qui contiendra le tout.
DefineFather permet de definir les choix disponible du genre:
-choix 1
-choix 2
-choix 3
DefineSon devrait permettre d ajouter un fils a un pere et donc on obtiendrais en ajoutant un fils a choix 1 ceci:
+choix 1
-choix 1.1
-choix 2
-choix 3
Evidement on aimerait pouvoir ajouter des fils a un fils
Il faut donc garder de quel pere le fils est issu et donc avoir une structure comme suit:
----------------------------
| objet DOMDocument |
----------------------------
| objet menu |
----------------------------
| --------------- |
| | Père1 | |
| --------------- |
| | Fils1 | |
| --------------- |
| | ... | |
| --------------- |
| | | |
| --------------- |
| | | |
| -------------- |
----------------------------
| Père 2 |
----------------------------
| Père 3 |
----------------------------
voici le code correspondant ... meme si on rajoute en plus un fils de fils
<?php
class MonMenu {
var $m_iLevel;
var $m_oFromObject;
var $m_sFile='menu.html';
var $m_sRoot='menu';
function __construct($m_sRoot){
$dom = new DOMDocument('1.0', 'iso-8859-1');
$root = $dom->createElement($m_sRoot);
$root = $dom->appendChild($root);
$this->$m_oFromObject[0]=$dom;
$this->$m_oFromObject[1]=$root;
}
function DefineFather($sRank){
//Objet DOM courant $m_oFromObject[]
$m_oFromObject[]=$this->$m_oFromObject[0]->createElement('Father');
$this->$m_oFromObject[] = $this->$m_oFromObject[1]->appendChild($m_oFromObject[]);
$oRankText = $this->$m_oFromObject[0]->createTextNode($sRank);
$oRankText = $this->$m_oFromObject[]->appendChild($oRankText);
}
function DefineSon($sRank,$oObjectFather){
}
function FindArboFather($oObjectFather){
}
}
$menu = new MonMenu();
$rang1=$menu->DefineFather('rang1');
$sousrang1=$menu->DefineSon('sous rang 1',$rang1);
$soussousrang1=$menu->DefineSon('sous rang 1',$sousrang1);
$rang2=$menu->DefineFather('rang2');
$rang3=$menu->DefineFather('rang3');
?>
J ai beaucoup de mal a implementer DefineSon donc si qqun a le courage de m aider ca serait avec grand plaisir
PS: si qqun cherches un dessinateur ascii de tableau ou veut créer des objet pere dodu me contacter aussi ... *devient fou*
-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie