Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Кастомный макрос. Как передать строку с символами "/"?

Автор MIkeРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 1407
Последний ответ 23 Май 2013, 15:13:37
от MIke
Вывод страницы в меню с отключением вывода в карте сайта

Автор alpotemkinРаздел Макросы UMI.CMS

Ответов: 6
Просмотров: 3478
Последний ответ 03 Ноябрь 2011, 15:07:29
от alpotemkin
Изменение вывода каталога в мобильной версии отличной от основной

Автор fantom103Раздел Шаблоны TPL

Ответов: 4
Просмотров: 1517
Последний ответ 01 Март 2016, 22:15:10
от aghigay
Есть ли вариант вывода элемента справочника на странице

Автор crazygeorgioРаздел Настройка системы и модулей

Ответов: 3
Просмотров: 1342
Последний ответ 10 Май 2013, 10:00:24
от Vladimir
Меню - ограничение глубины вывода в одном разделе

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 8
Просмотров: 1973
Последний ответ 30 Сентябрь 2014, 22:59:05
от Axiomateria

0 Пользователей и 1 Гость просматривают эту тему.

*

31rus

  • *
  • 46
  • +2/-0
    • Просмотр профиля
Добрый день, всем.
Туплю несколько дней над проблемой.
Нужно вывести на главной странице сайта только новости с определенным сюжетом.
На ум приходит использование 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;
}
Может я уже смотрю на проблему однобоко и есть более простое решение?

*

admin

  • *****
  • 2443
  • +172/-1
    • Просмотр профиля
То есть у вас есть общая новостная лента на одном из сайтов (все ваши сайты сделаны на одной лицензии umi, по принципу мультисайтовой системы)

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

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

Я правильно вас понял?

*

31rus

  • *
  • 46
  • +2/-0
    • Просмотр профиля
Совершенно верно.

*

admin

  • *****
  • 2443
  • +172/-1
    • Просмотр профиля
попробуйте usel? я думаю он решит все ваши проблемы, почитайте про него и составте файл который будет возвращать выборку страниц, типа "новость", у которых в поле "ваше поле со списком множественного выбора" стоит значение "id значение которое вас интересует"

P.S. про usel можно почитать тут