Bonjour,
J'ai utilisé le même demo de du site jstree:
http://www.jstree.com/demo
bon je veux que chaque menu soit lié à un article, alors j'ai ajouté un champs dans le shéma de jstree je l'ai appelé 'lien' dans la base
la demo est à téléchargé à partie de ce lien
http://www.jstree.com/
pour qu'il m'amène l'href de la base vers l'href de ma balise j'ai fait ça
"href" => $v[$this->fields["lien"]]),
dans la class.tree.php , ça marche bien
pour affecter un article à un menu au niveau html j'ai fait ça:
1 2
|
$("a.jstree-clicked").parent().attr("href", $('select#article option:selected').val()); |
lorsque je consulte le code source de la page vraiment l'article à été affecté à ma balise,
Mon problème c'est comment l'enregistrer dans ma base,
J'ai essayé de faire des modifications en se basant sur les autres function:
Dans l'index.php j'ai ajouté l'option bin pour le nutton lier:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
.bind("lier.jstree", function (e, data) {
$("a.jstree-clicked").parent().attr("href", $('select#article option:selected').val());
$.post(
"lib/jsTree/_demo/server.php",
{
"operation" : "lier_node",
"id" : this.id.replace("node_",""),
"lien" : $("a.jstree-clicked").parent().attr("href")
//data.rslt.obj.attr("href")
},
function (r) {
if(!r.status) {
$.jstree.rollback(data.rlbk);
}
}
);
//});
}); |
dans jquery.jstree j'ai ajouter l'opération lier_node:
1 2 3 4 5 6 7 8 9
|
lier : function (obj) {
obj = this._get_node(obj);
this.__rollback();
this.__callback({ "obj" : obj});
var f = this.__callback;
}, |
et dans classe.tree.php j'ai ajouter la function lier_node:
1 2
|
function lier_node($data) { return $this->set_data($data); } |
Pour plus de précision je vous attache les 3 fichier modifié
Merci d'avance
Partager