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

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

Василий Наумкин
Василий Наумкин
В Eloquent же всё интуитивно понятно)
Согласен!

После работы с ним к xPDO возвращаться нет никакого желания. Да и смысла нет.

Всё, чему ты научишься в xPDO за пределами MODX никому не надо. Eloquent для разработчика гораздо полезнее.
Владимир
Владимир
Я сделал так, сначала обновил код сниппета ms_CDEK2 (ссылка на пост с инструкцией modx.pro/help/24473#comment-143254):

Временный фикс:

Cниппет ms_CDEK2

1. Одну строку комментируем, новую добавляем:
//$modx->regClientScript('https://www.cdek.ru/website/edostavka/template/js/widjet.js');
$modx->regClientScript('https://cdn.jsdelivr.net/gh/cdek-it/widget@2.5.5/widget/widjet.js');
2. Еще одну строку ниже комментируем, а новую добавляем:
//path: «www.cdek.ru/website/edostavka/template/scripts/»,
path: «cdn.jsdelivr.net/gh/cdek-it/widget@2.5.5/widget/scripts/»

Далее, в личном кабинете СДЭКА lk.cdek.ru/user/login, в разделе Интеграция обновил ключ и пароль

В системных настройках minishop2 (ms_cdek2_login и ms_cdek2_password) обновил ключ и пароль.
Все заработало. Работает расчет доставки. Пункты ПВЗ отображаются на мини-карте.
Вячеслав
Вячеслав
msOptionsPrice2 нет и не было
но все равно
Could not generate encryption key
Vehicle 1af2315a7793e50ca059dc6f768049b7 in transport mspaidoptions-1.0.2-pl failed to install and indicated the process should be aborted.
Невозможно установить пакет с подписью: mspaidoptions-1.0.2-pl
На modhost тоже не ставиться(
Олег Захаров
Олег Захаров
О, круто, спасибо! Не знал про такой модификатор.
В документации тоже не увидел — вот бы было неплохо если бы в документации добавляли комментарии понятные для чего и за что отвечает код плагина.
Скаут
Скаут
да, так и сделал:
внутри функции filterDefault дописал
foreach ($resources as $id) {
				    
				    $remains = $this->modx->getCollection('msprRemains', array('product_id' => $id));
                	$remainsResult = array();
                	foreach ($remains as $remain) {
						$options = $remain->get('options');
                		$remainsResult[$options['size']] = array(
                			'id'      => $remain->get('id'),
                			'remains' => (int) $remain->get('remains')
                		);
                	}
				    
					if (isset($tmp[$id])) {
						if ( $remainsResult[$value]['remains'] > 0 ) {
							$matched[] = $id;
						}
					}
				}
потыкал, вроде, корректно работает. Но в вызове всё равно нужен leftJoin из документации.