concrete5 v8 で Lightboxってどう使うんだろう・・?
前略
鴉河雛です
というわけで、タイトルの通りconcrete5 v8でLightboxを入れる方法ですが・・
パッと見た感じCKEditor上にそれっぽいのがありません。。
Redactorの時はどうやって入れてたのか・・・思い出せないですがw
とりあえず画像のLightBoxだけでも使えないと不便(?)だということで、
CKEditorのプラグインでも作れないものかと思いましたが、なにしろ私はプログラムがわからないので四苦八苦w
(最初はconcrete5とCKEditorのdocsをみてましたがわからず・・)
(function() {
CKEDITOR.plugins.add( 'lightbox', {
init: function( editor ){
editor.addCommand( 'insertLightbox', {
exec : function( editor ) {
var element = editor.getSelection().getStartElement();
var image_url= element.$.childNodes["0"].currentSrc;
var image_alt= element.$.childNodes["0"].alt;
var image_height =element.$.childNodes["0"].attributes[3].value;
var image_width =element.$.childNodes["0"].attributes[4].value;
var element = CKEDITOR.dom.element.createFromHtml('<a data-concrete5-link-lightbox="image" href="' + image_url + '"><img alt="' + image_alt + '" height="' + image_height + '" width="' + image_width + '" src="' + image_url + '" />');
editor.insertElement(element);
}
});
editor.ui.addButton( 'lightbox', {
label: 'InsertLightBox',
command: 'insertLightbox',
toolbar: 'insert'
});
}
});
})();
で、とりあえずはボタン一つで画像のLightBoxを入れられるようになりました。
とまぁ、ソースが汚いとかエラー処理がないとかそんなのは置いておくとして、
ボタンを押したら、url/alt/height/widthを取得して、既存と置き換える。
そんな感じです。
置き換えた後は、画像のwidgetが反応しなくなりましたが、保存すればちゃんと戻りました。
正しいとかそんなのはわかりませんが(絶対違うけどw)とりあえずしばらくはこれでやっていきます。
では、また。
[ ](‘ + image_url + ‘)