echo "[[*id]]"; //выводит 671
Как отсюда выделить последний символ -1?
$str = '[[*id]]';
echo $str; // 671
$last = substr($str,-1);
echo $last; //выводит ]
Попробуйте так:
$str = $modx->resource->get('id');
echo $str;
$last = substr($str,-1);
echo $last;
Дело в том, что в вашем примере $str присваивается строка "[[*id]]" а потом уже парсер modx ее преобразует в id страницы
P.S. Исправил ответ, пропустил, что вы хотите получить ид страницы с которой вызываете сниппет. Просто, если вызывать сниппет с каким либо параметром например:
[[mysnippet?&myvar=`aaa`]]
То в php вы можете обращаться к этому параметру через переменную $myvar
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости