CMS の一部として CKeditor を使用しようとしていますが、JavaScript が「それほど」得意ではなく、ドキュメントがあまり役に立ちません。
リンクプラグインダイアログを変更して値のドロップダウンを表示し、それらからURLを構築する方法を誰かが教えてくれるかもしれませんが、ダイアログシステムがどのように機能するか理解していません。を使用する必要があることはわかっていますが、これを使用する_sources/plugins/link/dialogs/link.js
ときにどのように迷子になるかについては、理解できません。
ドロップダウン (選択) をダイアログに追加するために必要なコードを教えてください。ダイアログには、値を URL フィールド EG に書き込むオプションがあります。
私のサーバー システムには URL /content/getLinks/ があり、これは次のように CMS ページを返します。
[
{"page_name":"Contact Us","url":"Contact_Us","page_id":"1"},
{"page_name":"Welcome to Doxie Promotions","url":"Welcome_to_Doxie_Promotions","page_id":"2"},
{"page_name":"Bands","url":"Bands","page_id":"3"},
{"page_name":"Upcoming Events","url":"Upcoming_Events","page_id":"4"},
{"page_name":"About","url":"About","page_id":"7"},
{"page_name":"Lost Efftect","url":"Lost_Efftect","page_id":"10"}
]
このデータから、このような選択ボックスを作成したいと思います
<select>
<option value="Contact_Us:1">Contact Us</option>
<option value="Welcome_to_Doxie_Promotions:1">Welcome to Doxie Promotions</option>
<option value="Bands:1">Bands</option>
<option value="Upcoming_Events:1">Upcoming Events</option>
<option value="About:1">About</option>
<option value="Lost_Efftect:1">Lost Efftect</option>
</select>
次に、1 つが選択されたら、URL フィールドを変更したい EG 最初のオプションが選択された場合、URL は次のようになります。
/content/load/pid/1/url/Contact_Us
プラグイン ダイアログのソース バージョンを、マイニングされた標準バージョンの上にコピーする必要があることは承知しています。
これまでに試したことを更新し_sources/plugins/link/dialogs/link.js
、plugins/link/dialogs/link.js
私はこのコードを構築しました
429行目のファイルに
,
{
type : 'select',
id : 'cms_links',
label : 'CMS Page',
items:[],
onLoad : function(){
(function($){
$.ajax({
url: "/content/getLinks/",
dataType: 'json',
data: "",
success: function(data){
$.each(data, function(key, val){
$("#cms_links").append(
"<option value='"+val.url+":"+val.page_id+"'>"+val.page_name+"</option>"
);
});
}
});
})(jQuery);
}
},
しかし、追加したコード用に描画された選択ボックスさえないので、まだ途方に暮れています