Úprava šablony, přidání pozic

tvsatelity.cz
26. lis 2012 21:32 #100434
Dobrý den, rád bych přidal do šablony pozice. Jakým způsobem to lze provést? Existuje na to nějaká aplikace nebo je to třeba upravit ručně ve zdrojových souborech? Omlouvám se za laický dotaz.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
26. lis 2012 22:03 #100435
Podle toho, co přesně tím myslíte.

Pokud Vám jde o moduly, které nahráváte v obsahu (vkládáte je do článku skriptem {loadposition xxx}) tak jediné co potřebujete je v editaci modulu zadat novou pozici (prostě místo výběru ze seznamu napíšete libovolný název).

Pokud potřebujete upravdu novou pozici (třeba patičku) pak budete muset do zdrojových kódů, konkrétně do souboru index.php v šabloně. Tam musíte někam přidat kód např.
<jdoc:include type="modules" name="footer" />
pro pozicis názvem footer. Pak už jen pozici hezky nastylovat pomocí css.
Poděkovali: shockwave

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od tvsatelity.cz
27. lis 2012 10:19 #100439
OK, děkuji. Jde mi opravdu o vytvoření nových pozic. V zápisu kodu jsem se už zorientoval, jen nějak nechápu, jak šablona pozná, kde chci mít ty nové pozice umístěné. Chtěl bych například 3 pozice vedle sebe právě nad patičkou.
Používám tuto šablonu.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
27. lis 2012 10:57 #100442
No pozice budou tam, kam zapíšete výše uvedený kód. Ve Vašem případě tedy asi před řádek
<div class="gainlayout" id="footer">
bych dal něco jako
<div id="footertop">
<jdoc:include type="modules" name="footertop" />
</div>
Nepotřebujete v tomto případě 3 pozice, stačí Vám 1 s třemi moduly.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od tvsatelity.cz
27. lis 2012 11:41 #100444
V té šabloně je to takto:
<div id="footerwrap" class="gainlayout" style="width:<?php echo $pageWidth + $outermargin; ?>px;"> 
  <div id="footer" class="gainlayout">  
       <?php if($this->countModules('position-14')) : ?>	
         <jdoc:include type="modules" name="position-14" style="xhtml" />    
       <?php endif; ?>
  </div>
Tedy vložit před řádek ?
<div id="footer" class="gainlayout">

Pak automaticky tuto pozici uvidím v administraci a můžu do ni cokoliv vložit?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od prontik
27. lis 2012 11:50 #100445
Ne.
1. Musite si tu pozici prvne vytvorit v templateDetails.xml (slozka sablony) K jiz existujicim pozicim pridate svoji novou napr.
<position>footertop</position>
V tu chvili ji mate v administraci sablony a muzete na tuto pozici pridavat co libo.
2. Muste do index.php sablony vlozit to co psal Cony.
<div id="footertop">
<jdoc:include type="modules" name="footertop" />
</div>
A ano PRED radek
<div id="footer" class="gainlayout">

Joomla je jako puzzle. Stačí vědět jak ty dílky k sobě poskládat.
Poděkovali: shockwave

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
27. lis 2012 11:57 #100446

prontik napsal: Ne.
1. Musite si tu pozici prvne vytvorit v templateDetails.xml (slozka sablony) K jiz existujicim pozicim pridate svoji novou

Tento krok není nutný pro správnou funkčnost, je to už spíš jen kosmetika, aby se nová pozice zobrazoval v seznamu pozic při výběru. Pokud by to mělo být úplně správně bylo by ještě potřeba upravit jazykové soubory šablony a přidat do nich řetězec pro překlad názvu pozice.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od prontik
27. lis 2012 12:09 - 27. lis 2012 12:13 #100447

Cony napsal
Tento krok není nutný pro správnou funkčnost, je to už spíš jen kosmetika, aby se nová pozice zobrazoval v seznamu pozic při výběru.

jenze

tvsatelity.cz napsal: Pak automaticky tuto pozici uvidím v administraci a můžu do ni cokoliv vložit?


A bez toho se mu ta pozice tam neukaze. Pak jste mel rict i to, ze pokud si ji do indexu sablony nevlozi (nevytvori), MUSI ji zapisovat rucne do pole Pozice a nebude ji mit na vyber-neuvidi ji tam.

Joomla je jako puzzle. Stačí vědět jak ty dílky k sobě poskládat.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
27. lis 2012 12:13 #100448

prontik napsal: Pak jste mel rict i to, ze pokud si ji do indexu sablony nevlozi (nevytvori), MUSI ji zapisovat rucne do pole Pozice a nebude ji mit na vyber.

:) řečeno v prvním příspěvku, tak snad už se tím prokouše...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od tvsatelity.cz
27. lis 2012 12:55 - 27. lis 2012 12:56 #100449
Ještě si dovolím jednu otázku.
Pozici v administraci vidím, ale šablona ji nezobrazuje. Tedy pokud do ni umístím nějaký obsah.
Je tento zápis správně?
<div id="footerwrap" class="gainlayout" style="width:<?php echo $pageWidth + $outermargin; ?>px;"> 
  <div id="footertop">
<jdoc:include type="modules" name="footertop" />
</div>
  <div id="footer" class="gainlayout">  
       <?php if($this->countModules('position-14')) : ?>	
         <jdoc:include type="modules" name="position-14" style="xhtml" />    
       <?php endif; ?>
  </div>

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
27. lis 2012 13:02 #100450
Zápis je správně, pokud máte moduly správně přiřazené do pozice footertop, zobrazují se pro správnou položku menu a pro správnou přístupovou úroveň, měl by se Vám obsah zobrazit. Popř. promažte cache. Samozřejmě ale asi budete muset poupravit CSS, aby se to zobrazovalo nějak rozumně...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od tvsatelity.cz
27. lis 2012 14:04 #100451
Není právě ta úprava v CSS nutná pro zobrazení? Protože ač dělám co dělám, pořád nic :-(

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
27. lis 2012 15:06 #100452
Nutná není, i když samozřejmě, dle CSS tý šablony, ty moduly tam být mohou, jen jsou za něčím skryté. Mrkněte do zdrojáku stránky, jestli tam opravdu jsou, nebo nejsou.
Zkontrolujte si zda
  1. upravujete správnou šablonu
  2. modul je na pozici footertop
  3. modul je zveřejněn
  4. modul má přístup Public
  5. modul se zobrazuje pro všechny položky menu
  6. modul má vůbec nějaký obsah (nejlépe to zkoušejte na modulu Vlastní HTML a do něj si něco napište.)

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od tvsatelity.cz
27. lis 2012 15:33 #100453
Bingo, modul neměl nastaveno Public. Moje nepozornost. Děkuji za nakopnutí.
Tkže v té pozici už se zobrazí co potřebuju. Teď se to řadí nad sebe uprostřed stránky. Takže rozložení na té pozici (ideálně 3 moduly vedle sebe) se už nastaví v CSS?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
27. lis 2012 16:09 #100455
Přesně tak, teď už je to o přizpůsobení CSS.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.