Тодор

Тодор

С нами с 08 мая 2018; Место в рейтинге пользователей: #229
2 часа назад
0
Ето ты сделал?
public function getReceiverId() {
  error_log("🔥🔥🔥 getCustomerId() НАЧАЛО 🔥🔥🔥");
  $customer = null;
  $response = $this->ms2->invokeEvent('msOnBeforeGetOrderCustomer', [//вместо $this->
    'order' => $this,//Вместо $this->order,
    'customer' => $customer,
  ]);
  if (!$response['success']) {
    return $response['message'];
  }

  if (!$customer) {
    $data = $this->get();//Вместо $this->order->get();
    
    ...
      $this->set($data);//Вмесо $this->order->set($data);
    ...
  }

  $response = $this->ms2->invokeEvent('msOnGetOrderCustomer', [//Вместо $this->
    'order' => $this, // Вместо $this->order,
    'customer' => $customer,
  ]);
  if (!$response['success']) {
    return $response['message'];
  }

  return $customer instanceof modUser ? $customer->get('id') : 0;
}
возможно что-то упустил
Вчера в 23:53
0
Етот кусок кода отвечает за то что бы менялась настройка ms2_services
<?php
if ($miniShop2 = $modx->getService('miniShop2')) {
  $miniShop2->addService('order', 'my_OrderHandler',
      '{core_path}components/minishop2/custom/order/my_msorderhandler.class.php');
}
После чего у тебя ms2_services должен быть таким
{"cart":[],"order":{"my_OrderHandler":"{core_path}components\/minishop2\/custom\/order\/my_msorderhandler.class.php"},"payment":[],"delivery":{"mydelivery":"{core_path}components\/minishop2\/custom\/delivery\/my_msdeliveryhandler.class.php"}}
Тебе надо делать только одно из двух либо регистировать клас через консоль либо в сис. настройках.

В зависимости от версии minishopа может быть разный путь к msOrderHandler, убедись что етот файл существует
require_once MODX_CORE_PATH . 'components/minishop2/handlers/msorderhandler.class.php';
А еще в submit ты поменял $user_id = $this->ms2->getCustomerId(); на $user_id = $this->getReceiverId(); Но новый метод ты не назвал getReceiverId
19 февраля 2026, 19:45
0
  • Расширяешь класс msOrderHandler (поключение)
  • Копируете из старого submit
  • Заменяешь там
    $user_id = $this->ms2->getCustomerId();
    на
    $user_id = $this->getReceiverId();
  • Добавляешь новый метод getReceiverId в новообразованный класс и меняешь его как хочешь
13 октября 2025, 14:54
0
В настройках конфигурации блока hero во вкладке Columns, там где выводиш поле advantages, назови его другим именем. Поле Field назови tmp_advantages
29 декабря 2023, 14:57
0
у тебя $requestedUrl пустой. Пробуй так
$q_var = $modx->getOption('request_param_alias', null, 'q');
$requestedUrl = &$_REQUEST[$q_var];
29 декабря 2023, 14:54
0
Банальный вопрос: А галочку в сис.событиях поставил на OnPageNotFound?
29 декабря 2023, 14:46
0
А редирект в плагине ты делаеш?
29 декабря 2023, 14:09
0
Создайте ресурс который будет отобажаться при 410 ошибке. И в плагине на OnPageNotFound перенаправляйте пользователей на етот ресурс
30 октября 2023, 16:27
0
Создаеш плагин на событие OnPageNotFound
switch($modx->event->name){
    case 'OnPageNotFound':
        if("Твоя порверка на соответствие"){
            $_GET['ids'] = [12, 13, 14]; //Если нужно передать какие-то даные на страницу переадресации get или post
            $modx->sendForward("ID ресурса куда делать переадресацию");
        }else{
            //Оно само перенаправит на 404 
            //Или може направить куда сам захочешь
        }
        break;
}
29 июня 2023, 01:38
+2
id пусто для события msOnBeforeCreateOrder, так как обект msOrder еще не сохранен на етом етапе. По поводу properties, по умолчанию етот масив пустой, нужно сначала туда что-то положить
20 июня 2023, 00:04
0
$dop = [83595,5693,4659];
$option_par = array(
    'parents' => $parent,
    'limit' => 0,
    'tpl' => 'tpl.checkbox',
    'where' => [
        "Data.is_general" => 1,
        "OR:id:IN" => $dop
    ]
);
$content = $modx->runSnippet('msProducts',$option_par);
18 мая 2023, 00:18
0
getParentIds возвращает список ИДшек всех родителей ресурса. Только на него ни как не влияет категории отмеченные во вкладке Категории
08 мая 2023, 15:59
0
Разширь клас по этой инструкции, только тебе не надо добавлять поле. Перезапиши buildTVsFilter, потому что там в конце стоит ksort, поменяй сортироку на свою.
08 мая 2023, 15:42
+1
'resources' => ('!mSearch2' | snippet: ['returnIds'=>'1','limit'=>'0'] ?: 999999),
'cultureKey' => ('cultureKey' | option),
'context' => $_modx->resource.context_key
На счет WHERE не уверен
'where' => ["Data.price BETWEEN 20000 and 11122990"]
или
'where' => ["Data.price" => "BETWEEN 20000 and 11122990"]
21 апреля 2023, 13:08
0
$tvr = $modx->getObject('modTemplateVarResource', array(
  'tmplvarid' => $tvId, //ІД TV (не имя)
  'contentid' => $resourceId //ІД ресурса
));
if ($tvr) {
  echo $tvr->get('value');
}
18 апреля 2023, 18:26
+1
У снипета msProductOptions, есть параметр sortOptions, с ним надо екпериметировать
18 апреля 2023, 17:46
0
Что у тебя на странице /ajax? Скорее всего ты там обращаешся к какому-то снипету. Убедись что вызов снипета НЕ куширумый. Если да, то покажы что твой снипет делает
18 апреля 2023, 17:04
+1
причин может быть еще много, можеш скинуть доступ, чтобы смому тестить
18 апреля 2023, 16:55
+1
[[+amp.image_width]] — что-то выводит?