Всего 125 675 комментариев

Ivanov Alexandr
27 июня 2021, 12:47
0
Проблема оказалась при использовании темы Metronix.
Отключил тему поставил дефолтную проблема исчезла.

При этом рекомендации по исправлению темы из документации
Пользовательские темы диспетчера
все сделал так как написано но не работает.
Иван Бочкарев
27 июня 2021, 12:45
0
Кеш браузера и CMS сбрасывали? Версия точно 2.8.3?
Ivanov Alexandr
27 июня 2021, 12:41
0
Проблема с добавлением картинок через редактор так и осталась. При попытке добавить пустое окно. Пробовал другой редактор такая же проблема.
Dolce
27 июня 2021, 12:34
0
Здравствуйте. Спасибо за ответ. Дописал нужное поле в ms2_category_grid_fields и активировал ms2_category_show_options.
Колонка появилась, но значений в ней нет, хотя у товаров они есть.
varanika
26 июня 2021, 20:57
0
А вот ломание карточки товаров не зависит от компонентов. Но modhost на голой системе + minishop2 и pdotools — только товар сохраняется, как его тут же перекашивает и белые поля. Решается правкой js — писал выше
assets/components/msreferralprogramcoin/js/mgr/msrpc.js -->.items.items[1].items.items[2]
varanika
26 июня 2021, 18:20
0
В общем выяснилось (долго и муторно), что msReferralProgramCoin и msGallerySearch несовместимы.
На чистом сайте при установке второго — первый ломается. И происходит то, что и я, и другие пользователи описывали — пропадают лексиконы, не срабатывают сниппеты и чанки, не списываются бонусы в корзине. Как, почему — я не поняла, ибо и события не совпадают у плагинов, и логика разная…

И немного моего мелкого изменения. Позже, вероятно, дополню. При установке галочки в корзине ничего не меняется и мне, как юзеру — это не понятно. Ибо где логика — чекбокс тыкаем, а толку ноль. Соответственно делаю так в корзине:
<script>
         var $pay = $('#msrpc-cart-payroll-dec').html();
         var $payr = $pay / 10;
 var $cost = Number($('#ms2_order_cost').html()) - $payr;
$htm = '- '+ $pay + ' баллов = ' +  $cost + ' руб.';
 $('#msrpc-pay-coins').change(function() {
     $(this).val($(this).prop('checked')?1:0);
     if ($(this).val() == 1){
          $('#referball').val('оплачено ' + $pay  + ' баллами - это '+ $payr + ' рублей');
          $('#referball').attr('value', 'оплачено ' + $pay  + ' баллами - это '+ $payr + ' рублей');
          $('#referrubl').val($payr);
          $('#referrubl').attr('value', $payr);
          
         $('#bonussumm').html($htm);
          
     }
     else {
          $('#referrubl').val('');
          $('#referrubl').attr('value', '');
          $('#referball').val('');
          $('#referball').attr('value', '');
         $('#bonussumm').html('');
     }
    
});
if ($('#msrpc-pay-coins').prop('checked')){
    $('#bonussumm').html($htm);
}	 
else { $('#bonussumm').html(''); }
	</script>
Установка value и одновременно с ним attr я делаю из занудства, ибо меня выбешивает, что в консоли хрома value остается чистым.

Ну и эти поля в вызове. Ах, да. В сниппете msrpcCart я дописала
$pdo = $modx->getService('pdoTools');
и вместе где
$modx->getChunk
заменить на 
$pdo->getChunk
Теперь у нас есть fenom и мы можем добавить такое в tpl:
<p class="msrpc-text">После фактической оплаты заказа с Вашего счета будет списано <span class="msrpc-cart-payroll-dec" id="msrpc-cart-payroll-dec">{$pay}</span> балла(ов), а общая сумма заказа уменьшится на {($pay / 10)  | replace :',':'.'} рублей</p>
и тут же пониже
<input type="text" value="{if $pay}оплачено {$pay} баллами - это {($pay / 10)  | replace :',':'.'} рублей{/if}" name="metro" id="referball" class="d-none">
     <input type="text" value="{if $pay}{($pay / 10)  | replace :',':'.'}{/if}" name="referrubl" id="referrubl" class="d-none">
10 — это именно у меня отношение к бонусам такое. Может и 1 и 100 быть :)
Заметили name=«metro»? Вот это малоиспользуемое поле я забрала именно, чтобы менеджер видел в админке, что списание цены было баллами, так как не понятно толком. Конечно, можно создать свое поле в админку, но что-то по двум инструкциям они у меня не создались и я просто махнула рукой. Ну, главное лексиконы переименовать, чтобы понятнее было.
и в msOrder в чанке так:
<span id="ms2_order_cost">{$order.cost ?: 0}</span> {'ms2_frontend_currency' | lexicon}
 <span id="bonussumm"></span>
Андрей
26 июня 2021, 11:56
0
Попробуйте обновить движок до актуальной 2.8.3. Версию php можно поднять до 7.4.

Серверный лог посмотрели, какие там записи есть?
Павел Романов
26 июня 2021, 11:10
1
+1
Можно так:
<?php
$id = $modx->resource->id;
$tpl = '@INLINE <li><a href="[[~[[+id]]]]">[[#[[+id]].tvname]]</a></li>'; // tvname - имя Вашей TV
//.....
Вероника
26 июня 2021, 07:43
0
MODX Revolution 2.8.1-pl
PHP 7.1.
Ivanov Alexandr
25 июня 2021, 21:44
0
Столкнулся с еще одно проблемой. При использовании babel на мультиязычном сайте, в другом контексте когда используешь блоки такие же как использовал в основном контексте они на сайте отображаются но вот в админке не отображаются добавленные блоки к странице.
Артем
25 июня 2021, 15:05
0
npm выполнены в формате модулей CommonJS
Далеко не все, зависит от пакета. Если пакет пишется под браузер, то он будет юзать ES6 модули, а если под сервер, то там на что фантазии хватит:
  • можно юзать CommonJS
  • можно юзать ES6 + type: module в package.json
  • можно юзать TypeScript или Babel (и даже Webpack при желании), которые будут при билде транспилировать синтаксис ES6 модулей в CommonJS (т.е. своего рода «фейковый» ES6)
В общем-то, CommonJS и настоящий ES6 работают совершенно по-разному, поэтому могу посоветовать почитать об этом, например, тут: redfin.engineering/node-modules-at-war-why-commonjs-and-es-modules-cant-get-along-9617135eeca1

работать с ними в браузере без сборщиков, обработчиков невозможно?
Неправильно, потому что пакеты для фронта никто не пишет на CommonJS модулях, они ж не на ноде работать будут, а в браузере.
rimo
25 июня 2021, 13:28
0
Кэш почистил не помогло. Картинки есть в подкатегории карточка товара, на лицевой нет фото. в modx_ms2_products в полях image и thumb стоит NULL. На почту написал.
Александр Мельник
25 июня 2021, 11:28
0
Спасибо, Артем.
Просто чисто по моей терминологии
создан для терминала и к фронту (браузеру) не имеет отношения, а условный vue-select, наоборот, не имеет отношения к серверу и должен использоваться исключительно в браузере.
означает что деление есть, просто оно не явное. Нельзя зайти на сайт npmjs.com и где то увидеть у пакета метку — это для браузера или это для сервера.

А подскажите пожалуйста еще, я правильно понимаю, что изза того что пакеты npm выполнены в формате модулей CommonJS то работать с ними в браузере без сборщиков, обработчиков невозможно? Потому что например модуль в формате ES6 вполне можно запустить в браузере и без всяких обработок, добавим атрибут type=«module» к тегу script.
Denis
25 июня 2021, 10:04
0
Я пользуюсь сторонней апишкой, там бесплатно 100 запросов в месяц. Мне хватает.
rapidapi.com/restyler/api/instagram40
Дмитрий Кондаков
25 июня 2021, 09:21
0
Проверьте наличие свободного места на сервере
Наумов Алексей
25 июня 2021, 09:15
+2
Цена товара в корзине сохраняется, поэтому да, если поменять ее на сайте — в корзине будет старая.

Думаем, как поправить…
Нужно при каждом получении корзины (это плагин на событие msOnGetStatusCart, доступен объект $cart) пробегаться по корзине, получать товары и актуализировать цену.
Примеров с тем, как в корзине что-то менять — на сайте полно)