UMIhelp

Разработка дополнительного функционала => Custom макросы => Тема начата: 31rus от 10 Сентября 2013, 20:26:54

Название: Макрос вывода новостей связанных определенным сюжетом
Отправлено: 31rus от 10 Сентября 2013, 20:26:54
Добрый день, всем.
Туплю несколько дней над проблемой.
Нужно вывести на главной странице сайта только новости с определенным сюжетом.
На ум приходит использование news related_links() но изначально мы знаем только сюжет но не id новости от которой можем оттолкнуться.

Вкратце смысл задачи, есть сайт с доменами 3 уровня, на каждом из них есть акции которые могут повторятся на разных доменах, что бы не создавать в каждом домене отдельную новость, создаем на главном домене 1 новость и полем множественный выпадающий список выбираем привязку (так же/или как и сюжеты новости).

накидал макрос, но он не работает:(

public function subject ($subject) {
  $pages = new selector('objects');
           $pages->types('object-type')->id(116); // справочник
  $i = 0;
  foreach($pages as $page){
      $subject = $page->getValue('subject');
      if (!empty($subject)) {

  foreach ($subject as $element) {
      $name = umiObjectsCollection::getInstance()->getObject($element)->getName();
      if ($name == $subject) {
  $require_id[$i] = $page->id;
  $require_name[$i] = $page->name;
                  $i++;
      }  
          }
      }
  }
  for ($a = 0; $a < $i; $a++) {
      $item_arr['attribute:id']=$require_id[$a];
      $item_arr['node:value']=$require_name[$a];
      $items[] = $item_arr;
  }
  $block_arr['items']['nodes:item'] = $items;
  return $block_arr;
}
Может я уже смотрю на проблему однобоко и есть более простое решение?
Название: Re:Макрос вывода новостей связанных определенным сюжетом
Отправлено: admin от 13 Сентября 2013, 11:23:37
То есть у вас есть общая новостная лента на одном из сайтов (все ваши сайты сделаны на одной лицензии umi, по принципу мультисайтовой системы)

Вы хотите выводить некоторые новости на других сайтах (других доменах в этой же системе umi)

Для этого, вы хотите помечать новости элементами выпадающего списка со множественным выбором и впоследствии фильтровать новости по данному полю на конкретных страницах.

Я правильно вас понял?
Название: Re:Макрос вывода новостей связанных определенным сюжетом
Отправлено: 31rus от 21 Сентября 2013, 18:54:55
Совершенно верно.
Название: Re:Макрос вывода новостей связанных определенным сюжетом
Отправлено: admin от 21 Сентября 2013, 19:11:52
попробуйте usel? я думаю он решит все ваши проблемы, почитайте про него и составте файл который будет возвращать выборку страниц, типа "новость", у которых в поле "ваше поле со списком множественного выбора" стоит значение "id значение которое вас интересует"

P.S. про usel можно почитать тут (http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/vyborki_iz_bd_protokol_usel/)