KT Content Replacer

Pokud chcete z nějakého důvodu nahrazovat části textu pomocí zástupných znaků, tak jsme v rámci WP frameworku připravili komponentu KT_Content_Replacer. Tato komponenta je určená především pro spolupráci s další komponentou KT_Mailer, ale její využití je i obecné.

Použití

Následující kód ukazuje základní použití třídy KT_Content_Replacer:

Vzhledem k tomu, že proměnná $text, ve které je uložen obsah pro náhradu v Content Replaceru, obsahuje zástupnou sekvenci: „{web:název}“, tak právě tato sekvence bude nahrazena v tomto případě v podstatě hodnotou bloginfo(‚name‘).

Obecné zástupné sekvence

Obecné zástupné sekvence jsou jednak metody getXxx, které vracejí hodnoty víceméně z WP funkce bloginfo, resp. ze třídy KT_WP_Info a dále zástupné sekvence dohromady definované v poli. Uživatelsky se pak zástupné sekvence zapisují ve složených závorkách:

  • „getName“ => „web:název
  • „getDescription“ => „web:popis
  • „getWpUrl“ => „web:wpurl
  • „getUrl“ => „web:url
  • „getAdminEmail“ => „admin:email
  • „getUserLogin“ => „uživatel:uživatelské-jméno
  • „getUserEmail“ => „uživatel:email
  • „getUserFirstName“ => „uživatel:jméno
  • „getUserLastName“ => „uživatel:příjmení
  • „getUserDisplayName“ => „uživatel:zobrazované-jméno
  • „getUserId“ => „uživatel:id

Takže v rámci Content Replaceru „{web:název}“ vrátí název WP webu… Stejně pak fungují vlastní zástupné sekvence s tím rozdílem, že jako zdroj dat (metody) je použit vložený „item“, tj. instance třídy pro kterou je daný Content Replacer napsán.

Obecné funkce

  • setItem – nastavení aktuálního záznamu získání hodnot k nahrazování
  • update – nahradí zadaný text případnými hodnotami pro zadaný záznam a tagy
  • check – ověření, zda zadaný obsah obsahuje tagy (s největší pravděpodobností :)
  • getCurrentTagsValuesText – získání aktuálních hodnot tagů pro výpis jako stringové pole
  • getGlobalTagsValuesText – získání aktuálních hodnot tagů pro výpis jako stringové pole

Vlastní Content Replacer

Pokud si chcete udělat vlastní Content Replacer, stačí vytvořit novou třídu, podědit ji od KT_Content_Replacer a přidat vlastní logiku. Vlastní implementace KT_Content_Replaceru dává smysl, pokud máte i nějaký specifický KT_Mailer, řekněme např. KT_Car_Mailer. Potom je vhodné si vytvořit právě i třídu KT_Car_Content_Replacer, která zjednoduší vyvolávání takto specifického maileru a práci s ním. Implementace by mohla vypadat následovně:

Pokud potřebujete Content Replacer pro Mailer, tak stačí v podstatě definovat jen vlastní Content Replacer, např. právě KT_Car_Content_Replacer a ten propojit s KT_Mailerem a samotná funkčnost už se pak provádí automaticky.



Odebírejte novinky z FW

Sledujte nás!

Tyto stránky využívají Cookies. Používáním těchto stránek vyjadřujete souhlas s používáním Cookies.Zjistit víceOK, rozumím