Potřeboval jsem přidat novou pozici modulu na libovolné místo v šabloně, chvíli jsem hledal na internetu a našel jsem a navíc jsem si to ještě trochu vylepšil. Napíši sem tedy také návod jak přidat pozici modulu na libovolné místo v šabloně. Tento návod by měl být funkční na všech verzích Joomly...
Na první pohled se to jevilo celkem složitě ovšem po úspěšném vytvoření už mi to tak složité nepřišlo. Takže přejdeme k návodu.
1. Otevřete si složku aktuálně používané šablony přes FTP. Složku šablony najdete v adresáři templates/, dále už si vyberete podle aktuálně používané šablony. Po otevření složky vaší šablony si najděte soubor templateDetails.xml, měl by být přímo v hlavním adresáři šablony. Zde si najdete řádky kde je napsáno <position>nějaký_název</position>. Konec těchto řádků by měl být zakončen tímto </positions>. Jsou to řádky, které definují názvy pozic modulů, zde si tedy můžete připsat svou novou pozici. Uděláte to tak, že na konec před uzavírací tag </positions>, vložíte svůj kód s názvem nové pozice. V mém případě reklama...
<position>reklama</position>
2. Když už jsme si přidali název nové pozice, je také potřeba tuto pozici vložit do šablony a definovat místo, kde se bude zobrazovat. Otevřeme si soubor index.php z hlavního adresáře šablony, zde již je trochu složitější kód. Zde jsou napsány definice umístěný jednotlivých modulů. Teď se musíte rozmyslet kam vlastně chcete nový modul umístit a podle toho také vložit kód. (Pokud si nejste jistí umístěním již existujících pozic, tak si otevřete svoje stránky a za adresu napište: /index.php?tp=1 A dejte potvrďte, zobrazí se vám vaše stránka, kde budou pomocí obdélníků zobrazeny jednotlivé pozice i s názvy.) Každá šablona je jiná, takže nemohu přesně říci, kam kód vložit, musíte to zkusit... Já jsem chtěl modul pro reklamu po levé straně ve svislém panelu. Kód jsem tedy vložil za </head>. Jedná se o tento kód:
<jdoc:include type="modules" name="reklama" />
3. Ovšem po vložení tohoto kódu do stránek a shlédnutí, zjistíte, že to není moc pěkné a vůbec ne podle vašich představ. Kód tedy upravíme následovně:
<div id="reklama" ><jdoc:include type="modules" name="reklama" /></div>
Tím si definujeme, že se tato pozice modulu bude řídit podle určitého stylu, který ovšem ještě nemáme definovaný. Vložíme si tedy ještě před tento kód toto:
<style type="text/css">
<!--
#reklama {
z-index: 1000;
top: 5%;
position: absolute;
height: auto;
width: auto;
left: 1%;
display: block;
}
-->
</style>
Pomocí jednotlivých parametrů v tomto kódu si můžeme modul nastavit.
z-index: 1000 - zde se nastavuje vrstva, ve které se modul zobrazuje, pokud tedy přidáte nějaký další modul a tam definujete větší číslo, tak bude tento modul překrývat...
top: 5% - určujte odsazení modulu od vrchní strany stránky v tomto případě je to 5%
height: auto
width: auto - pomocí těchto dvou parametrů můžete definovat velikost modulu, pokud dáte auto, tak se velikost určí podle velikosti modulu, který umístíte do této pozice
left: 1% - určuje odsazení od levé strany stránky, pokud by jste se pohybovaly na druhé straně, tak můžete připsat right: ...
4. A jak vypadá můj výsledek? Následovně...
Komentáře