Latte makro uložené v DB, noescape
- Shoxy
- Člen | 37
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!
- Shoxy
- Člen | 37
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
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
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.