2015-11-20 21 views
9

Tôi hiện đang làm việc trên một cổng của CKEditor vào concrete5. Như một phần của điều đó, concrete5 có khả năng tạo ra "Đoạn mã" có thể được chèn qua trình soạn thảo. Nhà phát triển có khả năng xác định những loại đầu ra HTML những widget sản xuất nhưng trong khi ở chế độ chỉnh sửa, nó chỉ đơn giản cho thấy một giữ chỗ bằng đoạn HTML sau:CKEditor Chèn HTML không thể chỉnh sửa trong kiểu

'<span 
    class="ccm-content-editor-snippet" 
    contenteditable="false" 
    data-scsHandle="' + selectedSnippet.scsHandle + '" 
>' + selectedSnippet.scsName +'</span>' 

Tôi đã nhìn vào widget ckeditor, nhưng không nhất thiết muốn làm lộn xộn thanh công cụ của tôi với một số lượng lớn các nút để kích hoạt chức năng như vậy. Tôi tò mò nếu nó có thể thêm một cái gì đó để dropdown stylescombo (hoặc thả xuống tương tự) mà sau đó sẽ chèn một đoạn như thế ở trên.

Hiện tại những gì tôi phải thử và làm điều này có thể được tìm thấy tại https://github.com/ExchangeCore/Concrete5-CKEditor/blob/feature/magicstyles/assets/concrete5styles/plugin.js#L17-L30 Điều này không hoàn toàn hiệu quả vì tôi không có cách nào để chèn selectedSnippet.scsName vào innerHTML của kiểu. Có cách nào để làm điều này hay một số cách rõ ràng hơn để đi về loại chức năng chèn trong CKEditor mà không cần phải thực hiện tấn các nút trên thanh công cụ?

Ngoài ra, nội dung của khoảng đó sẽ có thể bị xóa nhưng không thể chỉnh sửa được.

Trả lời

3

Với plugin này bạn có thể tạo một danh sách thả xuống để chèn bất kỳ khối HTML mà bạn muốn: http://ckeditor.com/addon/htmlbuttons

Nếu nó không phù hợp nhu cầu của bạn, nhìn vào mã nguồn và chọn những phần mà bạn đang mất tích.

+0

Tôi đã kết thúc một số mã từ đây. Nó hoạt động khá tốt, nhưng tôi phải cẩn thận với thứ tự tải, tôi thấy rằng nếu tôi cố gắng thêm một nút sau khi mọi thứ đã được khởi tạo, nó sẽ không hiển thị (như trong yêu cầu ajax) –

Các vấn đề liên quan