Как определить тип страницы в Lightning в Community Cloud?

Как определить тип страницы в Lightning в Community Cloud?

Всем привет!

Делаю Lightning компонент, который должен выглядеть немного по-разному на разных страницах. Подскажите, есть ли способ определить, на какой странице(Home, Topic List, Case, Article, etc.) в Community находится компонент?

Сделай отдельный аттрибут, назови его page_type, добавь его в *.design. В коммунити переавай в него то что хочешь

https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/components_config_for_app_builder.htm

пункт 3

Точного ответа не дам, но как вариант могу предложить такое решение
вытягивать URL (чтобы обойти ифреймы пробовать через top.) и просто захардкодить маппинг.
Не уверен что сработает - надо пробовать. Но помню делал такое когда-то давно когда еще VF был и работали виджеты в сайдбаре (нужно было определить на какой странице сейчас виджет с сайдбаром открылся).

Maxim Elets
Сделай отдельный аттрибут, назови его page_type, добавь его в *.design. В коммунити переавай в него то что хочешь

Не получится, компонент будет внутри лейаута коммьюнити. То есть, мне нужно, чтобы определение происходило автоматически, а не ручным указанием в настройках компонента.

Dmitry Shnyrev
Точного ответа не дам, но как вариант могу предложить такое решение
вытягивать URL (чтобы обойти ифреймы пробовать через top.) и просто захардкодить маппинг.

Да, так сначала и хотел. Определять через window.location и делать захардкоженный мэппинг (урл такой-то — тип страницы такой-то), но в релизе Spring'19 стало возможным менять урлы для страниц. Например, вместо /articles можно сделать /posts и.т.д. Поскольку это проект для клиента, то предугадать пути нельзя.

Ну можно сделать Event, в твоей компоненте слушать его, а на самих страницах добавить безюайный компонет который будет выбрасывать тип страницы?

PS: я не говорю что решение единственное правильное, я только вкидываю разные варианты:)да и целиком всей картины мы не видим:)

Interesting information? Help us, post link to social media..