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

Shedko Denis
12 августа 2021, 15:42
1
+1
docs.modx.pro/komponentyi/pdotools/snippetyi/pdopage
По умолчанию pdoPage принимает все параметры pdoTools
т.е.
[[pdoPage?
    &element=`msProducts` 
    &parents=`50` 
    &tpl=`tpl.msProducts.row.Дилеры` 
    &tplOdd=`tpl.msProducts.row.БезЦены` 
    &limit=`250`
    &sortby=`{"menuindex":"asc"}
` ]]
tplOdd + tpl — работает.

Т.е. смотрим документацию

Нас интересуют эти шаблоны:
&tplFirst Имя чанка для первого ресурса в результатах.
&tplLast Имя чанка для последнего ресурса в результатах.
&tplOdd Имя чанка для каждого чётного ресурса (хоть «odd» значит «нечётный», работает для чётных ресурсов).
&tpl_N Имя чанка для N-го ресурса, например, &tpl_4=`tpl4th` установит шаблон для 4-го ресурса.
&tpl_nN Имя чанка для каждого N-го ресурса, например, &tpl_n4=`tplEvery4th` будет применено к каждому 4-му ресурсу.
Вроде как на все Ваши потребности хватает встроенных условий.
Алексей Ерохин
12 августа 2021, 13:41
0
НАсколько я знаю, msProducts не поддерживает tplOdd tplN_th и т.п. как pdoResources.

Вариант 1:
Если карточки простые — использовать pdoResources, но тут скорее всего есть подводные камни, например, будет ли цена со скидкой выводиться

Вариант 2:
В чанке одного товара использовать idx. [[+idx:mod:isequalto=`1`:then=`нечетный`:else=`четный`]]
[[+idx:mod=`3`:isequalto=`0`:then=`каждый третий`:else=`не третий`]]
mekirile
12 августа 2021, 11:56
0
После обновления получаю ошибку:
"PHP message: PHP Fatal error:  Cannot declare class msCDEKHandler, because the name is already in use in /home/s6103/www/core/components/ms_cdek2/model/ms2/mscdekhandler.class.php on line 7" while reading response header from upstream, client: 185.19.179.154, server: s6103.h5.modhost.pro, request: "GET /cart.html HTTP/2.0"
Подскажите как исправить?
Павел Романов
12 августа 2021, 11:17
+1
Пишете сниппет, который выводит id товаров через запятую в нужной последовательности например так:
<?php
$ids1 = $modx->runSnippet('pdoResources', array(
    'parents' => 12, // ID первой категории
    'returnIds' => 1,
    'limit' => 0,
    'templates' => 3 // ID шаблона товара
)));
$ids2 = $modx->runSnippet('pdoResources', array(
    'parents' => 3,-12, // ID каталога и исключение ID первой категории
    'returnIds' => 1,
    'limit' => 0,
    'templates' => 3 // ID шаблона товара
)));
return $ids1.','.$ids2;

И подставляете этот сниппет в вызов mFilter2:
...
&resources=`[[!snippetName]]`
&sortby=`ids`
...
Виктор Лобанов
12 августа 2021, 10:30
0
Спасибо большое, то что надо, никогда даже не обращал внимания на этот параметр.
Сергій
11 августа 2021, 22:36
0
Да чтобы ты в жизни не болел и геморрой не доставал.
Спасибо большое!!!
Диман
11 августа 2021, 21:40
0
Может подскажите, как реализовать вывод кол-во товара в категориях на главной страничке !?
Andrey
11 августа 2021, 19:06
+1
Так в справке ведь всё расписано. Не могу знать что у вас там конкретно, какие параметры нужны. Просто добавляете параметры под задачи…
Вот по тв, например:
[[pdoResources?
    &parents=`1,3,5` //тут родители
    &includeTVs=`tv1`
    &tvFilters=`tv1==123` //фильтр по tv. если tv1 равно 123
    &setTotal=`1`
    &totalVar=`total` //имя плейсхолдера для вывода количества результатов
]]
Sergey (Sentinel)
11 августа 2021, 19:03
0
[[!pdoResources?
    &parents=`0`
    &depth=`0`
    &tpl=`@INLINE <li>[[+pagetitle]] — [[+count]]</li>`
    &limit=`0`
    &select=`{
      "modResource":"id, pagetitle",
      "Children":"COUNT(Children.id) as count"
    }`
    &leftJoin=`{
      "Children":{"class":"modResource", "on":"modResource.id = Children.parent AND (Children.deleted != 1 AND Children.published = 1)"}
    }`
    &where=`{"Children.id:IS NOT":null}`
    &sortby=`{"id":"ASC"}`
    &groupby=`modResource.id`
  ]]
Andrey
11 августа 2021, 17:59
0
RewriteCond %{HTTP_HOST} !^site\.com [NC]
Мне кажется у вас здесь знак пропущен.
RewriteCond %{HTTP_HOST} !^site\.com$ [NC]
Пример:
RewriteCond %{HTTP_HOST} !^domain\.zone$
RewriteRule ^(.*)$ http://domain.zone/$1 [L,R=301]
Andrey
11 августа 2021, 17:17
0
pdoResources не подходит? Там и выборка, и фильтры, и подсчёт количества.
Andrey
11 августа 2021, 17:05
0
Календарь, да — через tv, через migx.
Посмотрю на restful api, что за штука. Не сталкивался с ним, не знаю про него ничего. Спасибо за пример!
Роман
11 августа 2021, 17:02
1
+1
Можно добавить чанк для каждого шестого или просто шестому элементу:
{'!mFilter2' | snippet: [
    'parents' => 0,
    'element' => 'msProducts',
    'tpl_6' => 'Имя чанка'
]}
Тодор
11 августа 2021, 16:37
0
Вставить в контент визов чанка
[[$productCart?id=`59`]]
или снипета
[[productCart?id=`59`]]
Александр Мельник
11 августа 2021, 16:22
0
Возможно вам стоит обратиться к своему хостингу.
Ведь «точка» это не просто глюк, все сайты в мире в оригинале должны открываться с точкой в конце, поскольку это — домен нулевого уровня в системе DNS.
ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%BD%D0%B5%D0%B2%D0%BE%D0%B9_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD
Как правило «удалением точки» занимается сам браузер, просто скрывает от нас, чтобы сделать жизнь проще.
Вы врядли могли сами вызвать «добавление точки», скорее всего сбой произошел на хостинге.
Andrey
11 августа 2021, 16:13
0
заметил один баг, он не прям совсем неприятный, но когда добавляешь допустим пользователя в определенную группу, например был он в группе: Users, а нужно еще добавить добавить в Bussines, то раньше при чистке КЕШа и перезагрузке прав, помогало не перелогиниваться пользователю и сразу пользоваться преимуществами новой группы, а сейчас нужно в базе удалять сессию.

Я может конечно чет не так понял… но это случилось после того как перешел на этот обработчик! Не подскажите в чем может быть проблемс?
Виталий
11 августа 2021, 15:58
0
Всем спасибо за оперативный ответ, ушел делать сначала бэкапы
Александр Мельник
11 августа 2021, 15:54
0
Если есть возможность, делайте резервные копии перед обновлением.
Не знаю, может я такой криворукий, а может на моих сайтах много самописного кода, но у меня в среднем из десяти сайтов без проблем обновляются — один. Девять просто перестают работать после обновлений.