Евгений Webinmd

Евгений Webinmd

Был в сети 31 июля 2026, 13:07
Заказы не принимаю
я даже зарегестрировался.
У меня при добавлении товара, мини корзина норм отрабатывает, кроме ± количества в мини корзине (если страницу не обновлять). Но это связано с тем что в jquery скрипте надо click заменить на on
Было
$('.product-item .number .plus').click(function () {
  });
Стало
$('.product-item .number .plus').on('click', function () {
  });

Либо вообще так сделать

$('.product-item').delegate('.plus',  'click', function () {
  });
На стандартном синтаксисе:

<nav class="navigation navbar navbar-default">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="open-btn">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="index.html"><img src="assets/images/logo.png" alt></a>
        </div>
        <div id="navbar" class="navbar-collapse collapse navbar-right navigation-holder">
            <button class="close-navbar"><i class="ti-close"></i></button>

            [[!pdoMenu?
            &parents = `0`
            &level = `2`
            &outerClass = `nav navbar-nav`
            &parentClass = `menu-item-has-children`
            &innerClass = `sub-menu`
            ]] 
            
        </div><!-- end of nav-collapse -->
        <div class="search-quote">
            <div class="header-search-area">
                <div class="header-search-form">
                    <form class="form">
                        <div>
                            <input type="text" class="form-control" placeholder="Search here">
                        </div>
                        <button type="submit" class="btn"><i class="fi flaticon-magnifying-glass-browser"></i></button>
                    </form>
                </div>
                <div>
                    <button class="btn open-btn"><i class="fi flaticon-magnifying-glass-browser"></i></button>
                </div>
            </div>
            <div class="quote">
                <a href="#" class="theme-btn">Free consultation</a>
            </div>
        </div>
    </div><!-- end of container -->
</nav>
у меня такой код

js
$('.bminus').on('click',function () {
    var $input = $(this).parent().find('input');
    var val = +$input[0].defaultValue;
    var count = parseInt($input.val()) - 1;
    count = count < 1 ? 1 : count; 
    $input.val(count);
    $input.change();
    return false;
});

$('.bplus').on('click',function () {
    var $input = $(this).parent().find('input');
    var val = +$input[0].defaultValue; 
    $input.val(parseInt($input.val()) + 1);
    $input.change();
    return false;
});
html
<div class="quantity">
    <input type="text" name="count" value="1"  required>
    <span class="bplus"></span>
    <span class="bminus"></span>
</div>
if (!$modx->user->isAuthenticated('web')) {
  return false;
}
это авторизация в контексте web, а надо в mgr

Можно еще так проверять (нашёл тут недалеко)

if ( !$modx->user->hasSessionContext('mgr')   || !$modx->user->isMember('Administrator' )) {
        return false;
    }
Добрый день, не использовал компонент в подобном кейсе, пока времени нет добавить такой функционал, но в задачи вписал и постараюсь добавить поддержку.
Что касается ключа контекста, тоже постараюсь добавить в следующей версии.
Но код есть на гитхабе, если знания позволяют, вносите изменения, с радостью их приму.
html
<div class="quantity">
    <input type="number" name="count" value="1" min="1" >
    <span class="bplus"></span>
    <span class="bminus"></span>
</div>

js
$('.bminus').on('click',function () {
    var $input = $(this).parent().find('input');
    var val = +$input[0].defaultValue;
    var count = parseInt($input.val()) - 1;
    count = count < 1 ? 1 : count; 
    $input.val(count);
    $input.change();
    return false;
});

$('.bplus').on('click',function () {
    var $input = $(this).parent().find('input');
    var val = +$input[0].defaultValue; 
    $input.val(parseInt($input.val()) + 1);
    $input.change();
    return false;
});
У меня для манагера стоит роль Content Editor
Проверьте чтобы для вашей роли были нужные галки
(у меня вот эти + там есть еще другая кучка, но она не может повлиять на поле)
file_list
file_manager
file_remove
list
load
source_view
view

+ если используется Источник файлов, то на него тоже должны быть права.
Так что по большому счету проблема в правах, а не в компоненте.
Хотя можно попробовать поставить стандартный тип поля Изображение и проверить.