автозаполнение с url titl -> page url EE2
можно скачать для версии 2.1.1 мой точно работающий файл или сделать самостоятельно следующие шаги (на идеальность решения не претендую, главное работает)
1. делаем бэкап publish.js (ранее он лежал в system\expressionengine\javascript\compressed\cp)
2. с помощью например такого сервиса распаковываем скрипт
3. ищем liveUrlTitle() в самом ее конце вызываем будущую функцию structure__liveUrlTitle();
4. создаем следом новую функцию structure__liveUrlTitle() такого содержания (это как бы клон):
function structure__liveUrlTitle() {
var d = "",
e = EE.publish.word_separator,
c = document.getElementById("url_title").value || "",
h = document.getElementById("structure__uri"),
n = RegExp(e + "{2,}", "g"),
l = e !== "_" ? /\_/g: /\-/g,
m = "";
if (d !== "") if (c.substr(0, d.length) === d) c = c.substr(d.length);
c = EE.publish.url_title_prefix + c;
c = c.toLowerCase().replace(l, e);
for (d = 0; d < c.length; d++) {
l = c.charCodeAt(d);
if (l >= 32 && l < 128) m += c.charAt(d);
else if (l in EE.publish.foreignChars) m += EE.publish.foreignChars[l]
}
c = m;
c = c.replace("/<(.*?)>/g", "");
c = c.replace(/\s+/g, e);
c = c.replace(/\//g, e);
c = c.replace(/[^a-z0-9\-\._]/g, "");
c = c.replace(/\+/g, e);
c = c.replace(n, e);
c = c.replace(/^[-_]|[-_]$/g, "");
c = c.replace(/\.+$/g, "");
if (h) h.value = c.substring(0, 75)
}
5. теперь надо привязать вызов этой функции к изменению title:
ищем
EE.publish.which == "new" && $("#title").bind("keyup blur", liveUrlTitle);
и дублируем:
EE.publish.which == "new" && $("#url_title").bind("keyup blur change", structure__liveUrlTitle);