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

Andrey Grachov
27 декабря 2012, 15:00
0
В ходе обработки запроса modx загружает ресурс и все его tv-параметры, и потом при получении значений tv-параметров обращается к первоначальным данным. После установки нового значения надо выполнить что-то вроде:
$modx->resource->set('tv_name', null);
Василий Наумкин
27 декабря 2012, 14:55
1
0
Да хоть бы код в тег code оформил, хрен с ним, с «пожалуйста».
Работает без проблем, но только при одном условии — если вызывается не на странице, ТВ которой он должен обновить.
if ($res = $modx->getObject('modResource', 1)) {
	$res->setTVValue(1, 1);
	echo $res->getTVValue(1);

	$res->setTVValue(1, 2);
	echo $res->getTVValue(1);
	die;
// 12
}

А вот так — выдаёт прикольный глюк, очевидно связанный с кэшированием.
if ($res = $modx->getObject('modResource', $modx->resource->id)) {
	$res->setTVValue(1, 1);
	echo $res->getTVValue(1);

	$res->setTVValue(1, 2);
	echo $res->getTVValue(1);
	die;
// 22
}
Поэтому, переходим на обычный xPDO
if ($tv = $modx->getObject('modTemplateVarResource', array('tmplvarid' => 1, 'contentid' => $modx->resource->id))) {
	$tv->set('value', 1);
	echo $tv->get('value');
	//$tv->save(); //по желанию
		
	$tv->set('value', 2);
	echo $tv->get('value');
	die;
// 12
}

Почему выходит такая фигня — мне не ведомо, а копать исходники времени нет.
Yan Alex
27 декабря 2012, 13:54
0
Пробовал так, тот же результат, ТВ упорно меняется только после того как я один раз открою страницу, как будто тв у объекта сейвятся после отработки скрипта.

$tv = $modx->getObject('modTemplateVar',array('id'=>'11'));
$tv -> setValue($modx->resource->get('id'), 88);
$tv->save();

print_r($modx -> resource -> getTVValue(11));

Выводит сперва значение которое было, после перезагрузки страницы уже то что выставляю в скрипте.
Добряков Алексей
27 декабря 2012, 13:50
0
Мне нужно не проста тупо печать страницы, а прям что бы генерировалась новая страница по шаблону который я укажу и данные которые я отправлю, это печать сделанного заказа
Yan Alex
27 декабря 2012, 13:45
0
Тогда предлагаю добавить в форму вопроса поле «Волшебное слово» xD. Помочь сможешь? Пожаааалуйста )
Василий Наумкин
27 декабря 2012, 13:39
0
Быстро подорвался и на вапрос атветил, да?
Бевзенко Сергей
27 декабря 2012, 13:28
0
Хм. Установил чанки. И для менеджера и для пользователя один и тот же. Пользователю приходит сообщение. Менеджеру нет.
email менеджера указан во вкладке Склад?
Наговицын Павел
27 декабря 2012, 10:28
0
Мне они самому не нравятся, просто на данный момент хочу протестить работоспособность, все равно сайт буду переносить, а на джино несколько сайтов висит — вот его пока и юзаю.
Спасибо за совет
Yulia Udacheva
27 декабря 2012, 09:28
0
Удалите архивы пакетов из папки core/packages, мне на джино помогло. Тоже по глупости когда то там зарегистрировал домен. Интересно, что может понравиться в ТП джино, которая отвечает раз в месяц)
Василий Наумкин
27 декабря 2012, 07:32
0
Выглядит он очень старым, сложным и неповоротливым. Больше всего напоминает Quip.

У меня нет желания ставить и проверять.
Василий Краковецкий
27 декабря 2012, 07:31
0
Есть целая ссылка —
<a href="#" onclick="javascript:window.print();  return false;">Печать страницы</a>
или тоже самое кнопкой —
<input type="button" value="Печать" onclick="javascript:window.print()"></input>
главное не забудьте сделать файл со стилями для печати —
<link rel="stylesheet" type="text/css" href="print.css" media="print"/>
Василий Краковецкий
27 декабря 2012, 07:25
0
В той теме сегодня ночью сам Mark Hamstra объявился) Пишет что действительно это больше похоже на бету, и нужно пару ошибок исправить, вроде отсутствующего скрипта $LAB, в остальном форум рабочий, и если внимательно покурить документацию, то можно получить довольно быстро собственный форум на движке модикса.
Ильин Дмитрий
26 декабря 2012, 14:40
0
ага. Понял.
Как-то не задумывался по этому поводу, а ведь ваша реализация весьма гибко продумана!
Низкий поклон Вам!)
Василий Наумкин
26 декабря 2012, 14:38
0
Немного поясню, почему сделано именно так.

В miniShop вы можете добавлять товары с параметрами, то есть, id будет один и тот же, а свойства разные. В корзине это должно быть разными элементами, поэтому id в качестве ключа массива использовать нельзя.

При выводе корзины скрипт выводит все элементы корзины с ключиком, чтобы можно было удалить или изменить их количество, а на странице товара просто не ясно какой ключ выставлять — ведь в корзине он может быть несколько раз и с разным цветом (или еще чем).

Вам этот функционал, пока, не нужен, но решение универсальное, поэтому придется терпеть.
Ильин Дмитрий
26 декабря 2012, 14:32
0
Хорошо. Я вас понял.
Спасибо Василий, будем думать.
Василий Наумкин
26 декабря 2012, 14:29
0
А кто вам на этой странице выставит плейсхолдер [[+key]]?

Его выставляет сниппет miniShop при генерации корзины, и работают они только в корзине. Зачем удалять товар из корзины на странице товара — это не логично ведь?

Если есть огромное желание сделать именно так — пишите сниппет и запускайте на странице товара. Он должен перебрать $_SESSION['minishop']['goods'], найти там товар и выставить плейсхолдер с ключом этой позиции.
Ильин Дмитрий
26 декабря 2012, 14:23
0
Хм… вроде все выставил. Перепроверил.
Но все равно удаление не происходит. Опять же вылетает ошибка.
Страница товара:
galina-beaut.ru/katalog/busyi/iz-malaxita/busyi-1.html
Василий Наумкин
26 декабря 2012, 13:53
0
Ошибка в коде ссылки
<a href="#" class="remFromCart" data-key="[[*id]]"></a>

Должно быть не [[*id]], а [[+key]]. Ибо товары удаляются не по номеру, а по ключу, который генерируется из номера страницы-товара и дополнительных свойств. Добавляются по номеру, да.

Вот цитата из оригинального чанка товара в корзине
<a href="#" class="remFromCartLink" title="Удалить из корзины" data-key="[[+key]]"><i class="icon-remove"></i></a>
Простыни кода я потёр.