Webspire

Administrační systém

nw7 v3.1

V nové verzi byly přidány textové dekorátory a rozhraní pro získání výchozí entity.

IDefaultEntityResolver

Vznikl interface pro získaní výchozí entity IDefaultEntityResolver, který se používa v rámci routování uvnitř AbstractEntityRouteFactory, kde přidává výchozí entity, pokud manager pro daný parametr žádnou nenašel. To se například hodí pro modul statických stránek, kde výchozí entita je s příznakem "domovská stránka". 

ITextDecorator

Další novinkou je ITextDecorator. Složí k nahrazování znaků v textu za HTML tagy. Vznikly tři nové třídy, které tento interface implementuji a to SingleDecoratorPairedDecorator a ChainedDecorator
SingleDecorator nahrazuje znaky za nepárové HTML tagy, PairedDecorator za párové HTML tagy. 
ChainedDecorator bere v konstruktoru pole ITextDecoratorů, které poté postupně aplikuje na text. 

Ve Webspire máme 2 výchozí dekorátory: 

  • pro tučný text – text, který se obalí do svislítek (|) se obali do tagu <strong class=”highlight”> 
  • pro nový řádek - pokud v textu bude středník (;), nahradí se za <br> 


Další dekorátory můžeme jednoduše přidat tím, že naimplementujeme rozhraní ITextDecorator, nebo v config.neon nadefinujeme novou službu, která využívá SingleDecorator nebo PairedDecorator. 
Příklad:


brTextDecorator: 
class: Inspire\NW7\Latte\Text\PairedDecorator 
arguments: ['~', 'span class=italic] 
autowired: false

Zmíněný příklad způsobí zadefinování dekorátoru, který slova obalená mezi znaky "~" obalí do HTML tagu <span class="italic"></i> ("Ahoj, ~světe!~" => "Ahoj, <span class='italic'>světe!</span>").


První parametr je znak, který bude nahrazen. Druhý parametr je jméno html tagu, který se použije. 

Byly přidány dva nové filtry, které využívají dekoratora - decorate (náhrada speciálních znaků za HTML tagy) a undecorate (odstranění speciálních znaků - např. pro výpis v rámci <title> stránky apod.).

Filtr title, který se pro tuto funkci používal byl označen jako zastaralý (aktuálně volání deleguje na filter decorate) a v dalších verzích bude odstraněn.

###message