Вопросы

Автоматическое обновление товара в корзине при изменении в input

Доброго дня!

Не могу понять как автоматически изменять количество товара в шаблоне корзины, при оформлении заказа
Вот блок

<td class="count">
     <form method="post" class="ms2_form" role="form">
        <input type="hidden" name="key" value="{$product.key}"/>
            <div class="quantity">
                <div class="pro-qty"> 
                    <span class="inc qtybtn"></span>
		    <span class="dec qtybtn"></span>
		    <input type="text" name="count" value="1" min="1" >
                </div>
            </div>
    </form>
 </td>
Я так понимаю, что нужно какую-то js что бы подхватывала на нажатие «inc»/«dec» и передавала post с cart/change
Но не могу понять как это реализовать
minishop2 fenom

И можно ли менять сумму у товара на лету, при изменении колва, а не только общую сумму покупок?
Антон
31 июля 2020, 15:07
modx.pro
1 469
0

Валится постоянно ошибка Could not cache context settings for web.

Подскажите кто-нибудь сталкивался с ошибкой:
[2020-07-31 09:49:14] (ERROR @ /var/www/www-root/data/www/site.ru/core/model/modx/modcachemanager.class.php : 172) Could not cache context settings for web.
Постоянно валится в логи. Стоит компонент msync который импортирует товары из 1С. При импорте через какое то время начинается валиться эта ошибка с каждой итерацией.
Евгений Лазарев
31 июля 2020, 12:17
modx.pro
908
0

Как задать тип ввода для ТВ - код?

Добрый день.
Подскажите, из стандартных ТВ полей можно задать тип ввода сразу код, а не текстовый редактор?
Александр Мельник
31 июля 2020, 11:53
modx.pro
698
0

Вывод об успешной загрузке файлов

Ребят, привет всем. Воспользовался решением с валидацией input file с данной статьи, использую валидацию для массива файлов (files[]), подскажите пожалуйста как сделать вывод об успешной загрузке файлов. Когда все файлы прошли валидацию в «p» пишет «Файлы успешно загружены». Допустим там указан вывод ошибки в formit ($errorMsg) и addError, а как сделать вывод об успешной загрузке? Пробовал $successMessage и всё прочее, нечего не выводит. Плюс вывожу в "+fi.successMessage". Подскажите как реализовать. Вызов такой же как в статье. Буду благодарен за подсказку. Использую FormIt + AjaxForm.
Владислав
30 июля 2020, 22:09
modx.pro
446
0

Как поменять значение в properties всех ресурсов из console?

как при помощи консоли console поменять значение в properties у всех ресурсов из папки
кроме прочих есть такое свойство
"hitspage":{"hitts":555}}
его хотелось бы поменять на другие цифры, например у всех где значение больше 500 поставить 30

до этого поменял значение в tv hitpage а значения hitts осталось и изза этого есть нестыковки :)

$resources = $modx->getCollection('modResource', array('parent' => 1));
foreach ($resources as $resource) {
  if ($resource->getTVValue('hitspage') => 500) {
    $resource->setTVValue('hitspage',30);
    $resource->save();
  }
}
если вручную ставишь значение в админке и сейвишь то hitts перезаписывается, а через консоль этого не происходит
подскажите кто понимает что тут добавить может можно какую то синхронизацию либо напрямую значение данного свойства заменить

в бд это выглядит так в колонке properties
{"tvc":{"hitspage":"18241"},"hitspage":{"hitts":18242}}
Евгений
30 июля 2020, 21:49
modx.pro
849
0

как передать в tv field значение userid

пример

есть регистрация на сайте

resource reg

[[!Register?
    &postHooks=`customadduser`
    &submitVar=`registerbtn`
    &activationResourceId=`24`
    &activationEmailTpl=`myActivationEmailTpl`
    &activationEmailSubject=`Спасибо за регистрацию!`
    &submittedResourceId=`25`
    &usergroups=`Members`
    &validate=`nospam:blank,
  username:required:minLength=^6^,
  password:required:minLength=^6^,
  password_confirm:password_confirm=^password^,
  email:required:email`
    &placeholderPrefix=`reg.`
    &authenticateContexts`web`
]]


snippet customadduser

<?php
$resource = $modx->newObject('modResource');
$resource->set('parent', 32);
$resource->set('pagetitle', $hook->getValue('username') );
$resource->set('template', 25);  
$resource->set('content', '');
$resource->set('isfolder', 0);              
$resource->set('published', 1);            
$resource->set('createdon', time());       
$resource->set('cacheable', 0);
$resource->set('searchable', 1);
$resource->set('show_in_tree', 1);

// подскажите
// как передать в tv field значение userid в созданный изначально tv field

// незнаю уже какой день но немогу сделать :(

$resource->save();

спасибо заранее если кто подскажет как это делается
Кирилл
30 июля 2020, 18:08
modx.pro
1 095
0

Как с помощью pdoPage c лимитом в 10 элементов раздать выводимым ресурсам классы с нумерацией от 1 до 10

Вероятно, можно как-то использовать idx, но не получается сообразить как уже на последующих страницах выводить элементы с классом от первого номера и далее. Классы нужны для формирования сетки гридов. Буду очень признателен, если подскажите вариант решения… Или лучше смотреть в сторону использования nth-child?
Роман
30 июля 2020, 16:11
modx.pro
918
0

Доп опции для заказа.

Доброе время суток, подскажите пожалуйста, есть ли какое готовое решение чтобы добавить опцию к самому заказу(не товару) в момент его оформления? Ну или в каком направлении копать?
прим.
Подъем на этаж +ххх р.
Срочность +ххх р.
После доставки команда грузчиков будет петь «Прощание славянки» +ххх р.
Илья
30 июля 2020, 11:20
modx.pro
742
0

mSearch2 13 сек. поиск по каталогу

Подскажите куда копать?
Очень долго длится поиск по каталогу, сделал замер прямо в сниппете mSearch2:

// Merge all properties and run!
$pdoFetch->setConfig(array_merge($default, $scriptProperties), false);
$pdoFetch->addTime('Query parameters are prepared.');
$rows = $pdoFetch->run();
echo "<!--";
print_r($pdoFetch->getTime());
echo "-->";
Получается такая картина:
pdo-log.txt
Евгений
30 июля 2020, 01:16
modx.pro
650
0

msProducts - как получить массив с данными для дальнейшей выборки?

Здравствуйте!
Мне нужно сделать карусель товаров, которая имеет два блока: т.е. в верстке сначала выводится блок с картинками, а потом еще один блок с описаниями и характеристиками.
Два раза запускать [[!msProducts]] не хочется, поэтому решил сделать через fenom:
{set $items = '!msProducts' | snippet : [
    'parents' => 2,
   ....
]}

{foreach $items as $item}
    ...
{/foreach}
Но так, почему-то не работает — т.е. foreach не понимает массив $items… что делать?
Игорь
28 июля 2020, 18:25
modx.pro
2 012
0