Воеводский Михаил

Воеводский Михаил

С нами с 07 февраля 2013; Место в рейтинге пользователей: #28
18 июня 2015, 10:03
+1
1. У всех прописан — это норма
2. Часто используется mSearch2
17 июня 2015, 13:35
0
Анастасия услышала мое предложение, взяла время обдумать.
Соберет все предложения и сделает выбор на основе своих критериев.
15 июня 2015, 11:33
0
Этот блок появляется для уже сохраненного товара. Если его нет — у Вас что-то пошло не так. Для начала, попробуйте переустановить minishop2.
15 июня 2015, 02:44
4
+3
Потребуется свой сниппет, который запустит всего 2 метода minishop2:

$minishop2->cart->add($productId, $count);

$orderData = array(/* Здесь много полей, имеющихся в стандартной форме заказа */);
$minishop2->order->submit($orderData);
15 июня 2015, 00:09
0
Мое письмо автору:

Спасибо за высланное ТЗ.
Увидел, что Василий Наумкин оставил свое предложение раньше моего письма.
Обратитесь к нему. Уверен, Ваше сотрудничество будет продуктивным!
13 июня 2015, 22:31
+1
Tickets, minishop2, Collections…
Способов масса. Прежде, чем что-то выбирать, составьте подробное тз — соотнести потребности и возможности компонентов будет проще.
Но если чтение документации не помогает, Вам прямая дорога в раздел «Работа», ибо нагородить костылей на начальном этапе легко, а их поддержка превратится в настоящий кошмар.
13 июня 2015, 11:34
0
Значит, какое-то действие пропущено. Ограничений на количество добавляемых полей нет.
12 июня 2015, 01:27
+2
Плагин правильнее на событие msOnSubmitOrder. Разница в том, что блокировать оформление заказа необходимо еще до его создания. Указанное событие вызывается самым первым, еще до создания нового объекта и проверки введенных полей.
А проверять на этом событии необходимо сумму в корзине.

Если делать именно таким образом, то не должно возникнуть необходимости изменять стандартный JS.
11 июня 2015, 20:48
0
Размести его здесь для потомков.
11 июня 2015, 17:36
2
+2
Номер заказа появляется только в событии msOnCreateOrder. До того заказа не существует.
В плагине, срабатывающем по этому событию, уже существует объект $msOrder:
$msOrder->get('num');
$msOrder->get('id');
11 июня 2015, 17:24
0
Однажды писал плагин для такой ситуации:
<?php
switch ($modx->event->name) {
	case 'OnMODXInit':
	        $output = '';
        	if (isset($_REQUEST['tv|price_from'])) {
	            $modx->setPlaceholder('price_from',(int) $_REQUEST['tv|price_from']);
        	    if (!strpos(',',$_REQUEST['tv|price_from'])) $_REQUEST['tv|price_from'] .= ',99999999';
	        }
        	if (isset($_REQUEST['tv|price_to'])) {
	            $modx->setPlaceholder('price_to',(int) $_REQUEST['tv|price_to']);
	            if (!strpos(',',$_REQUEST['tv|price_to'])) $_REQUEST['tv|price_to'] = '0,'.$_REQUEST['tv|price_to'];
	        }
        	break;
	default: break;
}
В текущем виде поля price_from и price_to предполагаются обычными текстовыми.
11 июня 2015, 15:47
0
Для MODX это одно и то же.
11 июня 2015, 13:43
+1
Ограничений нет.
10 июня 2015, 19:36
0
Рад, что получилось.
10 июня 2015, 19:09
0
$q->where('template' => 4);
Замените на
$q->where(array('template' => 4));
10 июня 2015, 16:00
0
Напиши полный текст сообщения об ошибке. Навскидку код выглядит синтаксически правильным.