Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!
При создании рубрики в название дописываем код Блога (т.е. URL блога), с которого пойдут посты (1 рубрика = 1 блог)
Среди рубрик подписки получаем что-то вроде
- Блог «Главный штаб нашей компании» [CODE:glavnyy-shtab-nashey-kompanii]
- Блог «Офис «Петроградский»» [CODE:0fis-petrogradskiy]
- Подписка на новости
- Подписка на акции
В публичке с помощью result_modifier'ов через regexp вырезаем все сущности в виде гномика вида [CODE:xxx...x]
- Блог «Главный штаб нашей компании»
- Блог «Офис «Петроградский»»
- Подписка на новости
- Подписка на акции
Для "блоговых" рубрик создаём свой шаблон, где также с помощью регулярки также из переменной $SUBSCRIBE_TEMPLATE_RUBRIC["NAME"] получаем url блога. (В шаблоне рассылки в переменную $SUBSCRIBE_TEMPLATE_RUBRIC["NAME"] попадает полное название "вызвавшей" рубрики, т.е. "Блог «Главный штаб нашей компании» [CODE:glavnyy-shtab-nashey-kompanii]" и т.п.)
После этого пишем какой-нибудь простой компонент mydomain:blog.getnewpostforsubscribe куда одним из параметров подставляем код блога и внутри компонента делаем выборку сообщений только для этого блога.
Только косяк в том, что если название очень длинное, то название будет обрезано
Соответственно, все подборы работать уже не будут.
И второй вариант решения задачи. 1. Добавить в сам блог пользовательское свойство "ID_рассылки". Делается это на вкладке "Настройки -> Настройки продукта -> Пользовательские поля", название объекта BLOG_BLOG, поле назовём, допустим UF_BLOG_SUBSCRIBE_ID.
2. В момент генерации рассылки в наш компонент передавать одним из параметров ID_рассылки ($SUBSCRIBE_TEMPLATE_RUBRIC["ID"] ).
3. Внутри нашего компонента делать выборку блогов, у которых пользовательское свойство UF_BLOG_SUBSCRIBE_ID == $SUBSCRIBE_TEMPLATE_RUBRIC["ID"]
Возможно, это более кошерное решение кому-нибудь поможет.