Всего 123 793 комментария

Александр
18 мая 2023, 13:55
0
Я про то, что в текстовой документации в разы удобнее и быстрее можно найти нужную информацию.
Dan
Dan
18 мая 2023, 13:54
0
Ну в 15 минут все функции компонента точно не уложить, а если заснять только часть, то недовольных короткой длительностью видео будет точно больше. Лучше в часовое видео прокрутить и найти, что нужно, чем самому полдня потратить, разбираясь в функционале. Имхо
Александр
18 мая 2023, 13:42
0
Это то видел. Там далеко не полная информация, приходиться смотреть видео, а это та ещё песня, в почти часовом ролике найти нужное.
Александр
18 мая 2023, 13:26
0
Есть документация в печатном виде? Видео на один час это жесть какая-то.
Николай Савин
18 мая 2023, 10:49
1
+2
Артур ты тоже обрати внимание. Есть шикарный метод
$modx->updateCollection();
Он позволяет быстро без перебора обновить записи в базе по заданным критериям.
Да — нужно знать про него, что он сразу в базу лезет, и не задействует никакие модели, плагины.
Конкретно в этом случае — это норм.
Николай Савин
18 мая 2023, 10:47
+1
очень печально что в модкс нельзя обновить коллекцию пачко
Вполне себе есть метод
$modx->updateCollection()
Сергей
18 мая 2023, 10:20
0
Спасибо огромное за помощь, именно это и помогло! Прогнал фотки через сервис уменьшения размера изображений, заодно он и метаданные чистит.
Сергей
18 мая 2023, 10:19
0
Спасибо огромное за помощь, именно это и помогло! Прогнал фотки через сервис уменьшения размера изображений, заодно он и метаданные чистит.
Павел Бигель
18 мая 2023, 01:51
0
foreach($products as $p){
            $p->set('published', 0);
            $p->save();
        }
Мне кажется получить ошибку MySQL gone away получить можно очень быстро с обновлением элементов коллекции отделельно.
Лучше бы их обновить в БД напрямую

P.S очень печально что в модкс нельзя обновить коллекцию пачкой. Но я понимаю почему — иначе не отработают плагины на эти события
Тодор
18 мая 2023, 00:18
0
getParentIds возвращает список ИДшек всех родителей ресурса. Только на него ни как не влияет категории отмеченные во вкладке Категории
kudesia
18 мая 2023, 00:03
0
Вот так может лучше

joxi.ru/823NelZCwlwnym

Вот нужно вывести pagetitle этот дополнительной, а не основной категории
Артур Шевченко
17 мая 2023, 23:43
0
Я не понял задачу. Что за страница со второстепенными категориями?
Артур Шевченко
17 мая 2023, 23:40
0
<?php
if (empty($rid)) {$rid = $modx->resource->id;}
if (empty($pid)) {$pid = $modx->resource->parent;}
if (empty($delimeter)) {$delimeter = ' , ';}
$pdo = $modx->getService('pdoTools');
$scheme = $modx->getOption('link_tag_scheme', null, 'full', true);

$q = $modx->newQuery('msCategory');
$q->leftJoin('msCategoryMember', 'msCategoryMember', array(
    '`msCategory`.`id` = `msCategoryMember`.`category_id`'
));
$q->sortby('pagetitle','ASC');
$q->groupby('id');
$q->select($modx->getSelectColumns('msCategory'));
$q->where('`msCategoryMember`.`product_id` = '.$rid.' OR `id` = '.$pid);

$result = array();
$html = '';
if ($q->prepare() && $q->stmt->execute()) {
    while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
        if($tpl){
            $html .= $pdo->parseChunk($tpl, $row);
        }
        else{
             $result[] = $row;
        }
    }
}
return $html ?: $result;
Добавил параметр tpl это обычный чанк, в нём доступен массив полей ресурса в виде плейсхолдеров типа {$pagetitle} или [[+pagetitle]]. Можете выводить что угодно и как угодно.
kudesia
17 мая 2023, 23:39
0
Тот вопрос про вывод всех категорий, а этот про одну второстепенную, конкретно указанную в [[!msProducts?]]
Артур Шевченко
17 мая 2023, 23:29
-1
Вы зачем спамите похожими вопросами? Предыдущий ваш вопрос был про это же, только с другого бока.
kudesia
17 мая 2023, 23:27
0
Спасибо огромное, работает.

Можете еще сказать, как вывести только ID или только pagetitle?
Артур Шевченко
17 мая 2023, 23:21
+1
На Fenom так
{'!SnippetName' | snippet: [
'rid' => $id,
'pid' => $parent
]}
На родном синтаксисе так
[[!SnippetName?
&rid=`[[+id]]`
&pid=`[[+parent]]`
]]
SnippetName — заменить на название сниппет.

Но лучше в msProducts дописать параметр leftJoin, кажется так будет немного оптимизированнее