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

Василий Наумкин
03 февраля 2013, 06:44
0
Нужные данные не сохраняются в сессию. Смотри логи сервера, подозреваю там ошибки.

Вообще, даже пустой сайт дико тормозит, а при установке пакетов в логе MODX вот такое:
[2013-02-03 06:42:25] (ERROR @ /connectors/system/index.php) Path specified for package hybridauth is not a valid or accessible directory: /home/sitename/www/site2/public_html/core/components/hybridauth/model/
[2013-02-03 06:42:25] (ERROR @ /connectors/workspace/packages.php) Path specified for package hybridauth is not a valid or accessible directory: /home/sitename/www/site2/public_html/core/components/hybridauth/model/

Что то они там понакрутили с безопасностью, параноики. В общем, с чистой совестью советую тебе валить оттуда.

Сергей Савельев
03 февраля 2013, 02:27
1
0
Наконец освоил Ваш урок. Низкий поклон.

Хотелось бы привести пример:

Воспользовавшись сниппетом getResourceField вывести данные поля нужного ресурса

Код сниппета ajax:
// Откликаться будет ТОЛЬКО на ajax запросы
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}

// сниппет будет обрабатывать не один вид запросов, поэтому работать будем по запрашиваемому действию
$action = $_POST['action'];

// Если в массиве POST нет действия - выход
if (empty($action)) {return;}

//А если есть - работаем
$res = '';
switch ($action) {
  case 'field': 
      $params = array();
      $params['id'] = $_POST['id'];
      $params['field'] = $_POST['field'];
      $res = $modx->runSnippet('getResourceField', $params); break;
  // А вот сюда потом добавлять новые методы
}

// Если у нас есть, что отдать на запрос - отдаем и прерываем работу парсера MODX
if (!empty($res)) {
  die($res);
}

Я создал отдельно ресурс в корне контекста, под названием ajax и соответствующим псевдонимом, он доступен по адресу mysite.ru/ajax.html, содержащий:
[[!ajax]]

Вероятно чтобы «не путался под ногами» вызов сниппета и централизовать адрес ajax запросов. На всякий случай задал пустой шаблон и, само собой, скрыл для меню.

Код в теге HEAD используемого для примера шаблона:
<script type="text/javascript" language="JavaScript" src="assets/js/jquery/main.js"></script>
<script type="text/javascript" language="JavaScript">
jQuery(function($){
	$('#results').load('ajax.html', {action: 'field', id: '56', field: 'content'}, function(){
    		alert('Запрос успешно выполнен! Данные получены.');
	});
});
</script>

Код в теге BODY, в любом удобном месте, используемого для примера шаблона:
<div id="results"></div>

При загрузке страницы с заданным шаблоном, используемым для примера, в тег div, под идентификатором results, произведётся асинхронная загрузка содержимого поля content ресурса с ID 56.
Алексей Добряков
02 февраля 2013, 22:26
0
Решил сделать что то типа того:

if($extended['myDocuments']==''){
$extended['myDocuments'] = $newResource['id'];
}else{
$extended['myDocuments'] = $extended['myDocuments'].','.$newResource['id'];
};
Алексей Добряков
02 февраля 2013, 20:42
0
если заработает скажи, а то времяни не было тестировать
Костя Шутов
02 февраля 2013, 20:38
0
ооо, спасибо за инфу Алексей
СикретНаме
02 февраля 2013, 17:35
0
Готово.
Алексей Добряков
02 февраля 2013, 17:12
0
$extended['myDocuments'][] = $newResource['id'];
проверил он так Ваще ничего не вносит
Василий Наумкин
02 февраля 2013, 16:38
0
Сохранять массивом.
$extended['myDocuments'][] = $newResource['id'];

При выводе можно превратить в строку:
inmplode(',' $extended['myDocuments']);
Василий Наумкин
02 февраля 2013, 16:30
0
Пришли на почту логин пароль от сайта, гляну завтра.
СикретНаме
02 февраля 2013, 15:38
0
Протестировал на полностью новой установке. В новой директории — новый MODX, только Hybrid и BootStrap итд — результат ровно тот же. Таки серв?!
СикретНаме
02 февраля 2013, 14:38
0
На modx-test.com всё отлично работает.
СикретНаме
02 февраля 2013, 14:21
0
яволь. стою в очереди. о, как интересно, поймал глюк — через FF файл не отображался в загруженных, через Хром прошла загрузка.
Василий Наумкин
02 февраля 2013, 14:04
0
Это никак не может ни на что влиять.

Осталось только проверить на modx-test.com, на котором и было снято видео.
СикретНаме
02 февраля 2013, 14:02
0
таки ничего не получается.
Алексей Добряков
02 февраля 2013, 11:25
0
Кстати такая же фигня, я написал в робокассу они сказали:
«Факт успешности сообщения магазину об исполнении операции определяется по результату, возвращаемому обменному пункту. Результат должен содержать “OKnMerchantInvID”, т.е. для счета #5 должен быть возвращен текст “OK5”.»

Так же обратите внимание на то в каком регистре у вас выводится после подсчёта контрольная сумма (MD5). Мы отправляем её вам ВСЕГДА только в верхнем регистре.
Следовательно, вам так же нужно сравнивать её со своей в верхнем регистре.

Не забудьте учесть, что для подсчёта контрольной суммы на своей стороне вам нужно использовать те данные о платеже, которые мы вам присылаем в запросе на Result URL. (номер заказа, сумма и дополнительные параметры если они есть) Это нужно делать исключительно для того, что бы проверять, что это именно мы прислали вам информацию об успешном платеже, а не кто-то другой. Т.е. буквально — вы проверяете то, что мы вам присылаем, высчитывая из полученных данных контрольную сумму и сверяя её с присланной нами контрольной суммой.
Костя Шутов
01 февраля 2013, 22:38
0
я головой понимаю что трабла не в minishop. Хотел уточнить про алгоритм работы сниппета, и в какую сторону копать. вообщем приделал пока костыль, вроде работает.
Василий Наумкин
01 февраля 2013, 22:31
0
Костя, ну сам подумай головой, если при тестах работает, а в продакшене нет — проблема явно не в miniShop.

Может, у тебя там ключ не совпадает, или еще что. Статус не переключается — значит не пришли верные данные для этого действия.
Костя Шутов
01 февраля 2013, 22:28
0
походу это не срабатывает конструкция case 'result': в файле msRobokassa? так? ведь там ставится статус ОПЛАЧЕН заказу?
Василий Наумкин
01 февраля 2013, 22:26
0
Полагаю, этот вопрос надо адресовать в Робокассу.