Всего 123 810 комментариев

Evgeny
20 сентября 2022, 13:02
0
у меня не работает(
находил чтото похожее и пытался адаптировать, не получилось
Алексей Смирнов
20 сентября 2022, 11:53
0
А если убрать у переменных &
foreach($a as $k=> $v1){
}
у вас код так же заработает как хотите. вы же по сути ссылку делаете на значения.
Артур Шевченко
20 сентября 2022, 11:12
0
1. Если ты думаешь, что можно включить феном только в чанках, а потом эти чанки вставить на страницу вот так [[$test]] и всё будет работать, то нет. Феном в чанках работает только если эти чанки парсятся при вызове сниппета, который умеет работать с pdoTools.
2. JS надо подключать нормально, но если до тебя кто-то поленился, ты не обязан переделывать, но ты можешь заменить все { на {пробел.
Роман
20 сентября 2022, 09:44
0
Как-то вот так будет работать, не тестировал. $tv_tss поменяйте на свой.
$modx->addPackage('tvsuperselect', MODX_CORE_PATH .'components/tvsuperselect/model/');
$tv_tss = 1; //тут нужно указать ID 'super_select_tags'

foreach($resources as $resource) {
    $content = $resource->get('content');
    $tags = ["тег суперселект"];
	
	$values = explode(',', $tags);
	
	foreach ($values as $value) {
		$where = array(
			'resource_id' => $resource->id,
			'tv_id' => $tv_tss,
			'value' => $value,
		);
		
		if (!$modx->getCount('tvssOption', $where))
		{
			$new = $modx->newObject('tvssOption');
			$new->fromArray($where);
			$new->save();
			unset($new);
		}
		
		$where = array(
			'contentid' => $resource->id,
			'tmplvarid' => $tv_tss,
		);
		
		if ($old = $modx->getObject('modTemplateVarResource', $where))
		{
			$old_values = $modx->fromJSON($old->value);
			$old_values[] = $value;
			$old->set('value', $modx->toJSON(array_unique($old_values)));
			$old->save();
		}
		else {
			$new = $modx->newObject('modTemplateVarResource');
			$new->fromArray($where);
			$new->save();
			unset($new);
		}
	
	}
}
Роман
20 сентября 2022, 09:35
0
Могу предположить, что он в формате json хранит. Так что отправляйте как:
$resource->setTVValue('super_select_tags', json_encode(["тег суперселект"]));
$resource->save();
Плюс в доках сказано, что для данного TV есть отдельная таблица и он пишет в сразу в 2 таблицы, поэтому нужно посмотреть исходники, как там это реализовано, так же для вызова нужно использовать разделитель ||:
{$_modx->runSnippet('tvssResources', [
    'tv' => '2',
    'tags' => $_modx->runSnippet('tvssTags', ['id' => $_modx->resource.id, 'tv' => '2', 'tpl' => '@INLINE [[+tag]]', 'outputSeparator' => '||']),
    'parents' => 0,
    'limit' => 4,
]) ?: 'Похожих записей не найдено'}
Роман
20 сентября 2022, 09:09
0
Сначала нужно проверить, что выдает:
$_modx->resource.parent
$_modx->resource.id
$parent
и уже оттуда плясать. =)
snowdog178
19 сентября 2022, 23:16
0
Разве? Везде написано, что [[+price]]
Дмитрий
19 сентября 2022, 23:14
0
аналогичная проблема((( удалось решить?
Артур Шевченко
19 сентября 2022, 23:12
0
Конечно конфликтуют ведь и поле ресурса и ТВ в карточке товара выводится так [[*price]]
snowdog178
19 сентября 2022, 23:02
0
Запретил ее использование в шаблоне товара и о чудо, все заработало. Видимо, tv конфликтуют как-то с полями товара, если имена одинаковые.
Артур Шевченко
19 сентября 2022, 23:00
0
ХЗ где ты пытаешься это сделать, но предположим, что в чанке, тогда скорее всего надо писать так
{($id | resource: 'parent') | resource: 'pagetitle'}
Артур Шевченко
19 сентября 2022, 22:30
0
А ТВэшкой что? Ты её удалил?
Дмитрий
19 сентября 2022, 22:25
0
Сделал в итоге:
Возможно:
Выключить
Асинхронно:
Делать запросы к подзаданиям и медиа-файлам асинхронно
Валерий
19 сентября 2022, 17:10
0
Добрый день.
А есть ли возможность добавить поиск, как на яндекс.карте, например. Случай, когда человек живет в городе, где нет представительства (маркера на карте), но ввод города поможет сориентироваться какое представительство ближе.

geosales_map_controls способно добавить поиск? :)
Алексей
19 сентября 2022, 16:33
0
Добрый день!
Выше написал, как я решил.
snowdog178
19 сентября 2022, 15:57
0
Та же проблема. Как удалось решить? Феном не использую. [[+price]] выдает единицу и хоть ты тресни.
Роман
19 сентября 2022, 15:31
+1
Спасибо, поддержал. Очень нужна была функция добавление новых заказов через админку, некоторые менеджеры работают только через админку.
Евгений
19 сентября 2022, 14:24
0
есть готовый кэширующий плагин для ускорения сайта: github modxExtraCachePlugin
умеет кэшировать сессионные ключи от компонентов и прогревать кэш через wget