Snippety
» Posledná aktualizácia: 01-08-2011 11:15:57, autor: Matej Kolesár
Ak patríte medzi pokročilých používateľov, ktorí sa
aspoň trocha vyznajú v jazyku HTML/PHP, tak Vás bude istotne zaujímať ako
si redakčný systém Etomite prispôsobiť vlastným potrebám. Na tejto
stránke nájdete základné informácie. Viac sa môžete dočítať v článkoch.
Hotové snippety pre Etomite:
Snippety sú najdôležitejšou súčasťou Etomite, ktoré z Etomite robia
nástroj, ktorý je bez obmedzení. Vlastný kód snippetov je napísaný
v jazyku PHP a ich hlavnou úlohou je zo statickej šablóny urobiť dynamickú
internetovú stránku. Snippety môžeme vkladať do šablón, chunkov,
dokumentov, alebo snippet ponúknuť ako parameter inému snippetu. Jednoduché
snippety zobrazia názov dokumentu, alebo jeho obsah (podrobnosti nižšie)…
tie zložitejšie môžu v dokumente zobraziť obrázkovú galériu, kontaktný
email formulár, RSS, statusy z Twittera, prepojenia s Facebookom…
Základné rozdelenie snippetov:
- vlastné
[ [nazov_snippetu] ]
(upraviteľné, voliteľné) sa
nachádzajú v administrácií Etomite v sekcii Správca
zdrojov,
- vstavané (preddefinované, súčasť Etomite API):
- pre aktuálny dokument
[ *znacka* ]
– vráti požadovaný
parameter, alebo obsah dokumentu,
- systémové
[ (znacka) ]
– vráti požadovaný parameter
z Konfigurácie Etomite,
- informatívne
[ ^znacka^ ]
– vráti info o spôsobne
spracovania aktuálnej stránky.
Snippety môžete používať v šablónach, dokumentoch,
v snippetoch, alebo ako parameter pre iný snippet. Príklad použitia
pamametru nájdete v snippetoch pre dokument
Funkčná šablóna stránok pre dokument, ktorá je obohatená
o snippety môže vyzerať takto:
1: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2: <html xmlns="http://www.w3.org/1999/xhtml">
3: <head>
4: [ !MetaTagsExtra! ]
5: <link rel="stylesheet" type="text/css" href="templates/default/main.css" />
6: </head>
7: <body>
8: <div id="page">
9: <div id="header">
10: <img src="templates/default/images/logo.jpg" id="mainlogo" alt="Etomite" />
11: <h1>[ (site_name) ]</h1>
12: </div>
13: <div id="menu">
14: [ [ListMenu] ]
15: </div>
16: <div id="content">
17: <p id="pagetrail">[ [PageTrail] ]</p>
18: <h1 class="pagetitle">[ *longtitle* ]</h1>
19: [ *content* ]
20: </div>
21: <div id="footer">
22: <div>Copyright © [ [DateTime?format=%Y] ], [ [(site_name) ]. All Rights Reserved. | [ [PoweredBy] ]</div>
23: <div>Page Last Edited: [ [DateTime?timestamp=[ *editedon* ]] ].</div>
24: <div>Site Last Edited: [ !SiteUpdate! ].</div>
25: <div>mySQL [ ^qt^ ]; Q [ ^q^ ]× ; PHP [ ^p^ ]; ∑ [ ^t^ ]; [ ^s^ ]</div>
26: </div>
27: </div>
28: </body>
29: </html>
Vlastné snippety
Vlastné snippety (voliteľné) nie sú pevnou súčasťou Etomite (popis
k nim je nižšie – snippety pre dokument a systémové snippety)
v administrácií sa nachádzajú v sekcii Správca zdrojov. Tieto
snippety môžete upravovať, alebo pridávať nové. Ak chcete snippet použiť
v šablóne, alebo dokumente, tak použite zápis:
[ [nazov_snippetu] ]
ak chcete, aby sa snippet ukladal do
zásobníka (cache),
- [ ! a ! ] ak chcete, aby sa snippet neukladal do zásobníka (cache).
Jedine pri vlastných snippetoch máte pomocou zápisu na
výber, či chcete snippet ukladať do zásobníka (cache), alebo nie. Ukladanie
do zásobníka môžeme ovplyvniť ešte samotným nastavením dokumentu (vo
Vlastnostiach dokumentu) – či sa do zásobníka má ukladať –
v prípade ak by sme použili zápis, pomocou ktorého sa snippet do
zásobníka ukladať nebude.
Snippety môžeme použiť aj ako parameter pre iný snippet. Napríklad
snippet [ *editedon* ]
by v dokumente zobrazil Unix časovú
značku, ktorá bežnému smrteľníkovi veľa nepovie (desať miestne číslo),
ale ak chceme túto značku zobraziť v nejakom ľudsky prijateľnom formáte,
tak tento snippet môžeme ponúknuť inému snippetu ako parameter a druhý
snippet ju prevedie do čitateľnejšej podoby:
[ [DateTime?timestamp=[ *editedon* ]] ]
.
Snippety pre aktuálny dokument
Snippety, ktoré zobrazujú parametre aktuálne zobrazeného dokumentu
začínajú [ *
a končia * ]
. Ak do HTML kódu
šablóny na miesto kde chcete uviesť dlhý názov dokument vložíte reťazec
[ *longtitle* ]
, tak na toto miest vloži Etomite Parser
dlhý názov aktuálne zobrazeného dokumentu. Na iné miesto
HTML šablóny môžete umiestniť [ *content* ]
a tam Etomite
Parser vloží obsah aktuálneho dokumentu.
Aktuálny dokument: To aký dokument má Etomite zobraziť
sa určuje na základe internetovej adresy. V prípade, že nepoužívate
zjednodušené URL adresy, tak URL adresa obsahuje reťazec
index.php?id=20
, kde 20 je ID aktuálneho dokumentu. Najprv sa
zobrazí šablóna, ktorá je priradená tomuto dokumentu a následne na
základe šablóny a snippetov obsah celej internetovej stránky (príklad
šablóny je uvedený vyššie). V prípade, že používate zjednodušené
„priateľské“ URL adresy, ktoré sú v čitateľnej podobe, tak celé
zobrazenie stránky určuje alias dokumentu, napr: „snippety“ (ako je to
v prípade tohoto dokumentu).
V snippetoch môžeme použiť Etomite API funkciu
$etomite->documentObject['pagetitle']
(zo zoznamu značiek
nižšie).
Zoznam snippetov pre aktuálny dokument:
Zápis |
Popis |
[ *id* ] |
ID aktuálnej stránky |
[ *type* ] |
typ stránky: dokument, alebo odkaz |
[ *contentType* ] |
typ obsahu dokumentu: text, xml, plaint |
[ *pagetitle* ] |
názov stránky |
[ *longtitle* ] |
dlhý názov stránky |
[ *description* ] |
popis stránky |
[ *alias* ] |
URL alias stránky |
[ *published* ] |
je dokument zverejnený? |
[ *pub_date* ] |
Unix časová značka zverjnenia dokumentu |
[ *unpub_date* ] |
Unix časová značka ukončenia zverejnenia |
[ *parent* ] |
rodič dokumentu |
[ *isfolder* ] |
je dokument priečinkom? |
[ *content* ] |
obsah stránky (obsah dokumentu) |
[ *richtext* ] |
je použítý editor pre úpravu dokumentu? |
[ *template* ] |
použitá šablóna |
[ *menuindex* ] |
radenie dokumentu |
[ *searchable* ] |
je dokument zaradený do vyhľadávania? |
[ *cacheable* ] |
je dokument ukladaný do zásobníka? (cache) |
[ *createdby* ] |
ID používateľa, ktorý dokument vytvoril |
[ *createdon* ] |
Unix časová značka vytvorenia dokumentu |
[ *editedby* ] |
ID používateľa, ktorý dokument upravil |
[ *editedon* ] |
Unix časová značka poslednej úpravy dokumentu |
[ *deleted* ] |
je dokuement zmazený (označený pre vymazanie)? |
[ *deletedon* ] |
Unix časová značka označenia pre zmazanie |
[ *deletedby* ] |
ID používateľa, ktorý dokument označil pre vymazanie |
[ *authenticate* ] |
je dokument verejný a má sa vyžadovať autentifikácia? |
[ *showinmenu* ] |
má sa dokument zobrazovať v menu? |
Systémové snippety
Systémové snippety zobrazujú globálne parametre inštalácie Etomite,
začínajú [ (
a končia ) ]
. V snippetoch môžeme
použiť Etomite API funkciu $etomite->config['site_name']
(zo
zoznamu konfiguračných značiek nižšie).
V zátvorkách sú uvedené príklady.
Zápis |
Popis |
[ (absolute_base_path) ] |
absolútna cesta z roota servera |
[ (relative_base_path) ] |
relatívna pracovná cesta z umiestenia Etomite |
[ (www_base_path) ] |
URL pracovná cesta do umiestenia Etomite |
[ (settings_version) ] |
číselné označenie aktuálne nainštalovanej verzie („1.0“) |
[ (date_format) ] |
strftime() formátovací reťazec dátumu („%Y-%m-%d“) |
[ (time_format) ] |
strftime() formátovací reťazec času („%I:%M %p“) |
[ (server_offset_time) ] |
časový rozdiel medzi serverovým a lokálnym časom
v hodinách („0“) |
[ (server_protocol) ] |
protokol servera („http/https“) |
[ (manager_language) ] |
jazyk/lokalizácia administrácie („english/slovak/czech“) |
[ (etomite_charset) ] |
znaková sada administrácie a stránok („iso-8859–1/utf-8“) |
[ (site_name) ] |
názov vašich stránok („My Etomite Site“) |
[ (site_start) ] |
ID dokumentu, ktorý sa ma zobraziť ako úvodný („1“) |
[ (error_page) ] |
ID dokumentu pre chybovú stránku 404 („3“) |
[ (site_status) ] |
0 = offline / 1 = online („1“) |
[ (site_unavailable_message) ] |
Správa pre zobrazenie, alebo skript pre vykonanie, ak je stránka v stave
offline |
[ (track_visitors) ] |
0 = nelogovať návštevníkov / 1 = logovať
návštevníkov („0“) |
[ (resolve_hostnames) ] |
previesť IP na mená pre ľahšie ukladanie v logoch (0=N/1=Y) |
[ (top_howmany) ] |
počet záznamov zobrazených v štatistike (10) |
[ (default_template) ] |
predvolená šablóna pre nový dokument (3) |
[ (publish_default) ] |
predvolená publikovanie nového dokumentu (0=N/1=Y) |
[ (search_default) ] |
predvolené zahrnutie do vyhľadávanie pre nový dokument (0=N/1=Y) |
[ (cache_default) ] |
predvolené ukladanie do zásobníka (cache) pre nový dokument
(0=N/1=Y) |
[ (syncsitecheck_default) ] |
predvolená synchronizácia pre nový dokument (0=N/1=Y) |
[ (showinmenu_default) ] |
predvolené zobrazovanie v menu pre nový dokument (0=N/1=Y) |
[ (friendly_urls) ] |
aktivovať zjednodušené „priateľské“ URL (0=N/1=Y) |
[ (friendly_url_prefix) ] |
voliteľná predpona zjednodušených URL adries (nič) |
[ (friendly_url_suffix) ] |
voliteľná prípona zjednodušených URL adries – pre alias (.html) |
[ (friendly_alias_urls) ] |
povoliť „priateľské“ aliasy (0=N/1=Y) |
[ (use_udperms) ] |
aktivovať prístupy na základe oprávnení dokument/skupina (0=N/1=Y) |
[ (use_uvperms) ] |
aktivovať prístupy pre používateľov na základe dokument/skupina
(0=N/1=Y) |
[ (access_denied_message) ] |
predvolená hláška pre nepovolený prístup |
[ (udperms_allowroot) ] |
môžu používatelia vytvárať dokumenty v koreni dokumentov
(0=N/1=Y) |
[ (use_mgr_logging) ] |
aktivovať audit udalostí (logy administrácie) |
[ (max_attempts) ] |
maximálny počet pokusov o prihlásenie pred zablokovaním konta (3) |
[ (use_captcha) ] |
vyžadovať overenie pomocou CAPTCHA obrázka pri prihlásení
(0=N/1=Y) |
[ (captcha_words) ] |
čiarkou oddelený zoznam slov, ktoré budú použité v CAPTCHAe |
[ (signupemail_message) ] |
šablóna správy, ktorá bude poslaná používateľom
(prihlasovacie údaje) |
[ (emailsender) ] |
emailová adresa odosielateľa |
[ (emailsubject) ] |
predmet emailu |
[ (number_of_logs) ] |
počet záznamov zobrazených na 1 stránku (100) |
[ (number_of_messages) ] |
počet správ zobrazených na jednu stránku (30) |
[ (show_doc_data_preview) ] |
zobraziť náhľad dokumentu (0=N/1=Y) |
[ (use_doc_editor) ] |
používať WYSIWYG editor pre úpravu dokumentov (0=N/1=Y) |
[ (which_editor) ] |
ID editora, ktorý sa bude používať |
[ (use_code_editor) ] |
používať editor HTML kódu (0=N/1=Y) |
[ (code_highlight) ] |
používať ofarbenie syntaxi (0=N/1=Y) |
[ (strip_image_paths) ] |
konvertovať absolútnu cestu k obrázkom na relatívnu (0=N/1=Y) |
[ (filemanager_path) ] |
koreňový adresár pre správcu súborov |
[ (upload_files) ] |
čiarkou oddelené povolené prípony súborov, ktoré sú povolené
pre upload |
[ (inlineview_files) ] |
čiarkou oddelený zoznam súborov, ktoré je možné prezerať
v správcovi súborov |
[ (view_files) ] |
čiarkou oddelený zoznam súborov, ktoré je možné prezerať ako obrázky
v správcovi |
[ (edit_files) ] |
čiarkou oddelený oznam súborov, ktoré je povolené upravovať
v správcovi |
[ (exclude_paths) ] |
čiarkou oddelený zoznam ciest, ktoré sú vylúčené o správca
súborov |
[ (maxuploadsize) ] |
maximálna veľkosť súboru pre upload v správcovi súborov |
[ (manager_layout) ] |
použiť roletové menu v administrácií (iba pre IE) |
[ (release) ] |
hlavné číslo aktiuálne nainštalovanej verzie Etomite (1.0) |
[ (patch_level) ] |
číslo opravy verzie Etomite |
[ (code_name) ] |
súčasné kódové označenie Etomite (Prelude) |
[ (full_appname) ] |
úplne méno: Etomite Content Management System 1.0 (Prelude) |
[ (small_version) ] |
vedľajšie číslo verzie |
[ (slogan) ] |
aktuálny slogan Etomite: Fast, Free, Infinitely Flexible |
Informatívne
Zápis |
Popis |
[ ^qt^ ] |
číslo – celková doba trvania SQL selectov v sek. |
[ ^q^ ] |
číslo – počet query nad databázou |
[ ^p^ ] |
číslo – dova spracovania PHP v sek. |
[ ^t^ ] |
číslo – celkový čas |
[ ^s^ ] |
text – cache alebo database – odkiaľ bol dokument
načítaný |
Napr. zápis: mySQL [ ^qt^ ]; Q [ ^q^ ]× ; PHP [ ^p^ ];
∑ [ ^t^ ]; [ ^s^ ]
Vráti: mySQL 0.0524 s; Q 4× ; PHP 0.1232 s; ∑ 0.1756 s;
cache