К содержанию

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

Добрый день!

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

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

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

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

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

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

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

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

Наумов Алексей
Наумов Алексей Администратор
11 декабря 2019, 11:27
[[+content:cdata:replace=`assets/==/assets/`:replace=`src="/==src="`]]
но эти дичь дикая, костыль жуткий и вообще, молюсь, чтобы мне такой сайт не пришел в работу)
Бороться нужно с причиной, а не ее последствиями.
    Андрей
    Андрей Старожил
    11 декабря 2019, 11:47
    Дело в том, что я вывожу [[+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
      Или быть может есть какой-нибудь вариант, выводить в [[+content]] ссылки не вида src="/link.html" а ссылки полного вида src=«https:/site.ru/link.html»
      Эдвард Ерохин
      Эдвард Ерохин Старожил
      11 декабря 2019, 11:42
      Самое простое в вашем случае, выкачать через phpmyadmin эту таблицу modx_site_content, только эту — не всю базу.
      И заменой через обычный редактор заменить все что вам надо.

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

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

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

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

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