Вставка содержимого внутрь блока content

Добрый день.

Для внутренней перелинковки материалов требуется вставить блок со ссылками в середину статьи.
Текст статьи располагается в поле content.
Вопрос: можно ли каким-то скриптом / плагином / дополнением вставить этот блок в середину content?
Если у кого-то есть решение — поделитесь плиз
Андрей
17 сентября 2020, 19:18
modx.pro
117
0

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

Тодор
17 сентября 2020, 20:20
0
Ты хочеш на всех статей вставить статичный блок или для каждой статьи свой блок. Если статичничный то просто меняш шаблон, а если разный для каждого ресурса:
$where = array(
    'template' => '999'
);
//$where - Свои условия для каких ресурсов будет добавлен "СВОЙ блок со ссылкам"
$coll = $modx->getCollection('modResource', $where);
foreach($coll as $res){
    $content = $res->get('content');
    $newContent = $content . "СВОЙ блок со ссылкам";
    
    $res->set('content', $newContent);
    $res->save();
}
    Руслан Алеев
    18 сентября 2020, 11:06
    0
    У вас блок со ссылками пойдет после контента, а нужно в середину. Т.е. разбить содержание пополам, а затем пихнуть туда блок.
      Андрей
      18 сентября 2020, 11:16
      0
      да, именно так. Как-то разбить content пополам нужно и вставить туда блок
        Руслан Алеев
        18 сентября 2020, 11:24
        0
        У меня нету под рукой примера. Но я бы делал через плагин, опять же. Искал регуляркой в content кол-во
        <p>
        ,
        br/
        (каких-то разделителей текста), делил бы кол-во на 2 и после получившегося пихал бы блок, но не сохранял бы, как указано выше, а просто на выводе добавлял по событию OnWebPagePrerender.
        Вот пример плагина, который убирает пробелы и отступы на выводе, возможно вам станет понятнее как свой написать — modx.pro/solutions/20817
        Можно делать так же, но через js.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4