Алексей

Алексей

Был в сети 11 июля 2019, 10:26
Заказы не принимаю
Вот лог:

0.0000319: Loaded model «tickets» from "/core/components/tickets/model/"
0.0001202: pdoTools loaded
0.0000479: xPDO query object created
0.0025139: leftJoined TicketView as View
0.0024831: Processed additional conditions
0.0029190: Added where condition: template:==4, modResource.parent:IN(22,23,26,31,24,25,32,34,35,36,38,41,42,43,45,46,48,49,50,51,52,54,56,57,58,61,62,70,72,27,28,29,33,37,40,44,47,53,55,59,60,30,39,63,64,65,66,67,68,69,71), modResource.published=1, modResource.deleted=0
0.0001400: Sorted by modResource.publishedon, DESC
0.0000041: Limited to 10, offset 0
0.0006731: SQL prepared «SELECT `modResource`.`id` AS `modResource_id`, `modResource`.`type` AS `modResource_type`, `modResource`.`contentType` AS `modResource_contentType`, `modResource`.`pagetitle` AS `modResource_pagetitle`, `modResource`.`longtitle` AS `modResource_longtitle`, `modResource`.`description` AS `modResource_description`, `modResource`.`alias` AS `modResource_alias`, `modResource`.`link_attributes` AS `modResource_link_attributes`, `modResource`.`published` AS `modResource_published`, `modResource`.`pub_date` AS `modResource_pub_date`, `modResource`.`unpub_date` AS `modResource_unpub_date`, `modResource`.`parent` AS `modResource_parent`, `modResource`.`isfolder` AS `modResource_isfolder`, `modResource`.`introtext` AS `modResource_introtext`, `modResource`.`content` AS `modResource_content`, `modResource`.`richtext` AS `modResource_richtext`, `modResource`.`template` AS `modResource_template`, `modResource`.`menuindex` AS `modResource_menuindex`, `modResource`.`searchable` AS `modResource_searchable`, `modResource`.`cacheable` AS `modResource_cacheable`, `modResource`.`createdby` AS `modResource_createdby`, `modResource`.`createdon` AS `modResource_createdon`, `modResource`.`editedby` AS `modResource_editedby`, `modResource`.`editedon` AS `modResource_editedon`, `modResource`.`deleted` AS `modResource_deleted`, `modResource`.`deletedon` AS `modResource_deletedon`, `modResource`.`deletedby` AS `modResource_deletedby`, `modResource`.`publishedon` AS `modResource_publishedon`, `modResource`.`publishedby` AS `modResource_publishedby`, `modResource`.`menutitle` AS `modResource_menutitle`, `modResource`.`donthit` AS `modResource_donthit`, `modResource`.`privateweb` AS `modResource_privateweb`, `modResource`.`privatemgr` AS `modResource_privatemgr`, `modResource`.`content_dispo` AS `modResource_content_dispo`, `modResource`.`hidemenu` AS `modResource_hidemenu`, `modResource`.`class_key` AS `modResource_class_key`, `modResource`.`context_key` AS `modResource_context_key`, `modResource`.`content_type` AS `modResource_content_type`, `modResource`.`uri` AS `modResource_uri`, `modResource`.`uri_override` AS `modResource_uri_override`, `modResource`.`hide_children_in_tree` AS `modResource_hide_children_in_tree`, `modResource`.`show_in_tree` AS `modResource_show_in_tree`, `modResource`.`properties` AS `modResource_properties` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_tickets_views` `View` ON modResource.id = View.parent WHERE ( `modResource`.`template` = 4 AND `modResource`.`parent` IN (22,23,26,31,24,25,32,34,35,36,38,41,42,43,45,46,48,49,50,51,52,54,56,57,58,61,62,70,72,27,28,29,33,37,40,44,47,53,55,59,60,30,39,63,64,65,66,67,68,69,71) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 ) ORDER BY modResource.publishedon DESC LIMIT 10 „
0.0073602: SQL executed
0.0002029: Total rows: 10
0.0001469: Rows fetched
0.0025311: Loaded chunk “articlePreview»
0.0532079: Returning processed chunks
0.0679080: Total time
13 369 344: Memory usage

Вроде всё правильно. Может быть при использовании leftJoin нужно добавлять префиксы к плейсхолдерам?
Это не то. Мне нужно выбирать товары, а не ресурсы. Вы выбираете превью, а мне нужны оригиналы. Хотелось бы получить готовый вызов или оставить как есть. Как я понял, ничего сложного, но структура Minishop мне не знакома. Похоже, придется оставить костыль
Запускать msGallery внутри каждого чанка выборки msProducts = куча лишних запросов к бд.
Я понимаю, поэтому и написал сюда. У сниппета msGallery нет параметра leftJoin, о котором говорит комментатор ниже. Вы можете показать правильный код вызова сниппета и плэйсхолдер, в который попадет изображение?
можете указать отступ изображений при помощи &offset
Некорректно работает, если у товара 1 изображение.
можете воспользоваться параметром &toSeparatePlaceholders и с помощью дефолтных модификаторов модкса в чанке-обертке расписать желаемую логику
Можете показать, как это сделать?
1. Быстрый просмотр у меня реализован так habrahabr.ru/post/212345/
Можно ли отключить в настройках данный функционал в вашем компоненте?

2. Как ваш плагин работает в связке с modstore.pro/packages/ecommerce/msproductremains?
Что будет, если я переключу размер на тот, который не доступен в данном количестве? Мне вообще удастся это сделать?
Мне нужно настроить вывод сниппета для подгрузки товара в окно быстрого просмотра товара. Сниппета для вывода одного товара в пакете я не нашел, поэтому решил использовать этот.

Что касается страницы
bezumkin.ru/modx/minishop2/snippets/917/, то там только список таблиц для связи. О полях этих таблиц и доступных плейсхолдерах ничего не сказано. Вот вы говорите, что нужно изменить чанк. Но где найти список доступных плейсхолдеров?

Вообще ничего не понимаю. Где документация, описание параметров, пара примеров хотя бы…
В ходе экспериментов выяснилось, что ни msOptions, ни галерея не выводятся, а на их месте пишется «This resource is not instance of msProduct class.»
Даже если передаю имя класса msProduct… Если использовать в шаблоне стандартные поля и контент, то сниппет вообще валится и ничего не возвращает.

Выборка элементарная, а примера нигде нет. Судя по изученным выборкам нужно джоинить какие-то дополнительные таблицы. Какие именно не ясно. Какие плейсхолдеры они дадут неясно. Может кто-нибудь пояснить мне как сделать такую элементарную вещь? Как сам minishop то выводит товар?

Вообще реально ли вывести товар на обычной странице? Мне кажется, что msProducts использует текущий id, а не тот, который я ему передаю.
Пока достаточно имеющегося. Если я правильно понял, все дополнения отсюда привязываются к домену. Когда буду переносить сайт с технического домена на основной, проблем не возникнет?
[[msProducts?&parents=`0`&resources=`5`&tpl=`msProduct.content`&includeContent=`1`&includeTVs=`1`]]
Тоже не работает. Проблема в шаблоне. Сниппет не хочет парсить плейсхолдеры шаблона просмотра товара. Без указания шаблона, товар выводится как в категории. Как указать сниппету, что нужно показать товар, а не список товаров. Может быть, в параметре class нужно что-то передать?
Ожидаю от такого компонента следующий функционал:
1. Перед добавлением товара в корзину проверяется, есть ли он в таком количестве в наличии, если нет, добавления в корзину не происходит.
2. Перед подтверждением заказа проводится точно такая же проверка.
3. При переводе заказа в статус отменен, товар возвращается в остатки (опционально).

Это что первое пришло в голову…