Всего 122 914 комментариев

Василий Наумкин
29 сентября 2015, 10:34
+1
Это первый подобный вопрос на моей памяти за всё время работы с miniShop2 и магазинами, что как бы намекает на масштабы «проблемы».

Есть письмо о заказе, есть (должен быть) личный кабинет с заказами. К тому же ты, как программист, можешь расшить системные классы и изменить всю логику оформления заказа — это описано в документации.

Но на мой взгляд, с логикой всё в порядке — юзер должен или оплатить заказ или отказаться от оплаты, для этого его и отправили на платёжный сервис.
Если он такой продвинутый, что умеет пользоваться кнопками браузера, наверное должен и понимать что они делают.

ходить на оплату не с адреса /order.html, а с адреса order.html?msorder=123
И почему при заходе на order.html?msorder=123 в одном случае должен быть редирект на платёжный сервис, а в другом — вывод заказа?

Или не очищать сессию
Чтобы юзер смог наделать еще 10 одинаковых заказов. Он же не соображает, что происходит — из платежного сервиса ушел, а заказ всё еще не оформлен, корзина забита товарами.

В общем, попробуй решить этот свой вопрос самостоятельно, и показать что получится. Тем более, что тебе эту работу заказчик оплачивает, у которого вопросы возникают.
Alexey T
29 сентября 2015, 10:29
+1
Василий, спасибо за помощь и объяснение. Курс будет очень интересен, особенно момент как Fenom поможет сократить количество чанков в компоненте
Павел Ширяев
29 сентября 2015, 10:20
+1
Например, уходить на оплату не с адреса /order.html, а с адреса order.html?msorder=123, чтобы пользователь обратно попадал на страницу оформленного заказа, а не в пустоту. Или не очищать сессию, если пользователь ушел на страницу оплаты до тех пор, пока не пришел ответ success или failure, либо пока пользователь не вернулся. Можно хоть десять минусов наставить, но это некорректное поведение магазина и вызывает вопросы у заказчиков. Главный вопрос в том, что
Юзер ушел на платежную систему, не подтвердил там ничего, не отменил, а вернулся на сайт, где у него уже оформлен заказ и очищена сессия.
сайт не показывает, что заказ таки оформился. Это очевидно для разработчика, но не обязательно очевидно для пользователя, который не обязан разбираться в том, как это все вообще происходит.
Собственно, вопрос в том, как правильно поймать возвращение пользователя на сайт с платежной системы, чтобы показать ему не пустую страницу, а order.html?msorder=123 со вставкой, что оплата не прошла, и вот вам +payment_link.
Алексей
29 сентября 2015, 09:59
0
Смотри вот так вызываю
[[!getPage?
&element=`mSearch`
&limit=`5`
]]

<div class="pagination">
	<ul>
		[[!+page.nav]]
	</ul>
</div>
может тут косяк какой?
если нет, то посоветуй пожалуйста поиск на ajax
Василий Наумкин
29 сентября 2015, 09:58
0
Сочувствую.

mSearch давно не поддерживается.
Алексей
29 сентября 2015, 09:57
0
там был мой косяк, щас всё поправил ошибку не выдаёт, ajax прилетает, но нечего не работает, поиск просто стоит metro.ru/search-results.html?query=resource если вывожу так, то всё равно никаких результатов
Виталий
29 сентября 2015, 09:51
+2
Хорошая вещь.

Еще бы добавить формат для счета на оплату (для юр. лиц), вынести параметры в настройки и оформить в дополнение.

Думаю, что распространять тогда можно было бы и на платной основе.
Владимир
29 сентября 2015, 09:44
0
Недавно закончил один магазин, целиком построенный на Fenom. Всё получилось, но есть мнение, что пора писать новый обучающий курс про это.
Очень интересно!
Алексей
29 сентября 2015, 09:30
0
search-results.html?query=resource:18 Uncaught ReferenceError: $ is not defined такая ошибка вылазиет при вызове страницы поиска. с параметром. в чём может быть дело
SaLacoste
29 сентября 2015, 07:33
0
Про параметр показа товаров не знал, спасибо!

С параметром проблема сохраняется, она не связана с одной попыткой сохранения. Пробовал уже более 5 раз в разных браузерах.
Нашел выход: создал новый набор параметров, в нем он сохраняет все отлично, проблема только с набором по умолчанию.
Василий Наумкин
29 сентября 2015, 03:25
0
И что здесь неправильного?

Юзер ушел на платежную систему, не подтвердил там ничего, не отменил, а вернулся на сайт, где у него уже оформлен заказ и очищена сессия.

Как сайт должен понять, что юзер вернулся с платёжной системы, если он ничего там не сделал и не вернулся по ссылке? Он просто открыл снова страницу с корзиной, которая уже пуста.

Минус от меня.
Василий Наумкин
29 сентября 2015, 03:22
1
+1
Вообще, для таких дел оформление комментариев ветками в Tickets не очень подходит, но плоский режим я так пока и не доделал.

Можно попробовать сделать такой сниппет-обёртку getAuthorComments:
<?php
if ($modx->user->id != $modx->resource->createdby && !$modx->user->isMember('Administrator')) {
	$scriptProperties['where'] = $modx->toJSON(array(
		'createdby:IN' => array($modx->user->id, $modx->resource->createdby),
	));
}

return $modx->runSnippet('TicketComments', $scriptProperties);

И вызывать его вместо TicketComments, где нужно:
[[!getAuthorComments?
	&showLog=`1`
]]
Василий Наумкин
29 сентября 2015, 03:06
+2
{$_modx->runSnippet('!pdoMenu@PropertySet', [
	'parents' => 2,
	'showLog' => 0,
	'includeTVs' => 'svg-icon',
	'level' => 1,
	'tplOuter' => '@INLINE <ul{$classes} id="side-menu">{$wrapper}</ul>',
	'tpl' => '@INLINE 
		<li{$classes}>
			<a href="{$link}" {$attributes}>
				<div class="row">
					<div class="col-md-3">{$_modx->getChunk($_modx->resource[\'svg-icon\'])}</div>
					<div class="col-md-9">{$menutitle}</div>
				</div>
			</a>
		</li>',
	'outerClass' => 'nav'
])}
Если вдруг что-то в INLINE чанке не будет работать, можно попробовать вынести в обычный чанк. Но у меня на тесте всё ок.

2. В чанке tpl.msProduct.content идёт работа со свойствами товара, которые выставляются в плейсхолдеры. Поэтому в MODX их можно получать через [[+имя]], а в Fenom нужно указывать ресурс, а не брать не пойми откуда переменные:
{if $_modx->resource.old_price > 0}
	<span class="old_price">{$_modx->resource.old_price} {$_modx->lexicon('ms2_frontend_currency')}</span>
{/if}

Недавно закончил один магазин, целиком построенный на Fenom. Всё получилось, но есть мнение, что пора писать новый обучающий курс про это.
Іван Клімчук
29 сентября 2015, 00:16
0
Что в системной настройке slackify_entrypoint?
but1head
29 сентября 2015, 00:14
0
Оба сайта на modhost.pro, настройки идентичны.
Іван Клімчук
29 сентября 2015, 00:09
0
В этом случае ошибка (на самом деле не совсем) более чем очевидна. Достаточно перевести фразу «Entry point for Slackify not defined in system settings» и все станет понятно.
but1head
29 сентября 2015, 00:05
0
2.4.0-pl
[2015-09-29 00:04:53] (ERROR @ /index.php) Entry point for Slackify not defined in system settings
на 2.4.1 работает
Павел Ширяев
28 сентября 2015, 23:08
+1
Если речь идет о том, что в левом дереве ресурсов товары MiniShop2 не отображаются, а показываются только категории, то это так и задумано. В настройках есть параметр ms2_product_show_in_tree_default, он отвечает за то, чтобы вновь создаваемый товар отображался в дереве. Но, при количестве товаров больше пары сотен это будет очень неудобно.

Также у самого товара есть галка «показывать в дереве ресурсов».

По поводу параметров — просто нажми Ctrl+F5, если отобразились новые параметры — все ОК. Такое бывает изредка…