Как убрать часть кода из rss ленты турбостраниц яндекс

Добрый вече! Помогите пожалуйста. На сайте есть турбостраницы, которые выводятся таким способом
Страница xml
<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:yandex="https://news.yandex.ru" xmlns:media="https://search.yahoo.com/mrss/" xmlns:turbo="https://turbo.yandex.ru" version="2.0">
 <channel>
 <title>[[++site_name]]</title>
 <link>[[++site_url]]</link>
 <description>[[*description]]</description>
 <language>ru</language>
 [[!pdoPage?
 &parents=`5,66,4,6,75`
 &tpl=`tpl.turborss`
 &limit=`100`
 &tvPrefix=`tv.`
 &includeTVs=`image`
 ]]
 </channel>
</rss>
Чанк
<item turbo="true">
 <link>{$_modx->config.site_url ~ $id | url}</link>
 <title>{'!rssText' | snippet : [ 'cnt' => ( $longtitle ?: $pagetitle ) ]}</title>
  <turbo:extendedHtml>true</turbo:extendedHtml>
 <turbo:content>
 <![CDATA[
 <header>
 <h1>{($longtitle ?: $pagetitle)}</h1>
<figure>
<img src="{$_modx->config.site_url ~ $id | resource : 'image' | phpthumbon : 'w=640'}" />
</figure>
</header>
 {'!rssCDATA' | snippet : [ 'cnt' => ( $id | resource : 'content' | replace : '"assets/images/' : ('"' ~ $_modx->config.site_url ~ 'assets/images/') ) ]}

       ]]>
 </turbo:content>
</item>
Сниппет rss
CDATA
<?php
if(empty($cnt)) return '';
$output = preg_replace( '/<a\s.*class="pseudo".*>(.+)<\/a>/U', '$1', $cnt );
$output = preg_replace( '/<a\s.*><\/a>/', '', $output );
return $output;
Сниппет rssText
<?php
if(empty($cnt)) return '';
$output = str_replace( [ '&', '<', '>', '"', '\'' ], [ '&', '>', '<', '"', ''' ], html_entity_decode($cnt) );
return $output;
Как сделать так, что бы при выводе xml, в коде не выводился чанк формы обратной связи [[$formastranicy]]
Денис
09 апреля 2022, 23:26
modx.pro
458
0

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

Артур Шевченко
09 апреля 2022, 23:45
0
Извините если скажу глупость, но мне кажется надо чанк удалить. Можно попробовать сделать это в плагине на событие OnWebPagePrerender, где, используя регулярные выражения, можно вырезать то, что содержит чанк.
    Денис
    09 апреля 2022, 23:49
    0
    Не совсе силен в php, как это можно реализовать? Надо что бы чанк выводился в обычной версии сайта и вырезался в содержимом турбостраниц?
    Николай Савин
    10 апреля 2022, 08:17
    0
    Денис при вставке кода в текст, нужно помечать его специальным тэгом. Поправил на первый раз.
      Николай Савин
      10 апреля 2022, 08:18
      0
      По поводу вопроса. Без знаний PHP тут конечно не обойтись.
      Возможно немного поможет вот эта заметка
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        4