Всего 125 668 комментариев

Наумов Алексей
26 января 2021, 14:43
0
Судя по запросу я вижу, что выбирается 1 ресурс с id=3.

Правда запрос странный, в нем нет leftJoin)
Артур Шевченко
26 января 2021, 14:01
0
Вообще без обид, меня никто не учил как правильно, делаю как могу, против конструктивной критики ничего не имею, поэтому спасибо. И несколько вопросов.
Во первых вызывая сниппет — ты проходишь полный цикл инициализации MODX, тебе нужно отдать очень простые результаты зачем тебе полностью инициализировать modx?
Что значит «полный цикл инициализации MODX» и что в этом страшного, если на странице зачастую вызывается несколько сниппетов?

Зачем вызывать сниппет msProducts? Почему бы не использовать pdoFetch например и не задействовать парсер modx?
Я понимаю, что это, скажем так, неоптимальное решение, но другой вариант это
$pdoTools->getChunk($tpl, $data);
А как без использования парсера? Мне же html нужен, а не сырые данные, или JS'ом вставлять?

А что до названия, ну «Сделай Сам» или «Мой способ реализации бла-бла» так по-моему без разницы, на код это не влияет)))
Pavel Zarubin
26 января 2021, 13:37
+1
Ужас, вся статья — пример того, как делать не нужно))

На сервере я использовал два сниппета ajaxReceiver для принятия запроса и searchResources для поиска.
Зачем? Во первых вызывая сниппет — ты проходишь полный цикл инициализации MODX, тебе нужно отдать очень простые результаты зачем тебе полностью инициализировать modx? Дикая нагрузка на сервер, очень медленная скорость. Также ты вызываешь еще один сниппет из этого сниппета, это прям ну вообще плохо
$pdoTools->runSnippet('msProducts', array(
                            'parents' => 9,
                            'resources'=> implode(',', $ids),
                            'limit' => 0,
                            'sortby' => ['menuindex' => 'ASC'],
                            'tpl' => $tpl
                    ));
Эм… Зачем вызывать сниппет msProducts? Почему бы не использовать pdoFetch например и не задействовать парсер modx?

И это лишь малая часть, тут вообще ни строчки правильного кода по сути нет…

Короче без обид, Артур, учиться программировать не плохо, что мы видим из твоих статей, но пожалуйста, называй свои статьи не «Как сделать что то» а «Подскажите что я делаю не так» ну или хотя бы «Мой способ реализации бла-бла». Твой абсолютный говнокод же будут потом брать новички (что мы видим из количества добавленных в избранное), а учитывая как мало материалов по modx он еще и в гугл может попасть…
Sergey
26 января 2021, 12:33
0
Фильтр по «rating» — не выводит, выводит например по tv если указать.
Включил log, почему то получается 3 вывода лога.
0.0000081: Loaded model "easycomm" from "/core/components/easycomm/model/"
0.0000260: pdoTools loaded.
0.0000069: Loaded model "easycomm" from "/core/components/easycomm/model/"
0.0000231: Query parameters are prepared.
0.0000162: xPDO query object created
0.0009890: leftJoined mseIntro as Intro
0.0000012: Grouped by modResource.id, Intro.intro
0.0000231: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `alias_visible`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `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.0000579: Added selection of mseIntro: intro
0.0000150: Processed additional conditions
0.0001259: Added where condition: template=8, modResource.id:IN(3), modResource.published=1, modResource.deleted=0, modResource.isfolder=0
0.0000610: Sorted by FIELD(`modResource`.`id`,'3'), 
0.0000021: Limited to 10, offset 0
0.0003798: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `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`.`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`, `intro` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_mse2_intro` `Intro` ON modResource.id = Intro.resource WHERE  ( `modResource`.`template` = 8 AND `modResource`.`id` IN (3) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 AND `modResource`.`isfolder` = 0 )  GROUP BY modResource.id, Intro.intro ORDER BY FIELD(`modResource`.`id`,'3') LIMIT 10 "
0.0097411: SQL executed
0.0004070: Total rows: 1
0.0000172: Rows fetched
0.0000138: Returning raw data
0.0143211: Total time
4 194 304: Memory usage

0.0035930: pdoTools loaded
0.0021920: Loaded "modSnippet" with name "mSearch2"
0.1581380: Created inline "modChunk" with name "e6747421ac951eec87076a3f44c6a184"
0.1639540: Total time
6 291 456: Memory usage

0.0000131: Loaded model "easycomm" from "/core/components/easycomm/model/"
0.0000410: pdoTools loaded.
0.0074718: Fetched 1 ids for building filters from element "mSearch2"
0.0000050: Total number of results: 1
0.0000021: Getting filters for 1 ids
0.0027070: Total number of filters: 0
0.2019460: Fired paginator: "pdoPage"
0.0000050: Filters retrieved
0.0000088: Total filter operations: 0
0.5595241: Total time
6 291 456: Memory usage
Наумов Алексей
26 января 2021, 10:48
0
А что выводит? Что в логе, если его включить? (параметр showLog).
Sergey
26 января 2021, 01:26
0
Здравствуйте, хочу вывести рейтинг в фильтр, обычные документы, но ничего не выходит, может кто подскажет в чем ошибка?
{$_modx->runSnippet('!mFilter2', [
    'loadModels'=>'easycomm',
    'leftJoin' => [
        'ecThread' => [
            'class' => 'ecThread',
            'on' => ['modResource.id = ecThread.resource']
        ]
    ],
    'select' => [
        'modResource' => '*',
        'ecThread' => 'ecThread.rating_simple AS rating, ecThread.count AS reviews'
    ],
    'depth' => 1,
    'hideContainers' => 1,
    'where' => '{"template": 8}',
    'filters' => 'rating:checkbox',
])}
Артур Шевченко
26 января 2021, 00:10
0
{'pdoResources' | snippet: [
    'parents' => 0,
    'includeTVs'  => 'multiSelectTVname'
    'where' => ['multiSelectTVname:LIKE' => '%Белый%']
]}
Michael
25 января 2021, 22:33
0
В том то и дело, что он его в нем не находит через админку. другие приложения через строку поиска в Установщике находит и устанавливает при выборе modstore как поставщика, а ваше не находит. Что делать?
Евгений Webinmd
25 января 2021, 21:07
0
в emailsender попробуйте доменную почту поставить, а менеджеру минишопа уже ваш email
Эдуард
25 января 2021, 18:51
0
Я заметил, что при добавлении в ресурсе элемента MIGX при наведении мышки на название поля у него не отображается прейсходер, Точнее отображается но пустой, вот так: [ [*] ], вмеcто [ [*pole] ]
Это такая фича вроде. У меня тоже там не отображается названия полей в большинстве случаев.
Но иногда отображаются, хотя все ТВ правильно прописаны. В чем проблема фиг знает, но работает все корректно.
Артур Шевченко
25 января 2021, 17:24
0
Что не так с Minioshop2 в этом плане?
С ним всё в порядке, сегодня проверял хостинг Beget, почта менеджера такая же name@domain.ru.от Яндекса. Обычно такое бывает по вине хостера, уточните есть ли ограничения на отправку писем, проверьте какой адрес стоит в emailsender, настройки minishop2 проверьте чтобы отправка была включена у нужного статуса, чтобы в шаблонах не было ошибок, в логах посмотрите, может там ошибки есть.
Артур Шевченко
25 января 2021, 15:02
0
Славно, что разобрались.
Dima
25 января 2021, 14:59
0
Да, пробовал и стандартный чанк товара использовать (в минишопе который)
Сергей Карпович
25 января 2021, 14:59
0
Блин, какой же я слепой, у меня очепятка была в названии TV поля
[[getImageList?
                &tvname=`deviz`
                &tpl=`@CODE:[[+image]]
[[+text]]`
]]
Действительно, все работает
Артур Шевченко
25 января 2021, 14:56
0
Где вы эти два сниппета вызываете, на странице товара?
Артур Шевченко
25 января 2021, 14:54
+2
Не знаю баг это или фича, но отсутствие подписи к полю в админке на вывод не влияет, проверено. Покажите код который выводит данные.
Баха Волков
25 января 2021, 14:48
0
Компонент недоступен в официальном маркетплейсе, устанавливайте из modstore
Shedko Denis
25 января 2021, 13:15
0
Настроил согласно этой инструкции, но появился вопрос.

В текст статьи по этому коду:
{'!rssCDATA' | snippet : [ 'cnt' => ( $id | resource : 'content' | replace : '"assets/' : ('"' ~ $_modx->config.site_url ~ 'assets/') ) ]}
уходит экранированный текст, где все тэги «побиты»
<p><img src="/img/lys.jpg" width="300" alt="Монтаж люстры" align="right"   vspace="0" hspace="5">
<p>Теперь Вам достаточно просто обратиться в нашу компанию. Больше нет необходимости в поиске электрика, наши специалисты сделают это для Вас.</p>
<h2>Монтаж люстры</h2>
<p>Все <b> люстры </b> крепятся практически одинаково, приведем три примера.</p>


Подскажите, что я сделал не так )
Артур Шевченко
25 января 2021, 12:10
0
Вы можете делать что хотите, лишь бы навыков хватило. Вот тут похожей темой интересовался, правда там он спрашивает как вывести заказ. На моём сайте такой функционал реализован, могу скинуть свой код, но позже, пока не у компа. А вот в документации решение этой задачи нет. Вам нужно почитать раздел Разработка компонента minishop2, плюс понимать как с помощью modx api работать с ресурсами, знать какие поля есть у товаров, заказов, как связаны между собой таблицы minishop2. Но это всё не очень сложно, я код скину посмотрите и думаю разберётесь.