Informacijos blokai

Blokai į JustPageIT TVS šablonus įdedami pasinaudojant ext2 objekto block metodu. Jo aprašymą rasite čia (ext2->block). Blokuose pasiekiamo globalaus kintamojo $block aprašymą rasite čia ($block ). Tuo tarpu, šiame puslapyje pateikiame naudojamų blokų šablonų pavyzdžius:

Forma (block_form)

{*
Failas:root/templates/guest/blocks/block_form/default.txt
*}

<form action="index.php?id={$data.page.id}"
        enctype="multipart/form-data"
        method="post" name="form{$block.id}">

{* Būtini kintamieji, norint kad forma draugautų su JustPageIT TVS *}
<input type="hidden" name="act" value="form_submit" />
<input type="hidden" name="parent" value="{$smarty.get.id}" />
<input type="hidden" name="form_template" value="default.html" />
<input type="hidden" name="form_to" value="{$block.data.block_form_to.value}" />
<input type="hidden" name="form_subject" value="{$block.data.block_form_subj.value}" />
{* Prijungiame formos "bendravimo" su vartotoju tekstą *}
<input type="hidden"
    name="congratulations"
    value="{$block.data.block_form_ok.value|htmlspecialchars|replace: "'":"`"}" />
<input type="hidden" name="form_id" value="{$block.id}" />
{* Patikriname ar nėra viršutinio teksto *}
{if $block.data.block_form_up.value|lower!="<p>&nbsp;</p >"}
    <div>{$block.data.block_form_up.value}</div>
{/if}
{foreach from=$block.data key="key" item="el"}
    {if $el.type == 'form'}
        {foreach from=$el.value key="key" item="elem"}
        {* Atvaizduojame kiekvieną prie formos prijungtą elementą pagal jo tipą *}

        {if $elem.type == "br"}<br />{/if}
        {if $elem.type == "divider"}<hr />{/if}
        {if $elem.label!=''}
            {if $elem.type == "label"}
                {$elem.label}<br/>
            {/if}
            {if $elem.type == "text"}
                {$elem.label}:{if $elem.req}*{/if}
                <input type="text" name="form_data_{$key}[value]" /><br/>
            {/if}
            {if $elem.type == "textarea"}
                {$elem.label}:{if $elem.req}*{/if}
                <textarea name="form_data_{$key}[value]">
                </textarea>
                <br/>
            {/if}
            {if $elem.type == "email"}
                {$elem.label}:{if $elem.req}*{/if}
                <input type="text" name="form_data_{$key}[value]" /><br/>
            {/if}
            {if $elem.type == "url"}
                {$elem.label}:{if $elem.req}*{/if}
                <input type="text" name="form_data_{$key}[value]" /><br/>
            {/if}
            {if $elem.type == "file"}
                {$elem.label}:{if $elem.req}*{/if}
                <input type="file" name="form_data_{$key}"/><br/>
            {/if}
            {if $elem.type == "radio"}
                {$elem.label}:{if $elem.req}*{/if}
                {foreach from=$elem.values item="mas"}
                    <input type="radio" name="form_data_{$key}[value]" value="{$mas}" />
                    {$mas}
    `                <br/>
                {/foreach}
            {/if}
            {if $elem.type == "checkbox"}
                {$elem.label}:{if $elem.req}*{/if}
                {foreach from=$elem.values item="mas"}
                    <input type="checkbox" name="form_data_{$key}[value][{$mas}]" />
                    {$mas}
                    <br/>
                {/foreach}
            {/if}
            {if $elem.type == "select"}
                {$elem.label}:{if $elem.req}*{/if}
                <select class="form-input-select" name="form_data_{$key}[value]">
                {foreach from=$elem.values item="mas"}
                    <option value="{$mas}">{$mas}</option>
                {/foreach}
                </select>
                <br/>
            {/if}
            {if ($elem.type != "br") and ($elem.type != "divider")}
                <input type="hidden" name="form_data_{$key}[label]" value="{$elem.label}" />
                <input type="hidden" name="form_data_{$key}[type]" value="{$elem.type}" />
            {/if}

            {*
            Priregistruojame formos elementus tam, kad šiek tiek galėtume kontruojuoti vartotojų įvedimą.
            Pvz.: pranešti, kad neužpildę reikiamų laukų ir/ar pan.
            *}
            <script language="javascript" type="text/javascript">
                fecRegisterFormElement ('form_data_{$key}[value]',
                        '{$elem.type}',
                        '{$elem.req}',
                        '{$elem.label}',
                        'form{$block.id}')
            </script>
        {/if}

        {/foreach}
    {/if}
{/foreach}
{* Patikriname ar nėra apatinio teksto *}
{if $block.data.block_form_dowm.value!="<P>&nbsp;</P> "}
    {$block.data.block_form_dowm.value}
{/if}
<input type="submit"
        onClick="javascript:fecCheckRequiredFields(document.forms['form{$ block.id}']);
                return false;" />
</form>
<script language="javascript" type="text/javascript">
fecRegisterErrorMessages('Atsiprašome, ne visi privalomi laukai užpildyti, '+
        'maloniai prašome užbaigti pildyti formą ir bandyti dar kartą.',
        'Neteisingai užpildyti laukai:');
</script>

Paveiklėlis (block_img_only)

{*
Failas:root/templates/guest/blocks/block_img_only/defaul.html
*}

<img src="{$_http_path}/get.php?i.{$block.data.block_img.value}:w.999: h.999" alt="" />

Paveikslėlis su nuoroda (block_img_url)

{*
Failas:root/templates/guest/blocks/block_img_url/default.html
*}
<a href="{$block.data.block_url.value}" target="{$block.data.block_target.value}">
    <img src="{$_http_path}/get.php?i.{$block.data.block_img.value}:w.999: h.999" alt=""/>
</a>

Tekstinis blokas (block_text)

{*
Failas:root/templates/guest/blocks/block_text/default.html
*}
{* Primygtinai patariame naudotis strip_tags, nebent tikrai inote ką darote. *}
{$block.data.block_text.value|strip_tags}

Tekstinis blokas su nuoroda (block_text_url)

{*
Failas:root/templates/guest/blocks/block_text_url/default.html
*}
<a href="{$block.data.block_url.value}" target="{$block.data.block_target.value}">
    {$block.data.block_docum.value}
</a>

Flash objektas (block_flash_only)

{if $block.data.block_flash.value}
{* Naudojamas skriptas norint išengti bereikalingo treciu šaliu objektu remeliu demonstravimo IE 7 naršykleje *}
{ext2->get_binary_data id=$block.data.block_flash.value assign='flash_data'}
<div id="flashcontent{$block.id}">
Reikalingas
<a href="http://www.macromedia.com/shockwave/download/download.cgi?P 1_Prod_Version=ShockwaveFlash" title="Download FP7">
Flash Player 7
</a>.
</div>
<script type="text/javascript">
    var myFlashObject = new FlashObject("{$_http_path}/get.php?s.{$block.data.block_flash.val ue}", "flash{$block.id}", "{$flash_data.info.width}", "{$flash_data.info.height}", 7);
    myFlashObject.addParam("quality", "high");
    myFlashObject.write("flashcontent{$block.id}");
</script>
{/if}

Flash objektas su nuoroda (block_flash_url)

{*
Failas: root/templates/guest/blocks/block_flash_url/default.html
*}
{if $block.data.block_img.value}
{* Naudojamas skriptas norint išengti bereikalingo treciu šaliu objektu remeliu demonstravimo IE 7 naršykleje *}
{ext2->get_binary_data id=$block.data.block_img.value assign='flash_data'}
<div id="flashcontent{$block.id}">
    Reikalngas
    <a href="http://www.macromedia.com/shockwave/download/download.cgi?P 1_Prod_Version=ShockwaveFlash" title="Download FP7">
    Flash Player 7
    </a>.
</div>
<script type="text/javascript">
    var myFlashObject = new FlashObject("{$_http_path}/get.php?s.{$block.data.block_img.value }", "flash{$block.id}", "{$flash_data.info.width}", "{$flash_data.info.height}", 7);
    myFlashObject.addParam("quality", "high");
    myFlashObject.addParam("wmode", "transparent");
    myFlashObject.addVariable("clickTag", "{$block.data.block_url.value|urlencode}");
    myFlashObject.addVariable("clickUrl", "{$block.data.block_target.value|urlencode}");
    myFlashObject.write("flashcontent{$block.id}");
</script>
{/if}

Konteineris (block_container)

Pats lanksšiausias iš blokų, skirtas atvaizduoti bet kurį TVS elementą, bet kurioje TVS vietoje.
{*
Failas:root/templates/guest/blocks/block_container/default.html
*}
{$block.name}<br />
{ext2->get_elements_with_content id=$block.data.block_container_id.value assign="data"}
{*
Duomenų apdorojimas atliekamas priklausomai nuo to, kokie duomenys buvo gauti.
Kadangi duomenys gali būti įvairios loginės struktūros
(naujienos, tekstinė informacija, paveikslėlių galerija ar pan.),
tai apdorojimas kiekvienu atveju turi būti aprašomas skirtingai.
*}