Николай Загумённов

Николай Загумённов

С нами с 19 сентября 2013; Место в рейтинге пользователей: #59
Николай Загумённов
20 февраля 2017, 11:04
0
Это 2 разных компонента, реализующих вывод списка заказов.
Николай Загумённов
20 февраля 2017, 10:45
0
Просто [[+createdby]] возвращает что-нибудь?
Николай Загумённов
20 февраля 2017, 10:43
0
Компонент Office и msListOrders
Николай Загумённов
01 февраля 2017, 00:26
0
у картинок есть поле rank отвечающее за порядок
Николай Загумённов
19 января 2017, 15:16
0
в каждом товаре по 5-6 изображений.
В вашем случае да
Николай Загумённов
19 января 2017, 15:12
0
сохраняем файл update_minishop2_previews.php в корне сайта и запускаем его из консоли SSH и ждем. (советую сделать полный бэкап прежде чем запускать скрипт)

php /var/www/......../update_minishop2_previews.php

<?php

// >> Подключаем
define('MODX_API_MODE', true);

if(file_exists('index.php'))
{
	require_once 'index.php';
}
else if(file_exists(dirname(dirname(dirname(dirname(__FILE__)))) . '/index.php'))
{
	require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/index.php';
}
else if(file_exists(dirname(dirname(dirname(dirname(dirname(__FILE__))))) . '/index.php'))
{
	require_once dirname(dirname(dirname(dirname(dirname(__FILE__))))) . '/index.php';
}
else {
	print "Не удалось подгрузить MODX";
	die;
}
// << Подключаем


// >> Включаем обработку ошибок
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
// << Включаем обработку ошибок


if(!isset($parents)) { $parents = 0; }		// Можно указать список категорий для поиска товаров
if(!isset($resources)) { $resources = ''; }	// Можно указать конкретный список товаров

$pdo = $modx->getService('pdoFetch');
$condition = array('parents' => $parents);
$files = $pdo->getCollection('msProduct',
	array(
		'msProduct.class_key' => 'msProduct',
	),
	array(
		'class' => 'msProduct',
		'parents' => $parents,
		'resources' => $resources,
		'innerJoin' => array(
			'msProductFile' => array(
				'alias' => 'msProductFile',
				'on' => array(
					'msProduct.id = msProductFile.product_id',
					'msProductFile.parent' => 0,
					'msProductFile.type' => 'image',
				)
			)
		),
		'select' => array(
			'msProductFile' => 'all'
		),
		'sortby' => 'msProduct.id'
	)
);

print $pdo->getTime();

foreach($files as $row)
{
	$file = $modx->newObject('msProductFile');	
	$file->fromArray($row, '', true, true);
	
	$children = $file->getMany('Children');
	foreach($children as $child)
	{
		$child->remove();
	}
	$file->generateThumbnails();
	
	// Обновляем thumb и image товара
	if($product = $file->getOne('Product'))
	{
		$product->updateProductImage();
	}
}

print microtime(true) - $modx->startTime;
Николай Загумённов
19 января 2017, 15:06
0
Чтобы перегенерировать превьюшки надо зайти в товар нажать правой кнопкой мыши на картинку и нажать «Обновить превью», если нужно обновить все превью разом то нужно запустить консольный скрипт который обновит всё. Не нужно удалять папку — assets/images/products
Николай Загумённов
19 января 2017, 15:02
0
Если я правильно понял вопрос то как обычную ТВ'шку: [[*mapex_tv_name]]
Николай Загумённов
30 декабря 2016, 11:59
0
Доброе утро! Я разрабатывал xPoller2, скайп z.kolia, можем обсудить варианты решения вашей задачи
Николай Загумённов
30 декабря 2016, 11:57
0
Доброе утро! Скайп z.kolia
Другие контакты в профиле
Николай Загумённов
24 декабря 2016, 19:32
0
можно написать плагин, на событие onDocFormSave, и придумать как связывать 2 ресурса в разных контекстах, например, по какому-то tv полю, или использовать компонент babel
Николай Загумённов
14 декабря 2016, 23:08
0
Так и не разобрался с этой проблемой, решил таким костылем: плагин на событие OnMODXInit

<?php
switch ($modx->event->name) {
    case 'OnMODXInit':
        // $modx->getService('lexicon','modLexicon');
        $modx->lexicon->load('tournaments:default');
        break;
}
Еще этот вариант помог мне выводить лексиконы в параметре tpl, сниппета pdoResources, выводящиеся через pdoPage. Когда листаешь страницу, ajax пагинация не подгружает кастомные лексиконы.
Николай Загумённов
02 декабря 2016, 11:14
0
Написать свой запрос и обработчик, не используя ajaxSnippet. Более подробно о том как это сделать описано в этой статье.
Николай Загумённов
30 ноября 2016, 10:20
0
Посмотрите в сторону нового компонента Павла Гвоздя — xParser. Возможно поддержав финансово вы бы могли учесть ваши пожелания в новой версии компонента.