Вставка кода в код страницы
Добрый вечер!
Бьюсь как рыба об лед.
Яндекс карта требует вот такой код (в квадратных скобках) на странице:
[[options.contentLayout observeSize minWidth=235 maxWidth=235 maxHeight=350]]
Modx вырезает все что находится в [[]] вместе с самими скобками.
Пробовал вставить код через TV, как только закрывается последняя скобка, все удаляется, в итоге карта не работает. Даже если вставлять через TV частями.
Вопрос, как вставить выражение вида [[options.contentLayout observeSize minWidth=235 maxWidth=235 maxHeight=350]] в код страницы?
Спасибо!
Бьюсь как рыба об лед.
Яндекс карта требует вот такой код (в квадратных скобках) на странице:
[[options.contentLayout observeSize minWidth=235 maxWidth=235 maxHeight=350]]
Modx вырезает все что находится в [[]] вместе с самими скобками.
Пробовал вставить код через TV, как только закрывается последняя скобка, все удаляется, в итоге карта не работает. Даже если вставлять через TV частями.
Вопрос, как вставить выражение вида [[options.contentLayout observeSize minWidth=235 maxWidth=235 maxHeight=350]] в код страницы?
Спасибо!
Комментарии: 8
Привет, попробуй разделять скобки пробелами, типа "[ пробел [ "
Спасибо за подсказку! [ пробел [ не экранируется, но и карта с пробелом не работает.
Попробуй мнемоники
[ и ]
Вот так пробовал [[*tv:tag]] в коде страницы получается [ код ]не работает.
Пробовал даже вот так [[*tv:replace=`[==[`:replace=`]==]`]], как только получается [[]] все исчезает.
Здесь кстати, в тикете на странице отображается как нужно, а в коде
#91;[options.contentLayout observeSize minWidth=235 maxWidth=235 maxHeight=350]]
Буду искать решение в настройках карты чтобы избежать скобки [[]]
Спасибо за помощь!
Пробовал даже вот так [[*tv:replace=`[==[`:replace=`]==]`]], как только получается [[]] все исчезает.
Здесь кстати, в тикете на странице отображается как нужно, а в коде
#91;[options.contentLayout observeSize minWidth=235 maxWidth=235 maxHeight=350]]
Буду искать решение в настройках карты чтобы избежать скобки [[]]
Спасибо за помощь!
Могу предложить только такой плагин на событие OnWebPageComplete
В нужном месте на странице вставляете
А плагин заменит его на
<?php
if ($modx->context->key == "mgr" ||
$modx->event->name != "OnWebPageComplete")
return;
if (strpos($modx->resource->_output, '<div id="map"></div>') === false) return;
$modx->resource->_output = str_replace(
'<div id="map"></div>',
'<div id="map">[[options.contentLayout observeSize minWidth=235 maxWidth=235 maxHeight=350]]</div>',
$modx->resource->_output
);
print $modx->resource->_output;
die();
В нужном месте на странице вставляете
<div id="map"></div>
А плагин заменит его на
<div id="map">[[options.contentLayout observeSize minWidth=235 maxWidth=235 maxHeight=350]]</div>
Илья, спасибо плагин работает, но в таком случае после загрузки дублируется весь код страницы дважды (загружается вторая страница ниже первой). Причем в первом фрагменте в месте вставки кода
Может на другое событие должен срабатывать плагин?
<div id="map"></div>
, во втором как должно быть [[options.contentLayout observeSize minWidth=235 maxWidth=235 maxHeight=350]] Может на другое событие должен срабатывать плагин?
Может, на другое… попробуйте на onWebPagePrerender… но тогда другие плагины могут сломаться…
Илья, спасибо огромнейшее «OnWebPagePrerender» работает.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.