Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 147 комментариев

Василий Краковецкий
Василий Краковецкий
Как насчет посмотреть —
if ($response->isError()) {
$modx->log(modX::LOG_LEVEL_ERROR, 'не получилось удалить ресурс с айдишником — '.$resId );
}

И на будущее — не советую доверять всему что пришло от пользователя — делайте фильтрацию всего что приходит через POST.
Maksim Kuznetsov
Maksim Kuznetsov
Стал сравнивать что говорит debugMode при редактировании ресурса id=1 и ресурса id=19 (Параметры у них одинаковые), и разница в выводе начинается только на 1353 строке.
ID=1
[2013-10-31 13:45:01] (DEBUG @ /index.php) Returning table name: `modx_register_messages` for class: modDbRegisterMessage
[2013-10-31 13:45:01] (DEBUG @ /index.php) Returning table name: `modx_register_topics` for class: modDbRegisterTopic
[2013-10-31 13:45:01] (DEBUG @ /index.php) Returning table class: modDbRegisterTopic for class: modDbRegisterTopic
[2013-10-31 13:45:01] (DEBUG @ /index.php) Returning table name: `modx_register_topics` for class: modDbRegisterTopic
[2013-10-31 13:45:01] (DEBUG @ /index.php) Returning ancestry for modDbRegisterTopic: Array
(
    [0] => modDbRegisterTopic
    [1] => xPDOSimpleObject
    [2] => xPDOObject
)

ID=19
[2013-10-31 13:42:49] (DEBUG @ /index.php) Returning table name: `modx_register_messages` for class: modDbRegisterMessage
[2013-10-31 13:42:49] (DEBUG @ /index.php) Returning table name: `modx_register_topics` for class: modDbRegisterTopic
[2013-10-31 13:42:49] (DEBUG @ /index.php) Returning table class: modDbRegisterMessage for class: modDbRegisterMessage
[2013-10-31 13:42:49] (DEBUG @ /index.php) Returning table name: `modx_register_messages` for class: modDbRegisterMessage
[2013-10-31 13:42:49] (DEBUG @ /index.php) Returning ancestry for modDbRegisterMessage: Array
(
    [0] => modDbRegisterMessage
    [1] => xPDOObject
)
Я к сожалению не силен во всех процессах Модкса. Может кто нибудь сталкивался с подобными проблемами?
Елгин Максим
Елгин Максим
Спустя пару часов возникло понимание как работает modx изнутри. К сожалению я на нем совсем недавно, скоро неделя исполнится :)
Так вот сниппеты вызываются из под контекста.
В файле index.php происходит инициализация контекста
$modx->initialize('web');
И только внутри контекста можно вызвать сниппет runSnippet(). На этом мои опыты со стороны phpbb считаю закрытым. )) Как вариант можно создать новый контекст и в него внедрить форум.
marked
marked
Василий, большое спасибо за приведенную ссылку!

Пока что решил отложить почтовые уведомления, так как не могу дойти до свойств товара и начался рандом.
Как же взять/взаимодействовать с колонками (sold и notify) из msProductData? Подскажите кто-нибудь, пожалуйста.
Код, который выводит в лог цену товара и 2 пустых значения при изменении статуса на «Отправлен»:

switch ($modx->event->name) {
  // Get Event Name
  case 'msOnChangeOrderStatus':
    // If Status is Received
    if ($status === 3) {
      // Configure
      $modx->loadClass('pdofetch', MODX_CORE_PATH . 'components/pdotools/model/pdotools/', false, true);
      $modx->getService('pdofetch');
      $modx->getService('minishop2');
      $modx->getService('error','error.modError');
      $modx->setLogLevel(modX::LOG_LEVEL_INFO);
      $modx->setLogTarget('FILE');
      // Get Order
      $id = $order->get('id');
      $products = $order->getMany('Products');
      // Get Items: Price / Sold / Email
      foreach ($products as $product) {
        $modx->log(modX::LOG_LEVEL_INFO, print_r($product->get('price'), $id));   // OK
        $modx->log(modX::LOG_LEVEL_INFO, print_r($product->get('sold'), $id));    // EMPTY
        $modx->log(modX::LOG_LEVEL_INFO, print_r($product->get('notify'), $id));  // EMPTY
      }
      die();
    }
  break;
}

В лог выдает, помимо значений, ошибки от «json_decode» и «pdoFetch». Напутал в разделе «Configure»?

Заранее спасибо.