30.07.2017 10:14:37 am
Если установить опцию Allow HTML на false (настройки core: admincp/setting/edit/module-id_core/), то в созданном списке ul или ol появляется ошибки, например я составил код списка вот так:
на экране будет так:
Исходный код страницы выглядит так:
Пока я решил звездочку ([*]) заменить на открывающий и закрывающий тег ([*li][*/li] (без звездочек
Открываем: static/jscript/editor.js, находим:
Меняем на:
Очищаем кэш. Теперь вместо одной звездочки, будет вставляться два тега (li), открывающий и закрывающий, а между ними строка.
Это временное решение и не исправляет ошибку на 100%. Рекомендую все же включить Allow HTML.
[ul][*]Пример первой строки
[*]Пример второй строки
[*]Пример третьей строки
[/ul]
на экране будет так:
[*]Пример первой строки
[*]Пример второй строки
[*]Пример третьей строки
Исходный код страницы выглядит так:
<ul><li><br>[*]Пример первой строки<br>[*]Пример второй строки<br>[*]Пример третьей строки<br></li></ul>
Пока я решил звездочку ([*]) заменить на открывающий и закрывающий тег ([*li][*/li] (без звездочек
*
)). Делаю так:Открываем: static/jscript/editor.js, находим:
getListReply: function()
{
var $sReply = prompt('Enter text to build your list. Once you are done click cancel.', '');
if (!empty($sReply))
{
Editor.createBBtag("\n[*]", "", this.sEditorId, $sReply);
this.getListReply();
}
else
{
Editor.createBBtag("\n[/" + this.sLastListType + "]\n",'', this.sEditorId);
}
},
Меняем на:
getListReply: function()
{
var $sReply = prompt('Write word or phrase to the list:', '');
if ($sReply)
{
Editor.createBBtag("[li]" + $sReply + "[/li]\n", '', this.sEditorId);
this.getListReply();
}
else
{
Editor.createBBtag("[/" + this.sLastListType + "]\n",'', this.sEditorId);
}
},
Очищаем кэш. Теперь вместо одной звездочки, будет вставляться два тега (li), открывающий и закрывающий, а между ними строка.
Это временное решение и не исправляет ошибку на 100%. Рекомендую все же включить Allow HTML.
- Жалоба
30.07.2017 10:38:42 am
Ещё одни правки для редактора поста.
После того, как вставляешь какой то BBcode, например: , курсор тут же перемещается в конец строки, что очень неудобно, так как я вставляю теги, для того, что бы между ними, что то написать, а курсор убежал в конец и приходится его возвращать...
Что бы курсор не убегал, открываем: static/jscript/editor.js, находим и удаляем строку:
После сохранения файла, необходимо почистить кэш.
Если надо завернуть какую то фразу|слово в уже набранном тексте, достаточно выделить ту фразу, что надо обвернуть и нажать нужный тег, фраза встанет между тегами, а курсор опять убежит в самый конец текста, что тоже очень не удобно. А вдруг мне надо эту фразу завернуть в ещё один тег? Опять искать, где эта фраза? Я не хочу мучить своих пользователей. Я сделал так: нахожу:
И меняю на:
Сохранил, почистил кэш. Теперь после вставке тегов выделенного текста, текст остаётся выделенным и не срабатывает надоедливая прокрутка вниз.
Функцию putCursorAtEnd, я вообще удалил:
После того, как вставляешь какой то BBcode, например: , курсор тут же перемещается в конец строки, что очень неудобно, так как я вставляю теги, для того, что бы между ними, что то написать, а курсор убежал в конец и приходится его возвращать...
Что бы курсор не убегал, открываем: static/jscript/editor.js, находим и удаляем строку:
$('#' + areaId).putCursorAtEnd();
После сохранения файла, необходимо почистить кэш.
Если надо завернуть какую то фразу|слово в уже набранном тексте, достаточно выделить ту фразу, что надо обвернуть и нажать нужный тег, фраза встанет между тегами, а курсор опять убежит в самый конец текста, что тоже очень не удобно. А вдруг мне надо эту фразу завернуть в ещё один тег? Опять искать, где эта фраза? Я не хочу мучить своих пользователей. Я сделал так: нахожу:
var preString = (txtArea.value).substring(0,txtArea.selectionStart);
var newString = openerTag + (txtArea.value).substring(txtArea.selectionStart,txtArea.selectionEnd) + closerTag;
var postString = (txtArea.value).substring(txtArea.selectionEnd);
txtArea.value = preString + newString + postString;
txtArea.focus();
И меняю на:
var preString = (txtArea.value).substring(0,txtArea.selectionStart);
var newString = openerTag + (txtArea.value).substring(txtArea.selectionStart,txtArea.selectionEnd) + closerTag;
var postString = (txtArea.value).substring(txtArea.selectionEnd);
var markStart = preString.length + openerTag.length;
var markEnd = preString.length + newString.length - closerTag.length;
txtArea.value = preString + newString + postString;
txtArea.select();
txtArea.setSelectionRange(markStart, markEnd);
Сохранил, почистил кэш. Теперь после вставке тегов выделенного текста, текст остаётся выделенным и не срабатывает надоедливая прокрутка вниз.
Функцию putCursorAtEnd, я вообще удалил:
$Behavior.putCursorAtEnd = function()
{
jQuery.fn.putCursorAtEnd = function()
{
return this.each(function()
{
$(this).focus();
if (this.setSelectionRange)
{
var len = $(this).val().length * 2;
this.setSelectionRange(len, len);
}
else
{
$(this).val($(this).val());
}
this.scrollTop = 999999;
});
};
};
30.07.2017 10:42:17 am
Добавил в редактор текста BBcode link (в phpFOX 3 вместо тега URL пишется LINK), тег img и code. Добавлял так:
Открыть файл: include/library/phpfox/editor/editor.class.php, найти:
Ниже добавить:
В папку: theme/frontend/default/style/default/image/editor/, необходимо добавить значки кнопок.
Уже и не помню (и наверно ни когда не вспомню) после каких правок, при отключенном Allow HTML у меня при создании списка, его элементы располагаются через пустую строчку, смотрится некрасиво.
Исправил так, открываю: include/library/phpfox/parse/output.class.php, нахожу:
Выше добавляю:
Как всегда - название переменных у меня свои, будьте внимательны.
Открыть файл: include/library/phpfox/editor/editor.class.php, найти:
array(
'image' => 'text_underline.png',
'command' => 'u',
'phrase' => 'core.underline'
),
array(
'separator'
),
Ниже добавить:
array(
'image' => 'link.png',
'command' => 'link',
'phrase' => 'core.url'
),
array(
'image' => 'img.png',
'command' => 'img',
'phrase' => 'core.image'
),
array(
'image' => 'code.png',
'command' => 'code',
'phrase' => 'core.code'
),
array(
'separator'
),
В папку: theme/frontend/default/style/default/image/editor/, необходимо добавить значки кнопок.
Уже и не помню (и наверно ни когда не вспомню) после каких правок, при отключенном Allow HTML у меня при создании списка, его элементы располагаются через пустую строчку, смотрится некрасиво.
Исправил так, открываю: include/library/phpfox/parse/output.class.php, нахожу:
$text = str_replace("\n", '[br]', $text);
Выше добавляю:
$text = preg_replace('#(\[\/?(ul|ol|li)\])[\n]{1}#', '$1', $text);
Как всегда - название переменных у меня свои, будьте внимательны.