Всего 123 801 комментарий

Марина
08 февраля 2023, 12:22
0
Ещё раз повторю, картинки к ресурсам у меня подгружены.
Вот скриншот:
disk.yandex.ru/i/egoA_EV5vQG6UQ
Шаблон нужный выбран, иначе бы у ресурса не отображалось доп. поле tv
Константин Ильин
08 февраля 2023, 11:42
0
То что они лежат где-то это одно. Вам же нужно выбрать у каждого ресурса иpображение,
Например открываете ресурс «Лампочки», там вкладка Доп поля и там ваше поле должно отображаться, если вы указали для TV шаблон в котором отображать это поле. В итоге В вашем поле выбираете нужное вам изображение и сохраняете ресурс.
Должно быть заполнено: disk.yandex.ru/i/1E2QED82nhDY8w

Все довольно просто, никаких источников файлов для быстрого старта не надо создавать.

TV
— Ввод Изображение
— Выбрать для какого(их) шаблонов отображать

— Зайти в ресурс(ы) и выбрать/загрузить картинку к нему
Марина
08 февраля 2023, 11:29
0
Картинки у меня лежат в папке /assets/images/catalogies. В настройках tv imagecat пробую подключать источник файлов по умолчанию — filesystem — картинки не подгружаются. Пробую подключать созданный источник файлов, в котором прописан путь к файлам assets/images/catalogies/ — результат тот же.
Параметр ввода — изображение либо image+, вывод — по умолчанию (другие варианты вывода результат не меняют).
Или картинки нужно загружать в какую-то другую папку?
К ресурсам картинки присоединены. Редактор обрезки изображений работает.
Переустановка связанных дополнений ничего не даёт…
Константин Ильин
08 февраля 2023, 11:06
0
Имеется ввиду Вы картинку точно загрузили к ресурсу? Потому что, [[+imagecat]] или [[+tv.imagecat]] должны что-то выдавать, если нет опечаток и изображение загружено.
И у тв лучше сделать так:
Параметр ввода изображение или что-то удобное вам
А параметр вывода вообще не трогать, оставить по умолчанию
Марина
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.