Антон

Антон

С нами с 10 августа 2016; Место в рейтинге пользователей: #10096
Антон
02 октября 2016, 13:51
+1
И сразу получить еще кучу вопросов :)
Антон
02 октября 2016, 03:02
2
+2
Пересборка тумбов.
Просто создать любой qwerty.php файл в корне сайта и запустить из браузера.
<?php
define('MODX_API_MODE', true);
require 'index.php';		// Если файл лежит не в корне - здесь нужно указать верный путь
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$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'
	)
);

echo '<pre>';
echo $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();
	}
}

echo microtime(true) - $modx->startTime;
Антон
02 октября 2016, 01:55
+1
Медиа — Источники файлов — MS2 Images — thumbnails
[{"w":120,"h":90,"q":90,"zc":"1","bg":"000000"},
{"w":260,"h":328,"q":90,"zc":"1","bg":"000000"}]
Антон
28 сентября 2016, 21:30
0
Он есть и выводится, но в нем дата создания «главной».
Пришлось записывать timestamp в отдельное поле и его обрабатывать на странице.
Антон
22 сентября 2016, 05:48
0
Почему после обновления номер версии уменьшился?
Или это откат на предыдущую версию?
Антон
22 сентября 2016, 01:59
0
Тогда ждем вторую ветку ;)
Антон
21 сентября 2016, 10:37
0
Почему на тикетсах, а не на минишопе?
Доска объявлений не для объявлений же?
Для товаров, а товары — минишоп.
modx.pro/components/5443-ms2form-new-possibilities-for-editing/
Антон
20 сентября 2016, 09:58
0
Заранее благодарю.
Антон
20 сентября 2016, 08:45
0
Задача была, но забыл уже.
Сейчас просто колбэк хочу запустить, посмотреть как работает.

Как можно подключить ниже чем минишоповский скрипт? Если он в самом низу подключается?

Вот здесь, например, msearch2 колбэк запускается, хотя и выше основного скрипта.

$(document).on('mse2_load', function(e, response) {

	var page = mse2Config.page;
	var limit = Number(mse2Config.limit || mse2Config.start_limit);
	var pages = Math.ceil(Number(response.data['total']) / limit);
	
	console.log(page, pages, limit);
});
</script>
<script type="text/javascript" src="/assets/components/minishop2/js/web/default.js?v=96cf372a34"></script>
<script type="text/javascript" src="/assets/components/msearch2/js/web/default.js"></script>

<script type="text/javascript">
if ($("#mse2_mfilter").length) {
	if (window.location.hash != "" && mSearch2.Hash.oldbrowser()) {
		var uri = window.location.hash.replace("#", "?");
		window.location.href = document.location.pathname + uri;
	}
	else {
		mSearch2.initialize("body");
	}
}
</script>
</body>
</html>
Антон
20 сентября 2016, 06:14
0
Спасибо за попытку помочь.

Этот скрипт я подключал даже непосредственно перед закрывающим /body
Та же самая ошибка.
При этом minishop работает, товары добавляются.

Я его правильно понимаю? Его нужно писать просто в таком виде?
Антон
18 сентября 2016, 19:00
0
Всем огромное спасибо за помощь.
Антон
18 сентября 2016, 08:27
0
Картинки проще всего msGallery выводить

[[!msGallery?
&tpl=`tpl.msGallery`
&product=`[[+id]]`]]


Ниже — чанки tpl.msGallery
Все файлы (не обязательно картинки)
{foreach $files as $file}
                /assets/images/products/{$file['path']}{$file['file']
 {/foreach}


Только первый файл
/assets/images/products/{$file['path']}{$files['0']['file']}
Только второй
/assets/images/products/{$file['path']}{$files['1']['file']}

Можно предварительно посмотреть массив
<pre> [[!msGallery?
&tpl=``
&product=`[[+id]]`]]</pre>
Антон
10 августа 2016, 06:50
0
В настоящее время у меня проблема с датами. Очень некрасиво. Все даты записываются в «размер», а фильтр работает через ТВ с месяцами.
Сейчас думаю как можно красоту навести.
Антон
10 августа 2016, 03:09
+1
Есть сайт с учебными курсами. Каждый курс по 8 или 16 часов. На один курс может зарегиться более одного человека, но не более 25.
Каждая регистрация должна попадать в корзину.
Есть расписание курсов, каждый курс примерно раз в 2 месяца.

Можно это реализовать здесь?