Теги в коллекции
        Здравствуйте! 
Подскажите пожалуйста, как можно в коллекции вывести TV значения компонента TVSuperSelect в читаемом виде, т.к. это поле отображается в json формате.
 
Пример вывода TVSuperSelect:

Заранее спасибо!
    
    
                                                                                
            Подскажите пожалуйста, как можно в коллекции вывести TV значения компонента TVSuperSelect в читаемом виде, т.к. это поле отображается в json формате.
Пример вывода TVSuperSelect:

Заранее спасибо!
Комментарии: 5
                Вижу несколько вариантов:
1) Кастомный js рендерер
2) Кастомный php рендерер в виде сниппета
3) Создать ещё одно ТВ (например: скрытое), написать сниппет чтобы он распарсил значение нужного ТВ и воткнул в созданное и повесить на событие при сохранении ресурса, получится что и кастомный рендерер не нужен будет.
4) И много-много разных других решений ;)
                    1) Кастомный js рендерер
2) Кастомный php рендерер в виде сниппета
3) Создать ещё одно ТВ (например: скрытое), написать сниппет чтобы он распарсил значение нужного ТВ и воткнул в созданное и повесить на событие при сохранении ресурса, получится что и кастомный рендерер не нужен будет.
4) И много-много разных других решений ;)
                Про кастомный js рендер даже автор tvsuperselect упомянул в публикации, значит он уже его делал для документов, надо лишь попросить у него готовый код или найти в MODX, где он указывает для вывода ТВ значения для документа, который в последствии можно добавить как рендер или xtype, если правильно понял.            
                    
                Удалось сделать? Если нет, то вот, как-то делал рендерер для того чтобы доставать первую картинку с migx поля:
                    collections.renderer.migximage = function (value, metaData, record, rowIndex, colIndex, store) {
	if (value != '' && value != null) {
		var jsonString = value;
		var jsonData = JSON.parse(jsonString);
		var image = jsonData[0].image;
		return '<img src="' + MODx.config.base_url + imgPath + image + '" width="64">';
	}
};            надо лишь попросить у него готовый кодЭто излишество — достаточно чуть-чуть погуглить и написать 4-6 строк для кастомного рендера:
var tvSuperSelect = function(value, metaData, record, rowIndex, colIndex, store) {
	if (value != '' & value != null) {
		//Тут, возможно, нужно будет дополнительно обработать входящее значение, вырезав из него лишнее
		var tags_list = JSON.parse(value);
	
		return tags_list.join(', ');
	}
}            
                Спасибо. Помогло
            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.