Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
02 декабря 2014, 08:08
+3
Как то странно запускать итератор, чобы выбрать только один результат. Также неясно, зачем менять getTickets, если можно использовать &prepareSnippet для подготовки строки?

[[!getTickets?
	&parents=`0`
	&prepareSnippet=`lastComment`
]]

Сниппет lastComment:
<?php
$comment = $pdoFetch->getArray('TicketComment',
	array('parent' => 0),
	array(
		'innerJoin' => array(
			'Thread' => array(
				'class' => 'TicketThread',
				'on' => 'TicketComment.thread = Thread.id AND Thread.resource = ' . $row['id'])
		),
		'select' => 'text',
		'sortdir' => 'DESC'
	)	
);

$row['last_comment'] = !empty($comment)
	? $comment['text']
	: '';
	
return json_encode($row);
Это должно работать быстрее.

Единственная возможная проблема, это если в массив ресурса попадёт что-то некорректное, что не пройдёт нормально конвертацию в JSON. Тогда можно попробовать:
return serialize($row);
02 декабря 2014, 07:13
0
Лично я всё делаю пакетами, в которые прописываю создание\обновление ресурсов, шаблонов, чанков и т.д. Фактически, можно прописать там весь сайт без проблем.

Файлы пакета хранятся на GitHub, скачиваются оттуда, собираются и устанавливаются секунд за 30. Интересно посмотреть, как это делаешь ты.
02 декабря 2014, 07:04
0
Скорее всего, у тебя не последняя версия mSearch2, в которой есть ошибка с выводом ресурсов через быстрый поиск.

Я её исправил, обновление доступно в магазине. Если версия всё же последняя — создавай тикет в магазине, будем разбираться.
02 декабря 2014, 06:54
+1
Обновись до последней версии и можно будет использовать параметр &countChildren:
[[pdoMenu?
    &parents=`0`
    &level=`2`
    &tplInner=`@INLINE [[+wrapper]]`
    &tplParentRow=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a> ([[+children]])</li>[[+wrapper]]`
    &countChildren=`1`
]]
01 декабря 2014, 17:27
0
Qiwi отлично умеет отправлять на Webmoney — я проверил =)
01 декабря 2014, 13:05
0
Проблема в криворукости некоторых дополнений. Хоть автор и сам Shaun McCormick, но сырая функция в плагине без проверки — это жесть.

Сделай так
if (!function_exists('SimpleSearchGetChildren')) {
	function SimpleSearchGetChildren(&$modx,&$children,$parent) {
		$success = false;
		$kids = $modx->getCollection('modResource',array(
			'parent' => $parent,
		));
		if (!empty($kids)) {
			/** @var modResource $kid */
			foreach ($kids as $kid) {
				$children[] = $kid->toArray();
				SimpleSearchGetChildren($modx,$children,$kid->get('id'));
			}
		}
		return $success;
	}
}
Таким образом, функция будет объявляться только один раз.

Ну и вообще там тяжелая выборка ресурсов через getCollection, с последующим превращением их в массив для передачи на индексацию. Очень накладно это выйдет на больших сайтах.
01 декабря 2014, 10:57
0
Молодцы!

Отправил 1000, ссылку можно проставить на modx.pro.
30 ноября 2014, 22:13
0
Может, убрать отправку оповещений для этого статуса в настройках miniShop2?
30 ноября 2014, 15:45
0
Не знаю.
Simple Dream планируют новые тарифы к НГ, там посмотрим.
30 ноября 2014, 15:45
0
При смене статуса отправляются письма покупателю и админу. Скорее всего 59 секунд уходит именно на это.
30 ноября 2014, 11:58
0
Права на каталоги меняются через контекстное меню, а для файлов такого нет.

Возможно (не проверял) права на каталоги меняются рекурсивно, вместе с файлами.
30 ноября 2014, 08:49
0
Поделитесь своими мыслями, пожалуйста. Очень не хочется повторения такого.
Скромно посоветую пользоваться хостингом с удобными бэкапами, верными правами на файлы, обновлениями движка и хорошей скоростью — h.simpledream.ru.

Специально же для любителей MODX сделали, а вы мучаетесь не пойми где.
29 ноября 2014, 17:40
0
Или просто добавить 3 системные настройки и выводит их как
[[++phone1]] [[++phone2]] и [[++phone3]]

А так — да, pdoField выводит только одно поле за раз.
27 ноября 2014, 13:06
+2
Не пройдут.
27 ноября 2014, 12:41
0
base — это не базовый тэг HTML
И не базовый то он, и не популярный.

Зачем его только придумали эти балбесы из W3C?
27 ноября 2014, 11:31
0
Тэг этот, мягко говоря, не самый популярный и используется не на каждом сайте
Если у тебя на сайте относительные ссылки — то этот тег необходим для верной работы. Если абсолютные — то можно обойтись и без него. Хотя непонятно, чем он может помешать.

Термин «популярность тега» мне не знаком. Если это какое-то новое направление в веб-технологиях, расскажи пожалуйста, хочу быть в курсе.

Но Вы тут же сделали вывод обо мне и моих знаниях.
Я знаю о тэге base (нагуглил вчера
Если нагуглил вчера — то вывод я сделал верный. Базовые теги HTML любой человек работающий с сайтами знать обязан. Это и есть матчасть.

Интересный у Вас способ общения на сайте.
Василий, я не понимаю Вашей агрессии и не хочу ссор.
У меня времени мало, отвечаю четко и по делу. Добавление правильного тега base решает твою проблему, или нет?

Если хочешь абсолютные ссылки, вместо относительных — укажи
[[pdoCrumbs?
	&scheme=`abs`
]]
27 ноября 2014, 10:31
0
Ты чего сказать-то хотел? Что у тебя всё хорошо, а это в pdoCrumbs, Wayfinder и BreadCrumbs ошибки?

Поясни, пожалуйста.
26 ноября 2014, 20:46
0
У меня, кажется, работы только прибавилось. Обрати внимание — я бывший сисадмин =)

ИП платит налог только с заработанных денег. Нет дохода — сдаешь в налоговую «нулёвки». Обязательные платежи только страховые и в пенсионный фонд. Так что, работать ИПшником выгоднее со всех сторон.
26 ноября 2014, 19:30
0
Такая же проблема была и с Wayfinder и с BreadCrumbs
Если не знать матчасть, то проблемы будут постоянно htmlbook.ru/html/base
24 ноября 2014, 15:48
2
+1
А какое именно из всех изображений ресурса, первое? Вот тебе простейший сниппет:
<?php
$pdo = $modx->getService('pdoFetch');
$id = $modx->getOption('id', $scriptProperties, $modx->resource->id);
$rank = $modx->getOption('rank', $scriptProperties, 0);

$res = $pdo->getObject('msResourceFile',
	array('resource_id' => $id, 'rank' => $rank),
	array('loadModels' => 'ms2gallery','select' => 'url')
);
return $res ? $res['url'] : '';

Вызывать как-то так:
[[ms2GalleryImage?id=`[[*id]]`]]