0 Пользователей и 1 Гость просматривают эту тему.
  • 20 Ответов
  • 1023 Просмотров
*

Alpa

  • Осваиваюсь на форуме
  • 21
  • 1 / 0
Неожиданная проблема.
При создании метки в редакторе материала, система воспринимает букву русскую "б" как нажатие Enter, и сразу обрезает метку. Таким образом невозможно вручную создать метку с этой буквой.
Например, при вводе метки "собака", после набора "соб" метка обрезается. Ни одна другая буква алфавита не подвержена такой дискриминации.
Пробовал все редакторы JCE, TinyMCE, без редактора - эффект тот же. Пробовал разные версии PHP (5.6, 7.1) - не помогает.
Через Компонент "Метки" все нормально, но это очень неудобно.
Если вдруг кто-то сталкивался с такой проблемкой и решил ее, прошу отписаться.
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
хм, действительно :) http://prntscr.com/eaby8s не zoo, стандартный материал
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Несколько лет назад в zoo такое было..
Видимо, заразно :-)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
но такое происходит только если "б" 3-я или дальше буква. как временное решение - сначала ввести "бака", а потом "со" в начале.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Надо бы тему перенести сюда, предварительно правильно оформив
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
но такое происходит только если "б" 3-я или дальше буква. как временное решение - сначала ввести "бака", а потом "со" в начале.
а если надо ввести, скажем, барабашка?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
беда :) у меня получилось башка + HOME + ара + HOME + б . ну и конечно можно написать в самом материале, и копи/пасте
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Alpa

  • Осваиваюсь на форуме
  • 21
  • 1 / 0
Нет, Zoo не стоит
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Это проблема keycode 188.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Alpa

  • Осваиваюсь на форуме
  • 21
  • 1 / 0
Это проблема keycode 188.
Есть какое-нибудь решение?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Это проблема keycode 188.
т.е. запятые воспринимаются как разделитель для тегов? ну логично в общем то... только не для русской раскладки :)

Есть какое-нибудь решение?
вам уже 2 дали, выбирайте любое
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Alpa

  • Осваиваюсь на форуме
  • 21
  • 1 / 0
Считаю Copy/Paste плохим костылем. Я спрашивал, есть ли решение проблемы keycode 188.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
хороших костылей не бывает :) можете еще Alt+161 на правой клавиатуре набирать, код буквы "б". или Alt+129 для большой "Б"
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
1. Используйте другой браузер: я не наблюдаю этой проблемы в Firefox.
2. Идите сюда: layouts/joomla/html/tag.php, найдите эту строку (у меня 53-я) и уберите проверку события клавиши 188
Код: php-brief
//if (this.value && this.value.length >= " . $minTermLength . " && (event.which === 13 || event.which === 188)) {//так было
if (this.value && this.value.length >= " . $minTermLength . " && (event.which === 13)) {//так стало

P.S.
3. Там же, но проверять keypress вместо keyup
Код: php-brief
//$('" . $selector . "_chzn input').keyup(function(event) {// было
$('" . $selector . "_chzn input').keypress(function(event) {// стало
« Последнее редактирование: 18.02.2017, 21:46:18 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Alpa

  • Осваиваюсь на форуме
  • 21
  • 1 / 0
Спасибо за помощь, это красивое решение, но не сработало. Вообще не сохраняет б и тоже режет тег. Использую Safari и Chrome, FF нет.
Вообще очень криво работает эта опция. Вводишь новый тег, а сохраняет совершенно другой из сохраненных.
Придется заводить их через компонент, либо смотреть сторонние решения.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Спасибо за помощь, это красивое решение, но не сработало. Вообще не сохраняет б и тоже режет тег.
Кэш браузера сбросили после правки? У меня работает.

P.S. Есть еще 4-вариант: откройте /administrator/components/com_tag/config.xml, найдите поле min_term_length и поставьте last="10", default="10" (или 20, 30...как хотите). Сохраните файл. Откройте настройки компонента "Метки", поставьте минимальную длину соответствующего поля на 10 (20, 30...). Сохраните настройку.
Минус - AJAX-поиск не найдет существующих тэгов короче 10 символов.
« Последнее редактирование: 18.02.2017, 22:03:52 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Missile

  • Завсегдатай
  • 1098
  • 90 / 1
У меня с метками тоже глюк, но другого рода. Начинаешь вводить уже существующую метку, вылезает подсказка, активируешь - а вместо нужной метки вставляется та, что была создана самой первой. В смысле, вообще самой первой, от начала времён. Я уже привыкла копи-пастом, но как-то раздражает, если честно - особенно, когда меток штук 5. Браузер Opera. Глюк этот прослеживается уже давно - наверное, как только сами метки появились.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
вылезает подсказка, активируешь - а вместо нужной метки вставляется та, что была создана самой первой. В смысле, вообще самой первой, от начала времён.
Да, скрипты вообще очень сырые. Такое впечатление, что никто не тестировал их. В данном случае забыли дать пользователям возможность задать время ожидания после набора искомого текста.
layouts/joomla/html/tag.php: добавьте код перед
Код: php-brief
'minTermLength' => $minTermLength
, чтобы получилось так
Код: php-brief
		'afterTypeDelay' => '2000',
'minTermLength' => $minTermLength
или вообще закомментируйте эту строку
Код: php-brief
// JHtml::_('formbehavior.ajaxchosen', $chosenAjaxSettings);
« Последнее редактирование: 20.02.2017, 08:59:08 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Missile

  • Завсегдатай
  • 1098
  • 90 / 1
О спасибо, обязательно попробую!
*

Alpa

  • Осваиваюсь на форуме
  • 21
  • 1 / 0
robert, спасибо за вашу помощь!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться