Всего 123 794 комментария

Наумов Алексей
03 сентября 2023, 13:02
1
0
Я бы посоветовал посмотреть, как это реализовано в компоненте ClientConfig, он решает похожую задачу: хранит свои настройки не в таблице modx_system_settings, а в другом месте (в своей таблице).

В частности посмотри код плагина.
Вовка
03 сентября 2023, 04:53
0
Доброго времени суток!
[[!mFilter2?
                &parents=`[[*ShopBrandParentID:is=``:then=`[[*id]]`:else=`[[*ShopBrandParentID]]`]]`
                &tplOuter=`tpl.mFilter2.outerShopCategory`
                &element=`msProducts`
                &class=`msProduct`
                &cacheTime=`10800`
                &ajaxMode=`button`
                &filterOptions=`{ "more_tpl": "<div class=\"go-to-catalog btn_more\"><span class=\"more\">[[%polylang_site_47]]</span></div>"}`
                &setMeta=`1`
    
                &tpl=`catalog-box-tpl`
                &tpls=`catalog-box-tpl,catalog-box-tpl-4-box`
                &limit=`24`
                &sortby=`{ "ProdSort":"DESC", "id":"DESC"}`
                &pageLimit=`5`
                &suggestions=`false`
                &innerJoin=`{ "Options":{ "class":"msProductOption"}}`
                &groupby=`msProduct.id`
                &showHidden=`0`
                &includeTVs=`[[*FilterIncludeTVs]],Prod23,Prod24,ProdSort`
                &where=`{ "Prod02":"1"}`
    
                &filters=`[[*FilterFilters]],ms|new:boolean,ms|old_price:boolean,msoc|color~value~color`
                &tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
                &tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
    
                &tplFilter.outer.msoc|color~value~color=`tpl.mFilter2.filter.outer`
                &tplFilter.row.msoc|color~value~color=`tpl.mFilter2.filter.outer`
                &tplFilter.outer.msoption|size=`tpl.mFilter2.filter.outer`
                &tplFilter.row.msoption|size=`tpl.mFilter2.filter.checkboxSize`
            ]]
— [[*FilterFilters]] — TV поле где указываются, фильтра, которые нужно выводить в данном каталоге.
Вот ссылка на каталог, где есть привязанный товар Каталог с присоединенным товаром
Zulya
02 сентября 2023, 01:08
1
+1
Благодаря помощи Артура Шевченко, нашли причину.

Решение:
У меня на сайте было 2 контекста.
При регистрации с автологином, юзер почему-то привязывался к контексту web. Но у меня контекст web был пустой и не использовался. Поэтому в сниппете Register, добавила параметр
&authenticateContexts=`web,meb`
.
После этого, авторизованный пользователь получил доступ к оценкам тикетов, комментариев, добавление в избранное.
Dan
Dan
01 сентября 2023, 17:04
0
Вызов сниппета бы увидеть
Николай Савин
01 сентября 2023, 16:36
0
Здравствуйте. Определить подходящее время и день недели поможет такое условие
$showWA = true;
if ( date('w') > 5 || (date('w') == 5 && date('H') >= 16) ||  (date('w') < 5 && date('H') >= 17)) {   
    $showWA = false;
}
return $showWA;
Панда
01 сентября 2023, 11:15
0
Добрый день, столкнулись с таким багом. Сделали промокод со скидкой на 3 т.р., который появляется при добавлении в корзину товаров на 10 т.р. Как я понимаю стандартное применение данного компонента.

В итоге пользователь может добавить товаров на 10 т.р., появится промокод, добавляет его в корзину, после чего уменьшить сумму покупок на ~7 т.р.

В итоге у пользователя товары в корзину на ~3 т.р. и промокод на ту же сумму. После можно без проблем оплатить 10-100 рублей и ждать свой заказ на 3 т.р.

Как-то можно пофиксить этот баг? Или мы просто некорректно установили компонент?
biper
01 сентября 2023, 09:49
0
модалка содержит форму ajax, при отправке формы после заполнения (правильного, неправильного — все едино… или при обновлении страницы) окно закрывается вместе с сообщениями об отправке/ошибке, которые в модальном окне отображаются в это время… А нужно, чтобы событие обрабатывалось полностью в модалке — т.е. открытая модалка закрывалась бы ТОЛЬКО принудительно, с кнопки «закрыть окно». Вопрос: как сие реализовать ?!
Zulya
31 августа 2023, 21:57
0
Изменила context на load, list, view. Почистила кэш, перезагрузила права, завершила все сеансы.
По новому авторизовалась как обычный пользователь и попробовала снова оценить тикет и чужие комментарии. Ситуация не изменилась. Пишет permission_denied_processor.
Но вот комментировать может. Комментарии сохраняются.
Артур Шевченко
31 августа 2023, 21:40
+1
Доступ к контексту web должен быть не context, а load, list, view.
Zulya
31 августа 2023, 21:00
0
Здравствуйте! Да, политика TicketUserPolicy добавлена.
skrinshoter.ru/sLaq6rnydnH?a (скриншот). Для авторизации используется компонент Login.
Проверила в админке пользователей, которые регистрируются на сайте. Проверила, присваивается ли пользователь к группе пользователей или нет. Оказывается, корректно присваивается.
skrinshoter.ru/sLaEBS7X08W?a (скриншот).
Николай Савин
31 августа 2023, 19:59
+1
Согласно документации
Группе пользователей, которые получают права на написание комментариев и т.д. нужно добавить политику TicketUserPolicy. Вы это сделали?
Zulya
31 августа 2023, 19:16
0
Я полностью удалила компонент Tickets и установила. Но проблема, все таки не исчезла.
Когда авторизованный пользователь оценивает комментарий или тикет, выходит ошибка permission_denied_processor.
А когда админ оценивает, пишет, у вас недостаточно прав для этого действия.
Alexey
31 августа 2023, 16:59
0
Искал тоже. Вопрос решился за 5 минут. В ЭДО сбиса был прекрасный шаблон. Адаптивный + более компактно печатается чем выше представленные. Советую. Думаю они есть в любом ЭДО, но в некоторый могут быть более сложно сверстаны и запрятаны стили.
Семён Кудрявцев
31 августа 2023, 16:23
0
К сожалению директива map работает только в контексте http, поэтому её использовать на modhost.pro не получится.
Но можно попробовать другой вариант, правда более медленный, но если получится напишите сюда. Я честно его не пробовал, просто первое, что в голову пришло, но теоретически развить этот вариант можно попробовать
http {
    server {
        listen 80;
        
        location / {
            if ($http_accept ~* "text/html") {
                # Do something if the Accept header contains "text/html"
            }
        }
    }
}
Zulya
31 августа 2023, 16:07
0
Добрый день!
Ошибка permission_denied_processor — это ошибка самого Modx Revo или Tickets?
Сергей
31 августа 2023, 13:37
0
Спасибо, попробую это решение!
Артур Шевченко
31 августа 2023, 13:31
0
Админ загружает файл на сервер, потом в карточке пользователя указывает путь к загруженному файлу, в ЛК ты выводишь это значение в тэг
<a href="#" download></a>
Можно использовать дополнительные поля — extended, или установить ExtraFields и расширить модель пользователя.
max
max
31 августа 2023, 12:21
0
Вот возможно есть способ написать такой скрипт без использования map
Николай Савин
31 августа 2023, 12:19
0
В таком случае конечно проблема где-то еще. Причем вряд ли на сайте.
Алексей Андреев
31 августа 2023, 12:09
0
Ну по логике компонент обращается по такому адресу:
assets/components/mspreceiptaccount/payment/receiptaccount.php?InvId=320
Где 320 — это ID заказа.
Т.е. он смотрит состав заказа и данные получателя, генерирует на этой основе pdf-файл типа счёта на оплату.
320 заказов — это не много на мой взгляд. Но для проверки теории почистил таблицы modx_ms2_orders, modx_ms2_order_addresses, modx_ms2_order_products, оставив там инфу только о последних двух заказах. Но это тоже не помогает…