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

Антон
20 сентября 2022, 20:39
0
в точку)
Чанк главной карточки
<div class="col-6 col-md-3 col-sm-6 gv-card">
<div class="product-grid">
<div class="product-image">
<a href="[[~[[+id]]]]" class="image">[[!ms2Gallery? &resources=`[[+id]]` &limit=`1` &tpl=`ms2Gallery.mainpage.tpl`]]</a> 
<div class="add-to-cart">
<a href="[[~[[+id]]]]">[[+pagetitle]]</a>
</div>
</div>
</div>
</div>
Чанк ms2Gallery.mainpage.tpl:
{if $files?}
    {foreach $files as $file}
<img src="{$file['url'] | phpthumbon: 'fltr[]=wmi|assets/wm/wm.png|C|40|100|100|0'}" alt="...ТО САМОЕ..." title="{$file['name']}">
    {/foreach}
{else}
<img src="assets/img/projects/v-1.png" alt="[[+pagetitle]]" title="[[+pagetitle]]"/>
{/if}
Александр Туниеков
20 сентября 2022, 20:36
0
$_modx->resource.id — выводит 1
Ну тут выдается главная страница. То есть код выполняется когда показывается главная. $_modx->resource это массив параметров страницы которая загружается показывается.
Ты на главной выводишь блок с ресурсами. Например:
{'!pdoResources' | snippet : [
    'parents'=>5,
    'tpl'=>'res_chunk'
]}
В res_chunk можно указывать:
{($id | resource: 'parent') | resource: 'pagetitle'}

И должно верно вернуть паджтитл ресурса родителя.
Но наверно ты в res_chunk еще вызываешь ms2Gallery c каким-то чанком. Например gallery_chunk и вот в нем уже $id вернет id файла (или 0 наверно). Чтоб получить id ресурса из res_chunk надо подумать как это сделать.
Но сперва скажи угадал? или у тебя что-то другое?
Антон
20 сентября 2022, 20:35
0
все верно, в чанке прописан код вывода изображения для определенного документа. Есть задумка немного автоматизировать формирование alt для картинки и вписывать туда значения родителя, к которому принадлежит документ (разбавленный другими фразами. Как Вы наверное уже поняли, родитель — это город. Таких родителей около 100ни.
Антон
20 сентября 2022, 20:19
0
$_modx->resource.parent — выводит 0
$_modx->resource.id — выводит 1
$parent — ничего не выводит
Антон
20 сентября 2022, 20:18
0
также выводит Home (id=1)
Evgeny
20 сентября 2022, 19:54
0
ничего не происходит
Александр Туниеков
20 сентября 2022, 19:50
0
Я пробовал делать компонент замену mFilter2. Вместо связки значение фильтра — ids ресурсов в массиве, хотел сделать эту связку в базе прописать и вытаскивать ids отфильтрованных ресурсов запросами. Но если отфильтровывает быстро, то подсказки на 100к товаров отрабатывают за сек 10. И если в mFilter2 улучшить кеширование, то разницы в скорости работы особо нет.
Надеюсь понятно написал для тех кто в курсе как mFilter2 работает.
Александр Туниеков
20 сентября 2022, 19:25
0
Ну я в курсе, что так заработает. Я не в курсе почему неожиданно сработало так, что переменная которая вроде не менялась изменилась?
вы же по сути ссылку делаете на значения.
Можно поподробнее. Вот ссылка на значение &$v1. И с ней ничего не делаем. Вот ссылка на на значение &$v2. Там меняем переменную. Икак происходит что изменилась переменная которую не трогал?
Нужный код я поправил, чтоб заработал. Хотелось бы понимание что происходит, чтоб не нарываться в будущем
Гоша
20 сентября 2022, 18:09
0
Это относится только к ядру?
Рекомендуется использовать это только в том случае, если вы планируете переместить каталоги менеджера или соединителей, и у вас есть доступ SSH и вы знакомы с созданием папок с возможностью записи.
Иван Бочкарев
20 сентября 2022, 18:01
0
В 3 версии нельзя выносить ядро!
Гоша
20 сентября 2022, 17:40
0
Скачивал архив с modx.com, закачал на хостинг через ftp распаковал setup в папку public_html а core на уровень выше, соответственно получил что написал (до этого таким образом устанавливал
все сайты до версии 2.8.4 все прекрасно устанавливалось)
deleted
20 сентября 2022, 17:03
0
Где-то читал, что планируются фильтры и сравнение. Реализовывал это на нескольких сайтов без сторонних компонентов. Нужна ли помощь?
Николай Савин
20 сентября 2022, 16:20
0
Судя из текста ошибки — не достает каких то компонентов-зависимостей.
Устанавливали из zip архива или через git?
Александр Быковский
20 сентября 2022, 16:14
0
flashshop.pro более не доступен до определенного времени?
Гоша
20 сентября 2022, 15:55
0
Извините, может кто-то подсказать, почему при установке версиии 3.0.1 advanced выводит «Error 503
Site temporarily unavailable; missing dependencies.», при том что все папки доступны для записи?
Роман
20 сентября 2022, 15:39
0
$resource->id
нужно заменить на
$resource->get('id')
Он значение ID не получает, поэтому и не пишет.
Это вообще можно удалить, оно не нужно:
$content = $resource->get('content');
Итого:
foreach($resources as $resource) {
    $tags = ["тег суперселект"];
	
	$values = explode(',', $tags);
	
	foreach ($values as $value) {
		$where = array(
			'resource_id' => $resource->get('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->get('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);
		}
	
	}
}
Evgeny
20 сентября 2022, 14:09
0
чистил, в базу не пишется, ни в одной таблице нет
запускаю так
<?php
$q = $modx->newQuery('modResource');
$q->where(array(
    'parent' => 816,
    'template' => 3
    ));
$resources = $modx->getIterator('modResource', $q);
$modx->addPackage('tvsuperselect', MODX_CORE_PATH .'components/tvsuperselect/model/');
$tv_tss = 39; //тут нужно указать 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, 13:49
0
Кэш после этого чистили? Проверьте базу, пишется ли в базу.