Заметил, что эта вертикальная черта часто появляется и ее приходится постоянно контролировать, чтобы она автоматически не ставилась. При чем это бывает в 3-5 случаев из 10.

Заметил, что эта вертикальная черта часто появляется и ее приходится постоянно контролировать, чтобы она автоматически не ставилась. При чем это бывает в 3-5 случаев из 10.
Заметил, что эта вертикальная черта часто появляется и ее приходится постоянно контролировать, чтобы она автоматически не ставилась. При чем это бывает в 3-5 случаев из 10.

не только в виджете, во всех текстовых полях админки:) уже где только не поймал
это после последнего обновления
там еще код ломается, какой нить яндекс метрики например. В гугл аналитике пропали "<" перед script, еще что-то.
Проверяйте
это после последнего обновления
раньше тоже такое было
не только в виджете, во всех текстовых полях админки:) уже где только не поймал это после последнего обновления там еще код ломается, какой нить яндекс метрики например.
не не не, это длится уже очень давно с ранних версий
Да, такое еще с 2.14 (мой первый инстант).
Да, такое еще с 2.14 (мой первый инстант).
даже еще раньше
Т.е это у всех, но все стеснялись написать ?)
Def, Не стеснялись. Просто как-то не напрягало это дело. Не каждый же день виджеты правишь. Поправил и забил. Многие скорей всего даже в эти «Опции» и не заходили.
Def, Не стеснялись. Просто как-то не напрягало это дело. Не каждый же день виджеты правишь. Поправил и забил. Многие скорей всего даже в эти «Опции» и не заходили.
Если делать корп сайт с внутренними посадочными страницами, то это ежедневная задача с виджетами и т.д.
Просто непонятно, почему этот символ то появляется, то нет.
После долго изучения проблемы (потому что это реально подбешивало) вот что я накопал. Лишний символ | появился в YAML-формате — если несколько раз пересохранить виджет «Социальные кнопки» — то на терий четвертый раз он обязательно проявится. По сути — это не ошибка вставки, это ошибка сериализации массива в YAML. Где-то в коде при сохранении массива options в YAML происходит двойное экранирование или неправильное формирование строки.
Ну тут уже стало понятно что это системный класс Model. Смотрим что в нем:
public static function arrayToYaml($input_array, $indent = 2, $word_wrap = 40) { // ... return Spyc::YAMLDump($array, $indent, $word_wrap); }
Как мне кажется — проблема в библиотеке Spyc. При сохранении массив options преобразуется в YAML через Spyc::YAMLDump().
Соответственно (если я конечно прав) — библиотеку надо либо фиксить, либо менять на что то другое. Если мои наблюдения неверны — пните в нужном направлении.
Ну и вот соответственно виновник в самой библиотеке
private function _doLiteralBlock($value, $indent) { if ($value === "\n") { return '\n'; } } } $newValue = '|'; $indent += $this->_dumpIndent; foreach ($exploded as $line) { $newValue .= "\n" . $spaces . ($line); } return $newValue; }
Фиксим:
private function _doLiteralBlock($value, $indent) { if ($value === "\n") { return '\n'; } } } } } } } $newValue = '|'; $indent += $this->_dumpIndent; foreach ($exploded as $line) { } return $newValue; }
Проверяем работу виджета по тому же сценарию — сохраняем три четыре раза — все гуд. работает. Отправлю Pull requests на гит — надеюсь внесут в релиз.
У меня обычно "|" появляется, когда оставляю пустые строки после кода, например свой шаблон для виджета, в содержимом, в JS.