Články

Odkazy

Spřátelené weby

JoomlaDev.eu - Vše o vývoji CMS Joomla

Redakční systém WordPress - Nejlepší redakční systém zdarma - WordPress

Anketa

O jakém RS by jste chtěli více článků
 
Navigace: Úvodní strana Prestashop Články Jak přidat třídu první a poslední některým menu

Jak přidat třídu první a poslední některým menu

PDF Tisk Email
Pondělí, 28 Září 2009 19:46
logo-prestashopNedávno jsme si ukazovali jak přidat třídu "prvni" a "posledni" položkám menu v Joomle. Nedávno jsem podobnou věc potřeboval udělat i v Prestashopu dnes se tedy popíšeme jak na to. Návod si ukážeme na menu tzv. Block Infos, to je menu kde se zobrazují například pravidla shopu, informace a dopravě apod. Toto menu se často používá v horizontální podobě, kde potřebujeme třídy první a poslední. Nejprve musíme upravit třídu, která vybírá odkazy z databáze. Přídáme si proměnou která detekuje první a poslední položku a dvě podmínky, které zjistí, zda-li se v cyklu foreach nacházíme právě na dané položce. Myslím že bude lepší se podívat přímo na kód. Otevřeme si soubor classes/CMS.php a najdeme si funkci getLinks($id_lang, $selection = null) ve verzi 1.2.0.8 je to řádka číslo 80. Najdeme si podmínku if($result) a změníme ji takto:
  1. $class='';
  2. if ($result){
  3. $x=0;
  4. $do=count($result);
  5. foreach ($result as $row)
  6. {
  7. if($x==0){
  8. $row['class']='first';
  9. }
  10. elseif(($x+1)==$do){
  11. $row['class']='last';
  12. }
  13. $row['link'] = $link->getCMSLink($row['id_cms'], $row['link_rewrite']);
  14. $links[] = $row;
  15. $x++;
  16. }
  17. }
 


Jak vidíme oproti minulému kódu jsme přidali proměnné class, x a do. Prvnímu prvku přiřadíme položku pole class s názvem first, poslednímu last. Nyní musíme zajistit aby se v šabloně různých odkazů zobrazovali námi přiřazené třídy. Prestashop využívá šablonovací systém SMARTy, který se liší od klasického html, které využívá Joomla. Otevřeme si soubor modules/blockinfos/blockinfos.tpl a cyklus foreach upravíme takto:

  1. {foreach from=$cmslinks item=cmslink}
  2. <li><a class="{$cmslink.class}" href="{$cmslink.link}" title="{$cmslink.meta_title|escape:htmlall:'UTF-8'}">{$cmslink.meta_title|escape:htmlall:'UTF-8'}</a></li>
  3. {/foreach}
 


Jak vidíme smarty má svojí výhodu do polí dané proměné se dá přistupovat přes tečku ($cmslink.class). Tím zajistíme aby se nám zobrazila třída "first" a "last". Takto podobně se dají upravit i ostatní menu. Nedoporučuji upravovat hlavní menu kategorií. Přeci jen horizontální podoba takového menu by asi moc nedávala smysl, při větším počtu kategorií by se nám nevešla do šířky webu, to nemluvím o podkategoriích :) Doufám, že se článek hodí
 

Přidej Váš komentář

BoldItalicUnderlineStrikethroughSubscriptSuperscriptEmailImageHyperlinkOrdered listUnordered listQuoteCodeHyperlink to the Article by its id
Vaše jméno:
Předmět:
Komentář:

Ochrana osobních údajů, Mapa stránek,design a kód Klasdesign, Redakční systémy, rs@redakcni-systemy.com 2009
Wifi router a antény , Moje IP, Studuj FEL, Barevné kontaktní čočky