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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
09 сентября 2013, 22:29
0
В поле vendor лежит id производителя, а в tags — массив.

Эти поля отлично выводит mFilter2, который идет в комплекте с mSearch2.
Василий Наумкин
09 сентября 2013, 19:58
0
А я думал, плагины тоже включены.

Включил сейчас, смотри.
Василий Наумкин
09 сентября 2013, 16:41
0
Ты думаешь, если задать вопрос 2 раза, кто-то ответит?

Это азы MODX, букварь. Никому не интересно рассказывать, как писать чанки и указывать их сниппету.
Василий Наумкин
09 сентября 2013, 12:36
0
Да, верно. Куда то потерялся у меня плейсхолдер =)

В любом случае, я очень надеюсь добавить это в родной функционал, и читать не придётся.
Василий Наумкин
09 сентября 2013, 06:54
0
Все просто — в ajax возвращаются все отправленные поля.

Поэтому, надо в форме сделать так:
<input type="hidden" name="photo" value="" />
<input type="file" name="newphoto" />
В поле newfile отправится загружаемый файл — именно его мы ловим в плагине.
А скрытое поле photo нужно только для того, чтобы в ajax ответе появилось значение.
Василий Наумкин
08 сентября 2013, 22:05
0
Если ты и это не нашел в описании — не покупай.

Я не смогу в техподдержке отвечать на такие вопросы.
Василий Наумкин
08 сентября 2013, 22:03
0
Открой эту страницу, затем нажми Ctrl+F, там набери TV и читай, где совпало.

Мне помогает.
Василий Наумкин
08 сентября 2013, 20:25
0
Когда разбираешься, желательно читать документацию — она для того и пишется.

Про галерею у меня довольно подробно расписано, включая генерацию превью.
Василий Наумкин
08 сентября 2013, 19:13
0
Может, нужно настроить источник файлов, чтобы генерировались превьюшки желаемого размера?

Сейчас ты просто меняешь ширину в чанках, даже не зная, какого реального размера картинки на сервере.
Василий Наумкин
08 сентября 2013, 19:03
1
0
Как будет время — постараюсь добавить это в дефолтный функционал.

А пока держи готовое решение плагином:
switch ($modx->event->name) {

case 'OnBeforeUserFormSave':
if ($mode != 'upd') {return;}
$profile = $user->getOne('Profile');

if (!empty($_FILES['newphoto']) && preg_match('/image/', $_FILES['newphoto']['type']) && $_FILES['newphoto']['error'] == 0) {
	$path = 'images/users/';
	$file = $path . md5($modx->user->id . time()).'.jpg';
	$url = MODX_ASSETS_URL . $file;
	$dst = MODX_ASSETS_PATH . $file;
	
	$tmp = explode('/', $profile->get('photo'));
	$cur = MODX_ASSETS_PATH . $path . end($tmp);
	$params = array(
		'w' => 200		// Ширина
		,'h' => 200		// Высота
		,'bg' => 'ffffff'	// Фон
		,'q' => 95		// Качество в %
		,'zc' => 0		// Обрезка, TL - это Top Left, есть еще C - center, BR - Bootom Right  и т.д.
		,'f' => 'jpg'		// Формат изображения
	);
	
	if (empty($_FILES['newphoto']['tmp_name'])) {return;}
	elseif ($profile->get('photo') && empty($_REQUEST['photo'])) {
		if (file_exists($cur)) {unlink($cur);}
		$profile->set('photo', '');
		return;
	}
	else {
		move_uploaded_file($_FILES['newphoto']['tmp_name'], $dst);
		$phpThumb = $modx->getService('modphpthumb','modPhpThumb', MODX_CORE_PATH . 'model/phpthumb/', array());
		$phpThumb->setSourceFilename($dst);
		foreach ($params as $k => $v) {
			$phpThumb->setParameter($k, $v);
		}
		if ($phpThumb->GenerateThumbnail()) {
			if (!$phpThumb->renderToFile($dst)) {
				$modx->log(modX::LOG_LEVEL_ERROR, 'Could not save rendered image to'.$dst);
			}
			if (file_exists($cur)) {unlink($cur);}
			$profile->set('photo', $url);
		}
		else {$modx->log(modX::LOG_LEVEL_ERROR, print_r($phpThumb->debugmessages, 1));}
	}
}
break;
Василий Наумкин
08 сентября 2013, 18:27
0
На store.simpledream.ru/packages работает платный mSearch2.
Василий Наумкин
08 сентября 2013, 18:26
0
Прочитай еще раз — все подробно расписано.

Фильтру нет разницы, ТВ это или любая другая таблица. Он может работать с чем угодно.
Василий Наумкин
08 сентября 2013, 07:19
0
Не знаю.

Сам подумай, если у тебя работают другие провайдеры и не работает только фейсбук — дело явно не в компоненте, а в ключах или настройках у FB.
Василий Наумкин
08 сентября 2013, 07:10
0
Ну значит лично у тебя неправильная версия компонента, потому что у меня, в магазине и на mamaboutique.ru вход через Facebook работает.
Василий Наумкин
07 сентября 2013, 15:33
0
Чем не подходит getResources?

Или pdoResources?
Василий Наумкин
07 сентября 2013, 14:15
0
if ("[[+playTime]]")
Эмм… Ты разницу между html и php понимаешь?

Плейсхолдеры — это места в чанках html, куда php подставляет значения. Внутри сниппета php ими оперировать нельзя.

echo в MODX тоже не принято применять, ибо ты выводишь строку сразу в месте выполнения, а не добавляешь в вывод.

Я не смогу тебе помочь, проще сразу заказать нужный сниппет у фрилансера.
Василий Наумкин
07 сентября 2013, 13:12
0
Я нифига не понял, в чем может быть проблема. Ничего «самокомментироваться» не может. Мы же не домохозяйки, у которых «оно само сломалось, я ничего не делала!»

Версия MS2?
Версия pdoTools?
Код скрипта?
Код чанка?