Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onPageModify - událost objektu PmaWebDir

Popis:
Událost je vyvolána pro možnost změny posílaného HTML/XML dokumentu. Vyvolá se po provedení všech úprav nad dokumentem (včetně automatického nahrazení klíčových slov) a před posláním dokumentu do Web prohlížeče.
Parametry:
pMe(Object) Reference na PmaWebDir objekt, ve kterém daná událost vzniká.
pEvent(Object) Reference na objekt, který popisuje informace o dané události.
pEvent.User - (Object) Objekt PmUser, který představuje přihlášeného uživatele, který vyvolal požadavek na stránku.
pEvent.FilePath - (String) Relativní cesta k souboru, který je vyžadován z Web prohlížeče.
pEvent.PageString - (String) Textový řetězec obsahující celý vyžadovaný HTML/XML dokument v textové formě po provedení automatického nahrazení klíčových slov. Pokud vyžadovaný soubor není HTML/XML dokument, pak je tento řetězec prázdný. Algoritmus může změnit obsah dokumentu zápisem do této vlastnosti.
pEvent.Modify - (Boolean) Pokud byla změněna vlastnost pEvent.PageString, pak hodnota vlastnosti musí být nastavena na true. V jiném případě nebudou změny akceptovány.

Pokud je Zdroj dat = Text zadaný do vlastnosti pEvent.PageString v události onPageModify, pak vlastnost pEvent.Modify je přednastavena na true.

Poznámka:
- Pokud je nastaveno Zdroj dat = Soubory na disku v zadané složce, pak je použití této události doporučeno pouze pro speciální případy.

Protože tato událost je vyvolána až po nahrazení hodnot klíčových slov v dokumentu, je zbytečné zde klíčová slova nastavovat.

Jednodušší způsob změny posílaného dokumentu je pomocí události onPageLoad, která je vyvolána ještě před nahrazením klíčových slov.

Viz také Příklad1.

- Pokud je Zdroj dat = Text zadaný do vlastnosti pEvent.PageString v události onPageModify, pak je tato událost jediná možnost jak naplnit obsah posílaných dat.
Příklad1:
Mějme uživatelskou html stránku na disku (Page.html) ve které požadujeme v textu nahradit klíčové slovo _(XXXXX)_ například jménem přihlášeného uživatele. Náhradu provedeme metodou StringReplace.
 
Text v HTML stránce:
<title>_(XXXXX)_</title>
  
Skript v události onPageModify:
JavaScriptVBScriptVyber a zkopíruj do schránky

if (pEvent.FilePath == "Page.htm")
{
var sReplaced = Pm.StringReplace(pEvent.PageString, "xxxxx", pEvent.User.Name);
pEvent.Modify = true;
pEvent.PageString = sReplaced;
}
Příklad2:
Příklad pro posílání velmi jednoduchých HTML stránek dynamicky vytvářených přímo ve skriptu této události. Konfigurátor "Zdroj dat" musí být nastaven na "Text zadaný do vlastnosti pEvent.PageString v události onPageModify".
JavaScriptVBScriptVyber a zkopíruj do schránky

var s;
switch (pEvent.FilePath)
{
case "abc.htm":
s = "<html><head><title>abc</title></head>";
s += "<body><p>Teplota = ";
s += pMe.Pm("/Data/#vars/temperature").Value;
s += "</p></body></html>";
break;
case "fff.htm":
//...
break;
default:
//...
break;
}
pEvent.PageString = s;
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice