Przejdź do głównej treści

Ustawienia

System parametrów klucz/wartość zarządzany przez edytor treści, bez potrzeby pisania kodu.

Wprowadzenie​

Ustawienia to system parametrów klucz/wartość zarządzany przez edytor treści w backoffice — pomyślany dla wartości witryny, które często się zmieniają lub różnią się w zależności od języka (np. numer telefonu, adres, linki do mediów społecznościowych, obraz logo), bez potrzeby ingerencji w kod.

Obejmuje trzy formularze w backoffice:

  • Typ (configuration_parameter_type)
  • Parametr (configuration_parameter)
  • Konfiguracja (configuration)

Typ​

Określa, jaki typ wartości akceptuje Parametr. Zawiera tylko Kod (code) i Nazwę (name). Domyślnie są już utworzone:

KodNazwa
booleanLogiczny
numberLiczba
imageObraz
colorKolor
textTekst
htmlHTML

Parametr​

Definiuje "klucz" konfiguracji — Kod (code, używany w kodzie do pobrania wartości), Opis oraz Typ (jeden z powyższych typów). Np. parametr numer-telefonu typu Tekst.

Konfiguracja​

To wartość Parametru dla określonego Języka — Wartość (value, tekst) lub Obraz (value_img), w zależności od typu parametru.

Wartości bez języka (ogólny fallback)​

Jeśli pole Język w Konfiguracji pozostanie puste, ta wartość będzie używana jako fallback dla wszystkich języków, które nie mają zdefiniowanej własnej wartości dla tego parametru. Pozwala to uniknąć duplikowania tej samej wartości (np. numeru telefonu, który jest taki sam we wszystkich językach) osobno w każdym języku — definiuje się ją raz, bez przypisanego języka, a wartość specyficzną dla języka tylko tam, gdzie rzeczywiście się różni.

Programowo​

Klasa website/src/common/Cluar.js udostępnia funkcje do odczytu konfiguracji:

  • Cluar.configuration(parametr) — pobiera wartość parametru w bieżącym języku; jeśli nie ma wartości dla tego języka, używa wartości bez języka (fallback); jeśli nie ma żadnej z nich, zwraca samą nazwę parametru (przydatne do szybkiego zauważenia brakującej konfiguracji).
  • Cluar.configurationNumber(parametr) — tak samo, ale konwertuje wartość na liczbę (0, jeśli nie jest liczbą).
  • Cluar.configurationMultilines(parametr) — tak samo, ale konwertuje znaki nowej linii na <br>.

Następny krok​

Poznaj Słowniki.