20 декабря 2021, 15:03 'sortby' => 'CASE `Data`.`vendor` WHEN __VENDOR__ID__ THEN 1 ELSE 0 END ASC, msProduct.id', Вопросы / [mFilter2] Как выводить сначала товары с определённым свойством? 11 +1
17 декабря 2021, 14:25 foreach ($gallery as $rank => $v) { $sql = "UPDATE {$modx->getTableName('msProductFile')} SET rank=".$rank." WHERE product_id=".$resource_id." AND file = '{$v}'"; $modx->exec($sql); } Вопросы / Как программно менять порядок картинок в ms2Images? 3 0
17 декабря 2021, 14:16 ALTER TABLE `modx_ms2_orders` AUTO_INCREMENT = 100000 Вопросы / Как сдвинуть id заказов minishop2 на определённый интервал? 2 +3
03 декабря 2021, 17:13 if(empty($resource->get('content')) && empty($resource->getTVValue('video') && $resource->get('template')==2){ } Вопросы / Как запилить плагин на снятие publishedon при сохранении если определенные поля пусты 8 +1
01 декабря 2021, 23:38 $resource->getTVValue('tv_name'); $resource->get('template'); Вопросы / Как запилить плагин на снятие publishedon при сохранении если определенные поля пусты 8 +1
01 декабря 2021, 14:59 Провери отрибут base в head, он должен меняться в зависимости от языка <base href="modx.pro/"> <base href="modx.pro/ru/"> - RU Вопросы / Проблема с localizator 2 +1
01 декабря 2021, 14:16 switch($modx->event->name){ case 'OnDocFormSave': //$mode //$resource //$id if(empty($resource->get('content')) && $resource->get('published')){ $resource->set('published', 0); $resource->save(); //Не уверен что это надо } break; } Вопросы / Как запилить плагин на снятие publishedon при сохранении если определенные поля пусты 8 +1
29 ноября 2021, 15:38 foreach($data as $item){ /* $item = array( [name] => Название поризводителя [resource] => [country] => [logo] => images/logo.png [address] => [phone] => [fax] => [email] => [description] => ) */ $vendor = $modx->newObject('msVendor', $item); $vendor->save(); } Вопросы / Minishop2 раздел Производители (ms|vendor). Как их массово добавить в админку? 1 0 1
29 ноября 2021, 15:32 Я если мне нужно значение языка в js, то я в теге html прописую cultureKey ... <html lang="[[++cultureKey]]"> ...потом в js обращаетесь к этому зачению var lang = $('html').attr('lang'); Вопросы / Вывод .html в зависимости от языка страницы 5 0
25 ноября 2021, 00:08 $order = $modx->getObject('msOrder', $orderID); $prop = $order->Address->get('properties'); Вопросы / minishop2 вытащить для плагина данные заказа по id 7 0
24 ноября 2021, 23:52 1. если указать пустой emailTpl — прийдет от такой емейл: 2. И все таки стандарным хуком email невозможно обработать переменную типа array — так как в field будут передан не масив со значениями, а строка «ArrayArrayArray», надо либо изменить нейми инпутам или сделать свой хук Вопросы / Как вывести значения? 4 0
24 ноября 2021, 23:23 Абсолютно все данные о заказе (вроде): $order = $modx->getObject('msOrder', $orderID); $output = array( 'order' => $order->toArray(), 'user' => $order->User->toArray(), 'profile' => $order->UserProfile->toArray(), 'address' => $order->Address->toArray(), 'delivery' => $order->Delivery->toArray(), 'payment' => $order->Payment->toArray(), 'status' => $order->Status->toArray(), 'products' => [] ); foreach($order->Products as $product){ $output['products'][] = $product->toArray(); } print_r($output); Вопросы / minishop2 вытащить для плагина данные заказа по id 7 0
24 ноября 2021, 17:50 Не такое естетическое решение как у вас, но можно воспользоваться стандарными полями MODX В результате можно обращаться к этим полям вот так: $profile = $modx->getObject('modUserProfile', $userID); print_r($profile->get('extended')); /* array( [2021-11-09] => array( [0] => +10 [1] => -7 [2] => -3 ) [2021-11-09 16:05:56] => -7 [2021-11-09 18:59:03] => -3 [2021-11-09 22:18:32] => +10 ) */ Вопросы / Как добавить вкладку в профиле пользователя? 17 0
24 ноября 2021, 17:13 Вроде пропущено закрыкающие скобки после :date=`%d.%m.%Y` [[+price_bron :is=`0`:then=`` :else=`<a href="[[~[[pdoResources?&parents=`[[*goraID]]` &depth=`0` &templates=`61` &returnIds=`1`]]]]?date_start=[[+start:strtotime:date=`%d.%m.%Y`]]&date_end=[[+finish:strtotime:date=`%d.%m.%Y`]]" target="_blank" class="button button-green">Забронировать</a>`]] Вопросы / Ошибка в формировании URL 1 0
24 ноября 2021, 17:05 У твоих инпутов очень странные нейми. Должно быть чтото типа: Name: [[+field.0.name.0]] Email: [[+field.1.email.0]] Phone 1: [[+field.2.phone.0]] Phone 2: [[+field.3.phone.0]] Data Start: [[+date_start]] Date End: [[+date_end]]Не уверен что все правильно, но date_start и date_end точно должно работать (если они конечно не пустые). Еще можно попробовать в emailTpl поставить несущесвующий чанк і посмотреть на то что прийдет на почту, там должны быть все доступные в чанке переменные Вопросы / Как вывести значения? 4 0
10 ноября 2021, 18:57 Можно удалить все локализации и создать их заново в той последовательности которой тебе надо, либо изменить немножко код: <?php $pdo = $modx->getService('pdoTools'); $uri = $_SERVER['REQUEST_URI']; if(substr($uri, 0, 1)) { $uri = mb_substr($uri, 1); $tmp = explode('/', $uri); if($path = $tmp[0]) { $tmp = $modx->getObject('localizatorLanguage', array('http_host:LIKE' => "%/{$path}/")); if($tmp) { $uri = str_replace("{$path}/", "", $uri); } } } $protocol = 'https://'; $languages = $modx->getIterator('localizatorLanguage', ['active' => 1]); $output = []; foreach($languages as $language) { if(mb_substr($language->http_host, -1) == '/') { $placeholders = array( 'cultureKey' => $language->key, 'active' => $language->key == $modx->localizator_key? 'active': '', 'url' => $protocol. $language->http_host. $uri, ); } else { $placeholders = array( 'cultureKey' => $language->key, 'active' => $language->key == $modx->localizator_key? 'active': '', 'url' => $protocol. $language->http_host. '/'. $uri, ); } $output[$language->key] = $pdo->getChunk($tpl, $placeholders); } uksort($output, function($a, $b) { $order = array( "ru", "uk", 'en', 'it', 'fr' //Твоя последовательность языков ); return array_search($a, $s) > array_search($b, $order); }); return implode('', $output); Новые дополнения и их версии / [localizator] Мультиязычность, СЕО, автоперевод... 353 0
03 ноября 2021, 17:46 {for $counter=1 to=31 step=3} {$counter} {forelse} ELSE {/for} Вопросы / Как правильно в феноме пройтись по циклу for? 4 0
30 августа 2021, 09:46 Смотришь в системных настройках на «tree_default_sort», какое там значение по нему и делаш сортировку Вопросы / [mFilter2] Вывод ресурсов в порядке, совпадающем с админкой 4 0
19 августа 2021, 13:49 Есть предложение на счет сниппета msOrder. Для авторизованных пользователей при заходе на страницу с msOrder подтягиваются поля из личного кабинета — это все очень хорошо, но если пользователь изменил какое-то поле например city то после перезагрузки страницы, данные перезаписуться на те которые сохранены в кабинете. Предлагаю переделать 152 срока на: $value = $order[$value] ?: $profile[$value]; Новые дополнения и их версии / Релиз miniShop2 ver. 2.8.2 82 0
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
потом в js обращаетесь к этому зачению
2. И все таки стандарным хуком email невозможно обработать переменную типа array — так как в field будут передан не масив со значениями, а строка «ArrayArrayArray», надо либо изменить нейми инпутам или сделать свой хук
В результате можно обращаться к этим полям вот так:
Должно быть чтото типа:
Не уверен что все правильно, но date_start и date_end точно должно работать (если они конечно не пустые).
Еще можно попробовать в emailTpl поставить несущесвующий чанк і посмотреть на то что прийдет на почту, там должны быть все доступные в чанке переменные