A nem megfelelően alapos tervezés vagy a szolgáltatások folyamatos bővülése miatt előfordulhat, hogy nem elegendő számunkra az alapértelmezett modulpozíciók száma, és újat szeretnénk létrehozni, de nem tudjuk, hogy hogyan is fogjunk hozzá.

Ebben a példában bemutatásra kerül, hogy hogyan adhatunk új modulpozíciót a sablonunkhoz Gantry keretrendszer használata esetén.

1. Lépés: Előkészületek

Határozzuk meg az új pozíció nevét és elhelyezkedését, ahova be fogjuk illeszteni az új modulsort. Ebben a leírásban „example”-nek fogjuk nevezni.

2. Lépés: Pozíció hozzáadása az index.php-hoz

Nyissuk meg a sablonunkban található index.php fájt, majd keressük meg azt a helyet, ahol megszeretnénk jeleníteni az új modulsort. A $gantry objektumon hívjuk meg a displayModules(positionname, modulelayouttype, modulechromelayout); funkciót Ennek a hívásnak kiíratva kell lennie.

Példa:

<div id="rt-exampleposition">
  <?php echo $gantry->displayModules('example','standard','standard'); ?>
  <div class="clear"></div>
</div>

A beállított pozíció most már megjelenik, miután beállítottuk a Gantry pozíciót, hogy felismerje. Amíg ezt nem tesszük meg, addig nem fog megfelelően működni.

3. Lépés: Pozíció hozzáadása a Gantry keretrendszerhez

Nyissuk meg a templateDetails.xml fájlt, majd görgessünk le a pozíciók címkéig, ahol az alapértelmezett Gantry pozíciók vannak kilistázva. Itt definiálnunk kell az új pozíciónkat a lenti példa alapján:

<position>example-a</position>
<position>example-b</position>
<position>example-c</position>
<position>example-d</position>
<position>example-e</position>
<position>example-f</position>

Ha evvel megvagyunk, akkor ezek után nyissuk meg a template-options.xml fájlt, amelyben keressük meg a következő sort:

<fieldset name="layouts" label="LAYOUTS">

Itt adhatjuk hozzá a saját pozíciónkhoz az elrendezési csúszkát. Ehhez nem kell más tennünk, mint hozzáadnunk a megfelelő XML blokkot, hogy megjelenjen a Sablonkezelőben:

<fields name="example" type="position" label="Example" description="LAYOUT_POS_DESC">
    <field name="layout" type="positions" default="3,3,3,3" label="">
        <schemas>1,2,3,4,5,6</schemas>
        <words>2,3,4,5,6,7,8,9,10</words>
    </field>
    <field name="showall" type="toggle" default="0" label="FORCE_POS"/>
    <field name="showmax" type="showmax" default="6" label="POS_COUNT"/>
</fields>

Attribútum Leírás
name A pozíció neve.
type Ez mindig "position".
default Az alapértelmezett elrendezése a "modulsornak" amely a 12 bármely kombinációja lehet, vesszővel elválasztva.
label Ennek a modulnak a címkéje a Sablonkezelőben.
description A használható terület leírása.

 

0
0
0
s2sdefault
Log in to comment

Zotius profilkép
Zotius válaszolt a témára: #2 2014 máj. 06 17:50
Kipróbáltam leírásod alapján az új pozíció hozzáadást. Gyakorlatilag a lap legaljára, a "copyright" és a "debug" közé egy "verybottom" nevű pozíciós sávot készítenék.
index.php-ben kiegészítés rendben;
templateDetails.xml kiegészítése rendben;
template-options.xml kiegészítése rendben;
Valami azonban nem passzol, de nem tudom mi.
Admin felületen legalul megjelenik az új sáv, de a Pozíciók számláló legördülője (1...6) üres:

(Ettől a "hibától" függetlenül a pozíció működik, el tudtam benne helyezni a kívánt tartalmat.)
Balázs profilkép
Balázs válaszolt a témára: #3 2014 máj. 07 09:37
Ha lesz időm rá, megnézem én is próbaképpen, hátha változott valami.