Posiadamy jedną aplikację tematyczną z 2 pakietami motywem w IT. Musimy udostępniać ustawienia z jednego motywu do drugiego.

<theme id="visual" name="visual-theme" >
        <settings>
            <setting key="service-unavailable" configurable="true" type="checkbox" value="false"></setting>
        </settings>
    </theme>

    <theme id="visual-home" name="visual-theme-home" >
        <settings>
            <setting key="h1-title-value" configurable="true" type="textarea" value="" ></setting>
            <setting key="service-unavailable" configurable="true" type="checkbox" value="false"></setting>
            <setting key="service-unavailable-message" configurable="true" type="textarea" value="Unavailable service"></setting>
        </settings>
    </theme>

Potrzebujemy ustawienia service-unavailable-message, aby być dostępnym do wartości domyślnej visual-theme, tak, że po ustawieniu od visual-theme-home, powinno być dostępne dla drugiego tematu.

0
Shivam Aggarwal 17 luty 2017, 16:08

2 odpowiedzi

Najlepsza odpowiedź

Ustawienia są według tematu, a nie w aplikacji internetowej, a zatem ustawienia niektórych obszarze z motywem A będą miały wpływu na nic z motywem A. Musisz użyć innej techniki do osiągnięcia tego.

Po użyciu ustawień motywów można ustawić te wartości na stronę lub na stronę. W późniejszym przypadku wprowadziłoby to kolejną dwuznaczność.

Więc jedna opcja, którą masz

<theme id="visual" name="visual-theme" >
  <settings>
    <setting key="service-unavailable" configurable="true" type="checkbox" value="false"></setting>
    <setting key="service-unavailable-message" configurable="true" type="textarea" value="Unavailable service"></setting>
  </settings>
</theme>

<theme id="visual-home" name="visual-theme-home" >
  <settings>
    <setting key="h1-title-value" configurable="true" type="textarea" value="" ></setting>
    <setting key="service-unavailable" configurable="true" type="checkbox" value="false"></setting>
    <setting key="service-unavailable-message" configurable="true" type="textarea" value="Unavailable service"></setting>
  </settings>
</theme>

... i powielasz wiadomość, którą potrzebujesz.

Inną opcją jest przeniesienie service-unavailable-message do innego miejsca (jako bardziej ogólna wartość konfiguracji lub spojrzała z jakiejś usługi. Po prostu nie jako ustawienie motywowe.

1
Olaf Kock 18 luty 2017, 20:07

Nie wspomniałeś o której wersji Liferay używasz. Jeśli używasz Liferay 7.0 przez dowolną szansę, zajrzyj do Tematyki , możesz umieścić kod ponownie w temacie w temacie i uzyskaj dostęp do nich z motywów.

0
dev_in_prog 22 luty 2017, 19:30