Latte makro uložené v DB, noescape

Shoxy
Člen | 37
+
0
-

Dobrý den,
nevíte jak uložit makro do databáze a poté jej použít v lattečku?
Používám kdyby translation A potřeboval bych přeložit některé názvy v databázi: Screenshot
Napadlo mě do databáze uložit makro, které by to přeložilo viz. Screenshot2
Jenže latte mi to makro neprovede a vypíše prostě jen: Screenshot3 ( Zkoušel jsem i „{_ui.documents.a}|noescape“, ale bez výsledku )
Potřeboval bych tedy aby latte reagovalo na makro a nepoužilo ho pouze jako prostý string z db.
Děkuji za každou pomoc!

CZechBoY
Člen | 3608
+
0
-

Normálně to nahraď po svým přes str_replace, tohle není kandidát na latte makro…
btw. proč to máš ve 2 tabulkách a ne v jedný?

Shoxy
Člen | 37
+
0
-

Celá db: Databáze
Takže tam nechat to maktro a přes str_replace ho „z aktivovat“? Protože přes ty to makro co tam mám se to poté překládá do příslušného jazyka. viz. Kdyby translator

CZechBoY
Člen | 3608
+
0
-

V tom schématu si zapomněl jednu důležitou věc a to je vztah vazeb (1:N, N:1, N:M), ale tak předpokládám že je všude M:N.

Spíš se mi zdá, že nemáš správně nakonfigurovaný překladač nebo překladač nemůže najít překlady.
Jak máš ty překlady uložené? Má ten překladač určitě k dispozici překlad pro texty, které mu dáváš přeložit?

Ještě mě napadá, že bys mohl mít deaktivovanou Latte syntaxi – např. přes {syntax off} nebo {syntax double} atd.

Editoval CZechBoY (22. 1. 2018 12:12)

Shoxy
Člen | 37
+
0
-

Nakonec jsem to vyřešil tímto způsobem:
Vezmu si hodnotu z DB ( Název toho dokumentu ) a pomocí switche rozhodnu jaké makro pro překlad se použije.

     {switch $d->Document->DocumentName}
{case a}
    {_ui.documents.a}
{case b}
    {_ui.documents.b}
{case c}
    {_ui.documents.c}
{/switch}

V db jsem to poté udělal na char aby se zbytečně neporovnával celý string, ale pouze jeden znak. Screenshot
Nevím zda je to správné řešení, ale účel to splnilo.

CZechBoY
Člen | 3608
+
0
-

Nešlo by {_}{$text_k_prekladu}{/_}?