Как прописать два значения?

Добрый день!

Возник вопрос по значениям в модификаторе replace

[[+content:cdata:replace=`«assets/==»/assets/`]]

Имеется вот такая конструкция, которая заменяет assets/ на /assets/

Как мне вписать в эту конструкцию еще вот такой отрезок

заменить src=" на src="/

Чтобы заменяло и assets и src

Буду очень благодарен за подсказку
Андрей
11 декабря 2019, 11:24
modx.pro
610
0

Комментарии: 10

Наумов Алексей
11 декабря 2019, 11:27
0
[[+content:cdata:replace=`assets/==/assets/`:replace=`src="/==src="`]]
но эти дичь дикая, костыль жуткий и вообще, молюсь, чтобы мне такой сайт не пришел в работу)
Бороться нужно с причиной, а не ее последствиями.
    Андрей
    11 декабря 2019, 11:47
    0
    Дело в том, что я вывожу [[+content]] в rss ленте. И в конечном итоге, он выводит мне все ссылки и пути к изображениям вот так — assets/image/.png.

    В яндекс вебмастере — изображения в последствии тупо не видит.

    Вот код шаблона rss ленты

    <item turbo="true">
    <link>[[++site_url]][[~[[+id]]]]</link>
    <title>[[+longtitle]]</title>
    <pubDate>[[+publishedon:date=`%a, %d %b %Y %H:%M:%S +0300`]]</pubDate>
    <turbo:content>
    [[+content:cdata:replace=`"assets/=="/assets/`]]
    </turbo:content>
    </item>
      Андрей
      11 декабря 2019, 11:55
      0
      Или быть может есть какой-нибудь вариант, выводить в [[+content]] ссылки не вида src="/link.html" а ссылки полного вида src=«https:/site.ru/link.html»
      Эдвард Ерохин
      11 декабря 2019, 11:42
      0
      Самое простое в вашем случае, выкачать через phpmyadmin эту таблицу modx_site_content, только эту — не всю базу.
      И заменой через обычный редактор заменить все что вам надо.

      Или через консоль пройтись по базе, опять же заменить.

      Перед выводом контента его обрабатывать не очень хорошая идея.
        Андрей
        11 декабря 2019, 12:06
        0
        К сожалению не могу, это rss лента для турбо страниц яндекса
        Павел Романов
        11 декабря 2019, 12:20
        0
        Сделайте сниппет rssReplace:
        <?php
        $arr1 = array('assets/', 'src="'); // что меняем
        $arr2 = array('/assets/', 'src="/'); // на что меняем
        return '<![CDATA[ '.str_replace($arr1, $arr2, $input).' ]]>';
        Используйте как модификатор:
        [[+content:rssReplace]]
          Андрей
          11 декабря 2019, 12:28
          0
          В тегах к сожалению не меняет

          Я приношу извинения, вместо src= надо было поменять href= на href=/
          В конечном итоге, даже при помощи сниппета не хочет менять

          assets он заменяет, но судя по всему, потому что это часть содержимого, а часть href=" на href="/ не меняет
            Андрей
            11 декабря 2019, 12:29
            0
            Сниппет выглядит так

            <?php
            $arr1 = array('assets/', 'href="'); // что меняем
            $arr2 = array('/assets/', 'href="/'); // на что меняем
            return '<![CDATA[ '.str_replace($arr1, $arr2, $input).' ]]>';
              Андрей
              11 декабря 2019, 12:33
              0
              Быть может есть какой-то вариант не городить костыли как я, а просто выводить полные пули в ссылках и в изображениях в [[+content]]?
                Андрей
                11 декабря 2019, 12:49
                0
                Приношу извинения, разобрался. Спасибо за решение!)
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                10