Код Яндекс Карты в редакторах

проблемы с кодом в redactor и в live

#1 14 июня 2016 в 02:22
Всем привет!
Установлена InstantCMS версии 2.5.1.

Проблема в следующем:
Контент-редактору требуется установить в тексте Яндекс Карту (на некоторых страницах даже три). Выданный Конструктором Карт Яндекса код через режим редактирования HTML в redactor вставляется в нужное место среди текста, переключаюсь в визуальный редактор — карта не отображается, переключаюсь в редактирование HTML код исчезает и по прежнему остается только текст, как будто ничего и не добавлялось. Карта сохраняется и отображается только при сохранении в режиме HTML-редактора, но при повторном редактировании страницы карта снова исчезает и из визуального редактора и из HTML-редактора.

В редактореlive все по другому: карта добавляется через HTML-редактор, но не отображетс в визуальном редакторе, зато, в отличие от redactor, ее код остается и его можно увидеть в HTML-редакторе. При сохранении через визуальный или HTML-редактор карта сохраняется и отображается на странице. Но, как и в случае с redactor, начинаются проблемы при повторном редактировании страницы: в режиме визуального редактора карта видна, а HTML-редактор отображает не исходный код карты, а все ее "потроха", какими они на самом деле показываются при просмотре страницы, т.е. весь тот код, который передает Яндекс для формирования итогового кода карты. При сохранении такой карты она сохраняется некорректно и отображается некорректно (остаются только кнопки от карты).

Попробовал поискать старые версии InstantCMS 2.x и в "закромах" нашел необновленный сайт на движке версии 2.2.1.
Редактор live там работал точно так же, как и для версии 2.5.1., а вот редактор redactor сохранял у себя в HTML-коде код карты, хотя и не показывал ее в визуальном редакторе, а так же позволял редактировать страницу с картой, хотя и не показывал ее наличие в визуальном редакторе, но кода карты он не терял и на составные карту не расписывал, как live.

Раз уж live и ранее и сейчас не умеет работать с Яндекс Картами, то для своего типа контента укажу для поля использовать redactor, но как мне его заставить работать точно так же, как в старой версии? Заменить на старый редактор я его не могу, т.к. функция создания простых таблиц там нужна, а в старом редакторе таблиц не было.
#2 14 июня 2016 в 03:19
Какая то фантастика прямо с этими редакторами: сейчас продолжил тестирование на упомянутом выше сайте версии 2.2.1 и к привеликому моему удивлению обнаружил, что редактор redactor на нем перестал отображать Яндекс Карту. Причина в модификации спецсимволов на код и в исходной строке кода:
  1.  
  2. <script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=fXRGmJDJEEGPywnyT2weUidFsWdxjC2Q&width=100%&height=400&lang=ru_RU&sourceType=constructor&scroll=true"></script>
  3.  
все символы & заменены на & amp; (без пробела имеется в виду).
Работы с редактором не проводил и теперь совсем огорошен как это раньше карта сохранялась и отображалась.
#3 14 июня 2016 в 12:20
Извиняюсь, что встряну сейчас...😊но я знаю ещё один странный глюк redactor. Он постоянно оставляет пустые свойства у тэга и текст выглядит так:
<p "="">Текст
А код так:
  1. <p "="">Текст</p>
И тоже на 2.5.1. Сменила его на лайв. Пока всё в порядке, ВРОДЕ.
#4 14 июня 2016 в 17:16


Извиняюсь, что встряну сейчас...😊но я знаю ещё один странный глюк redactor. Он постоянно оставляет пустые свойства у тэга и текст выглядит так:
Текст[/code]

И тоже на 2.5.1. Сменила его на лайв. Пока всё в порядке, ВРОДЕ.

Azura
Это у него теряется при сохранении или при переключении из визуального режима в HTML и обратно?
#5 10 января 2017 в 12:35
А у меня вообще не отображается вставленный код карт на сайте. Что можно сделать?
#6 10 января 2017 в 21:04


А у меня вообще не отображается вставленный код карт на сайте. Что можно сделать?

@keks

Я пока временно обошел так:
На страницу вставил текст до карты, затем внизу добавил под текстом HTML-виджет с картой, а далее продолжил тексты при помощи текстового виджета.
#7 10 января 2017 в 21:19

Я пока временно обошел так: На страницу вставил текст до карты, затем внизу добавил под текстом HTML-виджет с картой, а далее продолжил тексты при помощи текстового виджета.

Alexey Zagrebelniy

То есть так? Сделал — не получилось:
Текст
<iframe src="https://api-maps.yandex.ru/frame/v1/-/ChW0IToY" width="560" height="400" frameborder="0"></iframe>
Текст

Кстати с Гугл картами такая же фигня.

Пробовал менять все 3 редактора — все равно не кажет.

Знаю что можно делать в других кмс так: вставляется код типа [imya-faila] и на фтп кладется .txt файл и все работает, но как это сделать в этой кмс я не знаю.

А как теперь карты вставлять кто знает, а то мне без них ну ни как.
#8 10 января 2017 в 21:26


Я пока временно обошел так: На страницу вставил текст до карты, затем внизу добавил под текстом HTML-виджет с картой, а далее продолжил тексты при помощи текстового виджета.

Alexey Zagrebelniy

То есть так:
Текст

Текст

@keks
Ну да.
Текст страницы с сохраненным текстом который идет от начала страницы до карты.
Далее завожу страницу для вывода виджетов в разделе "Виджеты" админки и под контентной частью вставляю следующие виджеты для этой страницы:
HTML-виджет с кодом карты
Текстовый виджет с текстом, который после карты (если таковой нужен).

В одном проекте даже куча виджетов с кодом карт идет и после каждого текстовые виджеты с комментариями к проезду.
#9 11 января 2017 в 11:20

Далее завожу страницу для вывода виджетов в разделе "Виджеты" админки и под контентной частью вставляю следующие виджеты для этой страницы: HTML-виджет с кодом карты Текстовый виджет с текстом, который после карты (если таковой нужен).

Alexey Zagrebelniy

С виджетами я пока не разобрался но уже понял что это полный гемор. А если мне надо 50 стр с разными картами — на каждую виджет создавать?
Другие варианты есть, чтобы в самой статье вставить?
Кстати какой у вас редактор стоит?
#10 11 января 2017 в 19:12


Далее завожу страницу для вывода виджетов в разделе "Виджеты" админки и под контентной частью вставляю следующие виджеты для этой страницы: HTML-виджет с кодом карты Текстовый виджет с текстом, который после карты (если таковой нужен).

Alexey Zagrebelniy

С виджетами я пока не разобрался но уже понял что это полный гемор. А если мне надо 50 стр с разными картами — на каждую виджет создавать?
Другие варианты есть, чтобы в самой статье вставить?
Кстати какой у вас редактор стоит?

@keks
Ну если 50 потребуется — тогда морока ибо моим методом замучаешься так создавать 50 страниц в контенте + 50 пользовательских страниц в Виджетах + 50 виджетов с картами и 50 (если нужно) текстовых виджетов под картами. К счастью для основного количества сайтов в интернете как правило 1-2 страницы с контактами существуют и обходным путем не так сложно реализовать Яндекс.Карты.

Про другие варианты я не знаю. Может быть другие участники темы поделятся своими способами обойти проблему.

Редакторы у меня стандартные. Как только подобрал способ обхода — вернул обратно redactor, как основной редактор — он простой, а мне другого и не нужно.
#11 11 января 2017 в 20:02

Может быть другие участники темы поделятся своими способами обойти проблему.

Alexey Zagrebelniy
Редактор TinyMCE (подкрученный), и убранная галочка — "Обрабатывать типографом" — в режиме кода вставляет и сохраняет код карты, в визуальном режиме ничего не показывает вообще. Но в записи карта отображается и можно сколько угодно редактировать, если при редактировании в визуальном режиме случайно не затереть место с кодом с карты.
#12 11 января 2017 в 20:10


Редактор TinyMCE (подкрученный)

Loadырь
А "подкрученный" — это каким способом?
#13 11 января 2017 в 20:23

А "подкрученный" — это каким способом?

Alexey Zagrebelniy
"Настроенный" как в ВП, но в этом случае достаточно добавить опцию нужным пользователям типа
  1. valid_elements : 'script[type=text/javascript|charset=utf-8|src],strong/b,div[align],br',
тогда скрипты резаться не будут.
#14 11 января 2017 в 22:31


А "подкрученный" — это каким способом?

Alexey Zagrebelniy
"Настроенный" как в ВП, но в этом случае достаточно добавить опцию нужным пользователям типа
  1. valid_elements : 'script[type=text/javascript|charset=utf-8|src],strong/b,div[align],br',
тогда скрипты резаться не будут.

Loadырь
А что такое ВП и в каких файлах опции прописываются?
#15 11 января 2017 в 23:08

А что такое ВП

Alexey Zagrebelniy
Это вордпресс по-русски.

в каких файлах опции прописываются?

Alexey Zagrebelniy
\wysiwyg\tinymce\wysiwyg.class.php
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.