というアドオン製品を使用して plone でツリーを生成していますcollective.virtualtreecategories
。しかし、奇妙な JavaScript エラーが発生し続け、ツリーを表示できません。
ブラウザのエラー コンソールに、次のメッセージが表示されます。
$tree.tree is not a function
エラーを生成するコードの一部を次に示します。
$tree.tree({
data: {
type: "json",
url: "@@vtc-categories-tree.json",
async: false
},
lang: {
new_node: "New category"
},
rules: {
deletable: ["folder"],
renameable: ["folder"],
draggable: "none",
droppable: "none",
},
callback: {
beforechange: function(node, tree_obj) {
return before_change_node()
},
onselect: function(node, tree_obj) {
node_selected(node)
},
oncreate: function(node) {
jq(node).attr('rel', 'folder')
},
onrename: function(node, lang, tree_obj, rb) {
old_id = node.id // may be undefined (new node)
new_name = jq(node).children("a:visible").text();
// shared code. Server determines if creating/renaming by the old_name value
jq.ajax({
type: 'POST',
url: "vtc-category-added-renamed",
data: {
'category_path': selected_category(node),
'old_id': old_id,
'new_name': new_name
},
success: function(data) {
jq.jGrowl(data.msg, {
life: 1500
});
// set/change node id
if (data.result) {
node.id = data.new_id
}
},
dataType: 'json',
traditional: true
})
},
beforedelete: function(node, tree_obj) {
jq.ajax({
type: 'POST',
url: "vtc-category-removed",
data: {
'category_path': selected_category(node)
},
success: function(data) {
jq.jGrowl(data.msg, {
life: 3000
});
},
dataType: 'json',
traditional: true
});
return true;
}
}
});
完全なコード リストは、ここで見つけることができます。
誰かがこれを修正するのを手伝ってくれますか?
更新: おそらくそれを追加する必要があります。これは以前は別の設定で機能していました。今、プロジェクトを再作成したところ、このエラーが発生しました。