Метод sendForward() и сохранение полей ресурса

Могие знают полезный метод в MODX — sendForward('id'), который позволяет загрузить некий ресурс без изменения url. При помощи этого метода работает выдача страниц «404 не найдено» и «401 требуется авторизация».

Но немногие знают, что можно выдавать заменяющую страницу, сохранив оригинальные pagetitle, introtext и другие поля.

Не знаю, есть ли это в документации, но как следует из исходного кода метода, нужно просто указать дополнительный массив с ключами:
$options = array(
	'merge' => 1, // Включает механизм склейки полей
	// список оригинальных полей, которые нужно исключить из результата
	'forward_merge_excludes' => 'id,template,type,published,class_key'
);
$modx->sendForward(15, $options);

Ключ forward_merge_excludes заведует полями исходной страницы, которые нужно исключить из результатов.
К эти полям обязательно будут прибавлены еще:
content,pub_date,unpub_date,richtext
То есть, оригинальный content показать никак не получится — а иначе, зачем вообще делать forward?

Теперь вы можете красиво закрывать разделы сайта, оставляя pagetitle и description для посетителей и поисковиков.
Василий Наумкин
18 ноября 2013, 01:11
modx.pro
12
5 002
0

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0