Как выбрать ресурсы из тв,поля?

Есть два типа ресурсов… портфолио и услуги… в записи портфолио указываются ид записей услуги.

Зайдя в услугу, нужно показать какие портфолио к ней относятся.

лучше на феноме. уже всю голову сломал…
UDAV
21 сентября 2017, 08:10
modx.pro
740
0

Комментарии: 6

Арсений
21 сентября 2017, 12:54
+2
в сниппете получаем данные tv, разбираем строку на массив id-шников, получаем необходимые данные
$tv = $modx->resource->getTVValue('name_of_tv');
$ids = explode(",", $tv );
foreach($ids as $id){
	$res = $modx->getObject('modResource',$id);
	$pagetitle = $res->get('pagetitle');
	//по аналогии получаем остальное
}
    UDAV
    21 сентября 2017, 13:13
    0
    это не совсем то… при просмотре ресурса нужно получить ид других ресурсов ссылающихся на просматриваемый.

    зы. через теги это как?
      Арсений
      21 сентября 2017, 13:36
      +1
      есть приложения, работающие с тегами
      в таком случае наверное проще сделать просто зарос к базе
      $id = $modx->resource->get('id');
      $data = "SELECT contentid FROM base_site_tmplvar_contentvalues WHERE tmplvarid = 'tv_id' AND value = '$id'";//тут мы просим таблицу твшек дать нам id всех ресурсов у которых указан id текущей страницы
      $q = $modx->prepare($data);
      $q->execute();
      $ids = $q->fetchAll(PDO::FETCH_ASSOC);
      все — получили массив id-шников, дальше аналогично
        UDAV
        21 сентября 2017, 13:52
        0
        Спасибо!

        С тегами не подошло бы, т.к. их надо заводить постоянно новые, а мне нужно чтоб из списка доступных ресурсов была возможность выборки.
          Арсений
          21 сентября 2017, 14:04
          0
          а после получения списка id можно просто вызывать тот же pdoResource и передавать в него id и нужный чанк для вывода — будет вам счастье
    Арсений
    21 сентября 2017, 13:01
    +2
    а вообще не лучше это через теги сделать?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6