Вопросы

TV-поля для разных контекстов в Babel

Добрый день!

Настраиваю перевод сайта с помощью компонента Babel.
У меня есть дополнительно поле с типов ввода Множественный список на русском языке.
Это поле используется для фильтрации.

Как перевести значения поля?
Денис
14 сентября 2020, 19:19
modx.pro
937
0

Сайт и все пакеты используют другой лексикон, как поменять на нужный?

Допустим пакет simplsearch использует лексикон от en версии когда в настройках да сам сайт на русском, мин ишоп также, как поменять обратно?
Язык текстового редактора во фронтенде сайта
Языковые атрибуты HTML и XML панели управления
Язык панели управления
Стоят в ru
Slava
14 сентября 2020, 13:06
modx.pro
867
0

Не работает лог modx

Поставили последнюю версию controlErrorLog, прекратились записываться логи, т.е. никаких ошибок, обновление modx, проверка параметров системных настроек результатов не дало, удаление компонента тоже, может кто сталкивался с таким…
Станислав
13 сентября 2020, 21:38
modx.pro
1
1 005
0

Интересен ваш опыт и идеи вот по какому вопросу

Господа, как бы вы подошли к решению такой задачи?
Будет проект интернет магазин, где стоимость товара совершенно индивидуальная для каждого посетителя. Пока не буду вас запутывать деталями, пока просто примитивно — цена которую видит покупатель и соответственно может по ней приобрести зависит от того кто этот покупатель, от конкретных скидок на этот товар для этого посетителя, даже от времени суток. Вопрос не в том как это считать, это будет проект состоящих из многих сервисов и расчет скидки ведется сторонним сервисом. Будет отсылаться запрос мол такой-то товар, такой-то клиент и прочая информация и получен ответ о текущей стоимости этого товара для него. Стоимость может изменятся чуть ли не каждые 5 минут, например потому что у сервиса «программа лояльности» есть свой личный кабинет и менеджер, которые там настраивает скидки, бонусы и прочее и может быть настроено вплоть до такого — клиентам у которых в имени есть буква П дать скидку 30% на товары находящиеся на складе номер 4 при условии что покупка будет совершена во время от 15 часов до 18 часов только на бренд такой-то.
Вопрос в том, как правильно и где хранить эти индивидуальные цены.
Александр Мельник
13 сентября 2020, 09:56
modx.pro
816
0

Как в карточке товара каталога вывести несколько картинок с помощью сниппета msProducts?

У меня в каталоге выводится список товаров через сниппет msProducts
{$_modx->runSnippet('msProducts', [
          'parents' => 5,
          'includeThumbs' => 'middle,retinamiddle',
          'tpl'=> '@FILE chunks/product.tpl'
])}
В карточке товара необходимо вывести все картинки из галлереи.
Для этого в чанке (product.tpl) запускаю сниппет msGallery
<li>
  <h3>{$pagetitle}</h3>
    <figure>
      {$_modx->runSnippet('msGallery', [
      'product' => $id,
      'tpl'=> '@FILE chunks/middle_images.tpl'
      ])}
    </figure>
</li>
Чанк (middle_images.tpl) с картинками выглядит так
{foreach $files as $file}
    <img src="{$file['middle']}" srcset="{$file['retinamiddle']} 2x">
{/foreach}
Получается при выводе каждого товара идет дополнительный запрос для получения картинок.
Есть ли способ сразу получить все картинки не делая лишний запрос?
Oleh
11 сентября 2020, 22:17
modx.pro
1
1 003
0

Сортировка результатов поиска mSearchForm

Есть вопрос по mSearchForm. Как поменять сортировку товаров в выпадающем окне после ввода в строку поиска?
Например, если я ввожу в строку «ricardo ад 10», то мне должны показываться сначала товары с таким названием, но показывается сначала несколько ricardo ад 100, а только потом ricardo ад 10.
Dmitry
11 сентября 2020, 17:24
modx.pro
500
0

Событие msOnGetProductPrice установить old_price

У меня на сайте у товара цена может быть указана в разных валютах. На сайт выводится только цена в национальной валюте. Чтобы цена менялась в зависимости от валюты создал плагин:
case 'msOnGetProductPrice':
    if ($modx->context->key == 'mgr') {return;}
    if (!isset($modx->event->returnedValues['price'])) {
        $modx->event->returnedValues['price'] = $price;
    }
    $price = & $modx->event->returnedValues['price'];
    $currency = $modx->getOption('currency_' . strtolower($product->currency));
	
    $price = ceil($price * $currency);
    $product->set('price', $price);
    				
    $old_price = $product->old_price;
    if(isset($old_price) && $old_price != 0){
        $old_price = ceil($old_price * $currency);
	    
        $product->set('old_price', $old_price);
    }
break;
Цена(price) меняется и в каталоге и на странице товара. А вот старая цена(old_price) меняется только на странице товара, а вот в каталоге НЕТ.
Тодор
11 сентября 2020, 16:38
modx.pro
1 591
0

Minishop2. Возможность онлайн-оплаты заказа после подтверждения менеджером

Приветствую.
Нужно, чтобы при оформлении заказа, покупатель не мог оплатить заказ онлайн. А возможность оплатить онлайн появлялась, после того, как менеджер поставит определенный статус в админке. Для оплаты онлайн используется Robokassa.

Так-то алгоритм у меня есть:
1)Сделать обычную доставку
2)После заказа, менеджер заходит в админку, меняет статус на «Ожидает оплаты»
3)В ЛК у покупателя в списке заказов условие на этот статус и появляется ссылка «Оплатить», которая ведет на страницу оплаты.
4)После оплаты возвращается success и меняется статус заказа на «Оплачен»
И проблем реализовать его нет. Единственное, придется разобраться с API Робокассы и сделать свою страницу оплаты
— Но может кто подскажет быстрее способ с использованием готового модуля? В частности интересует modstore.pro/packages/payment-system/msprobokassa
Или в Minishop2 где-нибудь настройка есть — оплаты после подтверждения менеджером?
Павел
10 сентября 2020, 20:51
modx.pro
1 359
0

formit ajaxform

Суть проблемы в том что при реализации формы через AjaxForm страница обновляется и не проходит валидацию. ПИсьмо приходит.

шаблон вызова
[[!AjaxForm? 
      &snippet=`FormIt`
      &form=`tpl.AjaxForm`
      &emailTpl=`tpl.email`
      &hooks=`FormItSaveForm,email`
      &emailSubject=`test`
      &emailTo=`test@gmail.com`
      &validate=`name:required,surname:required,phone:isNumber:required,email:email:required,message:required`
      &validationErrorMessage=`В форме содержатся ошибки!`
      &successMessage=`Сообщение успешно отправлено`
    ]]
Евгений
10 сентября 2020, 17:55
modx.pro
1 207
0

Код о снятии с публикации ресурса?

Здравствуйте!
Помогите реализовать код о снятии с публикации ресурса miniShop2 при нажатии на кнопку.
Можно переделать вот этот код?
<?php
$res = $modx->getObject('modResource',$id);
$createdby = $res->get('createdby');

$user = $modx->user->getOne('Profile');
$profile = $user->get('id');

if($createdby == $profile){
    if($_GET['user'] == $profile ) {
        $unid = $_GET['id'];
        $resource = $modx->getObject('modResource', $unid );
        $resource->set('published',1);
        $resource->save();
    }
}
Заранее благодарю за помощь!
Рушан
10 сентября 2020, 17:25
modx.pro
1 264
0