Ukládání do configu z administrace

BuMoRi
Člen | 109
+
0
-

Ahoj, takovej obecnej dotaz: chtěl bych umožnit zadávaní v administraci nějaké konfigurační hodnoty, která se píše do config.neon. Řeší se to tak, že se vytvoří nějaký samostatný config a do něj se hodnota z formuláře zapíše?
Příklad: využívám Kdyby/Facebook a chci umožnit zapsat z administrace ID a Secret. Takže bych vytvořil config:

facebook:
	appId: ""
	appSecret: ""

A hodnoty do souboru zapíše script? Nebo se toto řeší nějak jinak?

Kcko
Člen | 470
+
+1
-

BuMoRi napsal(a):

Ahoj, takovej obecnej dotaz: chtěl bych umožnit zadávaní v administraci nějaké konfigurační hodnoty, která se píše do config.neon. Řeší se to tak, že se vytvoří nějaký samostatný config a do něj se hodnota z formuláře zapíše?
Příklad: využívám Kdyby/Facebook a chci umožnit zapsat z administrace ID a Secret. Takže bych vytvořil config:

facebook:
	appId: ""
	appSecret: ""

A hodnoty do souboru zapíše script? Nebo se toto řeší nějak jinak?

Nevím jak to řeší ostatní, ale já mám 2 tyhle konfigurační neony. Jeden si spravuju vyloženě sám ručně a druhý se generuje dynamicky z administrace. Poté se oba „includují“ v boostrapu (resp nastavují, že se mají vložit v nějakém pořadí).

To dynamické generování je prachsprosté otevření souboru, přelouskání přes Neon::encode/decode a znovu uložení.

BuMoRi
Člen | 109
+
0
-

Díky, tohle jsem přesně potřeboval vědět.

BuMoRi
Člen | 109
+
0
-

Mám ještě dotaz k ukládání do configu:
vytvořil jsem si art.neon, kde mám např. jen počet článků na stránku:

parameters:
	pages: 2

A v config.neon mám:

includes:
    - art.neon
...
services:
	- App\Model\ArticleManager(%pages%)

Pokud změním paramter pages, na localhostu vše funguje a změna na frontendu se projeví ihned. Na produkci ale asi jen po vymazání cache. Mělo by to tak být? Jako že by se při změně parametru musela mazat kompletně cache?

CZechBoY
Člen | 3608
+
+1
-

jo, je potřeba smazat Nette.Configurator cache

BuMoRi
Člen | 109
+
0
-

CZechBoY napsal(a):

jo, je potřeba smazat Nette.Configurator cache

Díky. Mohl by jsi mi ještě poradit jak na to? Nedaří se mi najít nic, co by mě popostrčilo.
Nebo jde jen o to natvrdo smazat ten adresář?

Editoval BuMoRi (27. 5. 2018 19:24)

CZechBoY
Člen | 3608
+
+2
-

Ono úplně nejlepší by bylo neměnit konfiguraci aplikace zevnitř, ale uložit si uživatelsky měnitelnou konfiguraci někam do databáze nebo do jinýho trvalýho úložiště. Samozřejmě data z databáze si můžeš taky cachovat, ale ve vlastní režii a budeš k tomu mít lepší přístup právě z hlediska invalidace cache.

BuMoRi
Člen | 109
+
0
-

Já jsem normálně DB používal, tohle jsem spíš zkoušel a chtěl jsem vědět jak na to…