Сниппеты: обрезаем текст до точки

Сниппеты MODX Revolution

 

Выводить анонсы статьи на сайте можно по-разному. В MODX Revolution даже существует поле «Аннотация», информацию из которого можно отображать где угодно. Но встречаются ситуации, когда некоторым причинам аннотации не пишутся, а анонсы тем не менее нужны. Для такого случая существует вариант выборки текста из непосредственно начала самого контента.

Способов на самом деле много, этот – несколько измененный пример из официальной документации MODX Revo. Производит обрезку текста до последней точки в заданных пределах.


Создаем новый сниппет, даем ему название tCut, вставляем нижеприведенный код:

<?php 
  $output = '';
  $options = !empty($options)?$options:50;
  if (!empty($input) && !empty($options)) {
    if (strlen($input) > $options) {
      $output = substr($input, 0, strrpos(substr($input, 0, $options), '.'));
    } else{
      $output = $input;
    }
  }
  return $output;

В нужном месте шаблона производим вызов сниппета:

[[+content:tCut =`150`]]
Теперь ваши контент-менеджеры могут сэкономить время на написании вступительных предложений, используя его для более важных рабочих моментов.