Сценарий: У меня есть несколько веб-компонентов Lightning, которыми я делюсь с двумя разными сообществами, ориентированными на две разные группы внешних пользователей. Чтобы дифференцировать поведение компонентов для разных групп; Я указываю внешние цели в мета-xml LWC, например:

    <targetConfig targets="lightningCommunity__Default">
        <property label="Portal Type" name="portalType" type="String" datasource="GroupA,GroupB" default="GroupA"/>        
    </targetConfig>

Этот подход работает, но я думаю, что он повторяется для нескольких LWC и потенциально может вызвать проблему обслуживания, если сообщество масштабируется.

Вопрос: Существуют ли какие-либо «переменные области сообщества», на которые я могу ссылаться на все свои LWC? Не повезло при поиске в Google. Я хотел бы иметь центральное место, где APEX или LWC могли бы читать характеристики сообщества и соответствующим образом отображать. Любая помощь или предложения приветствуются. Спасибо!

0
Alex Cortes 20 Июл 2021 в 16:51

1 ответ

Мое предложение состояло бы в том, чтобы создать собственный тип метаданных со всеми различными настройками, необходимыми для ваших компонентов, и добавить запись для каждого сообщества.

Затем в компоненте возьмите параметр имени настроек из конструктора опыта и передайте его некоему апексу, который ищет запись метаданных с соответствующим именем, отправляет обратно вашу конфигурацию и завершает инициализацию.

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

0
Simon Jensen 21 Июл 2021 в 01:28