[EVO] Ditto. Фильтрация по тегу. Как вывести в заголовке страницы-результате название тега?

Страницы товаров имеют теги. Ditto корректно отфильтровывает по тегу и выводит результаты. Нужно, что бы в заголовке страницы с результатом выводилось название тега, по которому производится выборка товаров. Т.е. если фильтр по тегу «новинки», то и заголовок страницы с результатом то же должен быть «новинки». Как это сделать?
Для вывода тегов на странице товара используется сниппет tagLinks.

вызов tagLinks на странице товара:
[[tagLinks? &id=`[+id+]` &tv=`tags` &separator=` |` &element=`span` &fap=`1` &path=`[~5~]` &label=` `]]

Вызов Ditto:
[[Ditto? &depth=`3` &hideFolders=`1` &tpl=`card-tpl` &parents=`5` &tagData=`tags` &tagDelimiter=`, `]]

Посмотреть на примере: digitaltutor.ru/shcool-forma.html?tags=%D0%BD%D0%BE%D0%B2%D0%B8%D0%BD%D0%BA%D0%B8

4 комментария

avatar
я как-то лез в код экстендера для дитто и дописывал туда плейсхолдеры новые, но лучше через плагин или сниппет. Необходимо брать значение GET и выводить куда надо.
У вас там Новинки, получится сниппетом что-то такое:


if($_GET['tags']){
	$tag_name = $_GET['tags'] ; // тут почистите параметр 
	return $tag_name
}
Комментарий отредактирован 2014-01-26 11:13:51 пользователем MrJenika
avatar
Спасибо за наводку. Попробую реализовать.
avatar
Вот что получилось:
if($_GET['tags']){
	$tags = trim($_GET['tags']);
	$tags = strip_tags($tags);
	$tags = htmlspecialchars($tags);
	$tags = mysql_escape_string($tags);
	echo $tags;
}

Т.к. я в php, мягко скажем, не силен, хотелось бы услышать комментарии:
1. не переборщил ли я с фильтрацией?
2. вывод параметра через echo а не return — это нормально?
avatar
можно было просто написать в сниппете

return isset($_GET['tags']) ? $modx->db->escape($_GET['tags']) : '';


было бы нагляднее и красивее :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.