Допустим ситуацию, когда контент страницы разделен на несколько редакторов, в первом содержится оглавление статьи с якорными ссылками, а во втором основной текст с расставленными якорями.
Проблема заключается в том, что при добавлении якорной ссылки, в списке не будет якорей из других редакторов, что усложняет работу контент менеджера.
Исправить это можно изменив файл плагина /ckeditor/plugins/link/dialogs/link.js
или заменить его на готовый link.js
JS код там сжат, для форматирования можно применить сервис
http://tools.seo-auditor.com.ru/javascript-formatter/
Итак, нужно закомментировать оригинальный код сбора якорей (строки 125-130) и после вставить новый который проходит по всем редакторам.
//f = new CKEDITOR.dom.nodeList(a.document.$.anchors);
//c = 0;
//for (e = f.count(); c < e; c++) h = f.getItem(c), d[c] = {
// name: h.getAttribute("name"),
// id: h.getAttribute("id")
//}
for(var instanceName in CKEDITOR.instances) {
div = $('<div>').html(CKEDITOR.instances[instanceName].getData());
div.find('a').each(function() {
if (!$(this).attr('href')) {
name = $(this).attr('name');
id = $(this).attr('id');
if (id.length > 0 || name.length > 0) {
d.push({name: name, id: id});
}
}
});
}
После изменений нужно сбросить кеш браузера.