Виктор Долгий

Виктор Долгий

Был в сети 25 февраля 2021, 16:19
Заказы не принимаю
0
Комментарии индексируются не просто так, а у индексируемых документов. Если документ не индексируется, то и комментарии — тоже.
Просто в таблице я приметил, что у всех комментариев стоит
parent=0
. Потому и интересно, как работает в данном случае иерархия?

Как убирать галочку про поиск придётся подумать самостоятельно.
Ну, тут понятно :)
-1
Это я понимаю. То есть, вопрос в том, можно ли штатно это настроить, или городить нужно. И у комментариев как это свойство поменять, если его нет, как я понимаю из таблицы БД? Штатных решений не нашел.
1
+1
Вот, собственно:
<?php
$pdo = $modx->getService('pdoFetch');
$id = $modx->getOption('id', $scriptProperties, $modx->resource->id);
$rank = $modx->getOption('rank', $scriptProperties, 0);
$size = $modx->getOption('size', $scriptProperties, '360x270');

$res = $pdo->getObject('msResourceFile',
	array('resource_id' => $id, 'rank' => $rank, 'path:LIKE' => '%/'.$size.'/'),
	array('loadModels' => 'ms2gallery','select' => 'url')
);
return $res ? $res['url'] : '';
Параметр &size=`360x270` (например).
0
Дело вот в чем. Пытаюсь по прежнему побороть вот какую ситуацию. На странице товара я вызываю списки комплектующих, которые разбиты на Бутстраповские табы. То есть по категориям. Помимо этого к каждой категории комплектующих этого товара выбирается определенное описание (которое подходит для нескольких других товаров). То есть конструкция выглядит сейчас так:
Для того, чтобы несколько ускорить процесс выборки, сначала получаю список категорий сопутствующих комплектующих. Делаю через pdoResources, он, в итоге, быстрее:
[[pdoResources?
  &parents=`149`
  &limit=`0`
  &fastMode=`1`
  &tpl=`@INLINE [[+parent]]`
  &outputSeparator=`,`
  &toPlaceholder=`prts`
  &select=`{"modResource":"parent"}`
  &innerJoin=`{
    "Link":{"class":"msProductLink",
    "alias":"Link",
    "on":"modResource.id = Link.slave AND Link.link = 1"}
    }`
  &where=`{"Link.master":[[*id]]}`
  &groupby=`parent`
  ]]
Потом запускаю еще один, который генерирует табы:
[[pdoResources? &parents=`149` &depth=`0` &links=`1`
    &tpl=`tpl.pdoResources.prts` &sortby=`menuindex`
    &select=`id,pagetitle,alias,uri` &limit=`no` &sortdir=`asc`
    &resources=`[[+prts]]`
    ]]
Ну и собственно tpl.pdoResources.prts:
<div class="tab-pane" id="[[+alias]]">
  [[pdoResources? &parents=`[[+id]]` &depth=`0` &fastMode=`1`
    &includeTVs=`Systems.hros` &tvFilters=`Systems.hros==%[[*id]]%`
    &select=`longtitle,content` &tpl=`@INLINE
      <h4>[[+longtitle]]</h4>
      <p class="small">[[+content]]</p>
      
`
    ]]
  
  [[msProducts? &parents=`[[+id]]` &link=`[[+links]]` &master=`[[*id]]` &limit=`0`
    &tpl=`tpl.msProducts.quick.tile` &includeThumbs=`360x270` &sortby=`menuindex`
    &-select=`{"msProduct":"pagetitle,article"}`
    &wrapIfEmpty=`0` &tplWrapper=`@INLINE
      <div class="row">[[+output]]</div>
      <p class="small"><a href="[[+uri]]" target="_blank" title="Перейти на страницу «[[+pagetitle]]»">
        Все [[+pagetitle:lcase]] →</a>
      </p>`
    ]]
</div>
Но по скорости работы эта конструкция, мягко скажем, не очень шустрая…