Всего 123 797 комментариев

Марина
08 февраля 2023, 10:53
0
Поясните, пожалуйста, где именно должно быть значение?
Артур Шевченко
08 февраля 2023, 10:51
0
Спасибо, за обратную связь сейчас тестируем релиз 4.2 там этот баг будет исправлен.
Антон А.
08 февраля 2023, 09:56
+1
Я до релиза версии 4.1 сам подправил у себя этот кусок кода, сейчас протестил ваш, кажется он также перегружает корзину пустой без вывода чанка об успешном заказе.
Было до 4.0:
callbacks.submit.response.success = function (response) {
                if (response.data['redirect']) {
                    document.location.href = response.data['redirect'];
                } else if (response.data['msorder']) {
                    document.location.href = document.location.origin + document.location.pathname
                        + (document.location.search ? document.location.search + '&' : '?')
                        + 'msorder=' + response.data['msorder'];
                } else {
                    location.reload();
                }
            };
стало в 4.0:
this.callbacks.submit.response.success = response => {
            switch (true) {
                case response.data.redirect:
                    document.location.href = response.data.redirect;
                    break;
                case response.data.msorder:
                    document.location.href = document.location.origin + document.location.pathname
                    + (document.location.search ? document.location.search + '&' : '?')
                    + 'msorder=' + response.data.msorder;
                    break;
                default:
                    location.reload();
            }
        };

стало в 4.1:
this.callbacks.submit.response.success = response => {
            if (response.data.redirect) {
                document.location.href = response.data.redirect;
            }
            if (response.data.msorder) {
                document.location.href = document.location.origin + document.location.pathname
                    + (document.location.search ? document.location.search + '&' : '?')
                    + 'msorder=' + response.data.msorder;
            }
            location.reload();
        };
Мой вариант:
this.callbacks.submit.response.success = response => {
            if (response.data.redirect) {
                document.location.href = response.data.redirect;
            }
            else if (response.data.msorder) {
                document.location.href = document.location.origin + document.location.pathname
                    + (document.location.search ? document.location.search + '&' : '?')
                    + 'msorder=' + response.data.msorder;
            } else {
                location.reload();
            }
        };
Николай Савин
08 февраля 2023, 09:33
+2
Этот функционал запланирован в среднем приоритете в следующих версиях, так как внутреннее логгирование в минишопе уже есть из коробки. На данный момент, правда, там фиксируется только история смены статуса заказа.
Но будем расширять.
Никита Боднар
08 февраля 2023, 09:04
0
Ну это понятно, интересовало наличие готового решения.
Алексей Смирнов
08 февраля 2023, 09:00
0
Можно. но этот функционал нужно делать самому.
Артур Шевченко
07 февраля 2023, 23:10
0
Не заполнено значит нет значения.
Марина
07 февраля 2023, 23:09
0
Нет, опечатки нет…
А что значит не заполнено?
Артур Шевченко
07 февраля 2023, 22:49
0
Вроде всё нормально. Может быть опечатка в имени TV? Или TV не заполнено?
Артур Шевченко
07 февраля 2023, 22:44
+1
А это тебе задание для самостоятельного изучения))) Вот тут подробно написано.
Марина
07 февраля 2023, 22:43
0
[[+tv.imagecat]] либо использование tvPrefix = ' ' результата не дают. ShowLog выдаёт следующее:
0.0003369: pdoTools loaded
0.0000091: xPDO query object created
0.0001841: Included list of tvs: imagecat
0.0000589: leftJoined modTemplateVarResource as TVimagecat
0.0000558: Added selection of modResource: `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `alias_visible`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
0.0000038: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `imagecat`
0.0002809: Processed additional conditions
0.0003719: Added where condition: modResource.parent:IN(20,15,16,17,18,48,19,46,60,47,40,54,49,30,25,33,27,57,51,34,58,50,24,59,56,29,36,28,26,45,39,44,38,53,43,35,32,31,23,41,52,21,61), OR:modResource.id:IN(21), modResource.published=1, modResource.hidemenu=0, modResource.deleted=0, modResource.context_key=web
0.0000269: Replaced TV conditions
0.0000501: Sorted by modResource.menuindex, ASC
0.0001061: SQL prepared "SELECT `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`alias_visible`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, IFNULL(`TVimagecat`.`value`, '') AS `imagecat` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVimagecat` ON `TVimagecat`.`contentid` = `modResource`.`id` AND `TVimagecat`.`tmplvarid` = 2 WHERE  (  ( `modResource`.`parent` IN (20,15,16,17,18,48,19,46,60,47,40,54,49,30,25,33,27,57,51,34,58,50,24,59,56,29,36,28,26,45,39,44,38,53,43,35,32,31,23,41,52,21,61) OR `modResource`.`id` IN (21) )  AND `modResource`.`published` = 1 AND `modResource`.`hidemenu` = 0 AND `modResource`.`deleted` = 0 AND `modResource`.`context_key` = 'web' )  ORDER BY modResource.menuindex ASC "
0.0009260: SQL executed
0.0000689: Rows fetched
0.0001390: Returning raw data
0.0000088: Tree was built
0.0000041: Start template tree
0.0003331: Loaded "modChunk" with name "block_categories"
0.0486379: End template tree
0.0000601: Created inline "modChunk" with name "dc6d3757597108f87f958f868cf1591a"
0.0514851: Total time
4 194 304: Memory usage
Роман
07 февраля 2023, 22:42
0
Спасибо, а как будет через newQuery? :)
Артур Шевченко
07 февраля 2023, 22:29
0
Определенно нужно либо писать [[+tv.imagecat]], либо добавить параметр tvPrefix с пустым значением. Если не заработает оставь параметр tpl пустым — посмотри какие плейсхолдеры доступны. Ещё можно showLog добавить и посмотреть, что в запросе.
Артур Шевченко
07 февраля 2023, 22:11
1
+1
Ну продолжи логический ряд
$tmplObj = $modx->getObject('modTemplate', $template);
$templateName = $tmplObj->get('templatename');
Но если тебе нужно только имя шаблона, лучше сделать через newQuery, то текущий вариант прям сильно перегруженный по запросам в БД получается и два объекта получать ради одного имени это перебор по-моему.
Алексей Смирнов
07 февраля 2023, 21:17
0
Да, нужно назначать права на группу пользователей, которые будут регистрироваться. и да, назначить им права на создание-редактирование.
Артур Шевченко
07 февраля 2023, 21:08
0
Office это вообще не про создание ресурсов, это про личный кабинет и регистрация. Ресурсы создавать это Tickets.
Nail
07 февраля 2023, 20:52
0
Допустим через Office сделать. Тогда пользователям надо особые права дать чтобы они могли ресурсы создавать?
Алексей Смирнов
07 февраля 2023, 18:15
0
Данный сайт вообще сделан по особенному. А собрать такой же функционал можно применяя pdoToolse + Tickets, office(или login) и по мелочи пакеты.
Важно определиться с Шаблоном сайта (темой).
Например для старта можно посмотреть вариант моей темы, (если подойдет тема — мини-блог без личного кабинета и комментариев): modstore.pro/packages/sites-themes/mtblog
В будущем планируется прикрутить еще и комментарии к ней. Как раз получиться аналог данного сайта, но со своей спецификой.
Николай Савин
07 февраля 2023, 18:04
0
Ну если уж на то пошло, то и Tickets нет
Алексей Смирнов
07 февраля 2023, 17:28
0
Компонент обновился и вышел из беты.
Небольшая важная правка. Теперь можно включать-выключать кеширование основного css файла.
Поэтому советую обновить пакет до актуальной версии.