Как получить имя и id сниппета из кода самого сниппета?
Не передавая эти данные в сам сниппет (как это рекомендует BobRay вот здесь)
Полгода назад видел на каком-то форуме (вроде, community.modx-cms.ru) — было предложено решение. Тогда не проверил и не сохранил информацию. А вот сейчас приспичило.
Парсер modx вызывает сниппеты как функции и единственный способ добраться до имени сниппета — поля парсера (modx->parser). Но у парсера (согласно исходникам) нет полей, отвечающих за имя скрипта, выполняющегося в данный момент (только флаги _processingTag и _processingElement).
Можно было бы сказать, что задачу решить нельзя. Но ведь было решение. Было предложено решение, которое не могу нигде найти…
$this внутри кода сниппета — это и есть сниппет.