Č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 Šablony v Prestashopu - tvorba vlastní pozice

Šablony v Prestashopu - tvorba vlastní pozice

PDF Tisk Email
Úterý, 10 Březen 2009 14:50

V dalším dílu o šablonách si řekneme jak si vytvořit vlastní pozici v šabloně pro Prestashop. Postup shrneme do několika málo bodů.

1) Nejprve se připojíme k databázi a najdeme si tabulku ps_hook, za poslední položku vložíme novou s id o jedno vyšší než předchozí  a vyplníme například jako níže přiložená tabulka

id_hook
name
title
description
position
 44 menuTop Menu horní
 Zobrazuje horní menu
 1

Nezapomeneme hlavně na position dát 1, s pozicí to nemá nic spočného. 1 nám udává že je pozice aktivní.

2) Nyní se rozhodneme že novou pozici přidáme pod hlavičku stránky, proto budeme editovat soubor header.php a header.tpl

Nejdříve si tedy otevřeme soubor header.php v kořenovém adresáři. Od dvanáctého řádku najdeme takovýto kód:

$smarty->assign(array(
    'HOOK_HEADER' => Module::hookExec('header'),
    'HOOK_LEFT_COLUMN' => Module::hookExec('leftColumn'),
    'HOOK_TOP' => Module::hookExec('top'),
    'static_token' => Tools::getToken(false),
    'token' => Tools::getToken(),
    'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,
    'content_only' => intval(Tools::getValue('content_only'))
));

my chceme přiřadit naši novou pozici a proto založíme nový HOOK, nazveme ho HOOK_MENU_TOP, a přiřadíme mu funkci hookExec s parametrem který udává název funkce, o významu tohoto parametru si řekneme na konci článku. Nový kód tedy bude vypadat.

$smarty->assign(array(
    'HOOK_HEADER' => Module::hookExec('header'),
    'HOOK_LEFT_COLUMN' => Module::hookExec('leftColumn'),
    'HOOK_TOP' => Module::hookExec('top'),
    'HOOK_MENU_TOP' => Module::hookExec('menuTop'),
    'static_token' => Tools::getToken(false),
    'token' => Tools::getToken(),
    'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,
    'content_only' => intval(Tools::getValue('content_only'))
));

3) Změna souboru template/prestashop/header.tpl

Nyní potřebujeme někam do šablony umístit naši pozici otevřeme si tedy soubor header.tpl a umístíme na pozici kterou chceme tento kód:

            <div id="menutop">
        {$HOOK_MENU_TOP}
            </div>

DIV samozřejmě není nustností slouží pouze pro formátování. Nyní máme naši pozici vytvořenou a už jen chybí do ní vložit některý z modulů 

4)  Úprava modulu pro zobrazení na naší nové pozici

Vybereme si nějaký modul, který chceme zobrazit na naší nové pozici, já zvolím například blockinfos, který zobrazuje podmínky prodeje, údaje o firmě, atd. Otevřeme soubor modules/blockinfos/blockinfos.php a do něj vepíšeme novou funkci.

    function hookMenuTop($params)
    {
        return $this->hookLeftColumn($params);
    }

toto samozřejmě platí pouze tehdy je-li tento modul původně zobrazován v levém sloupci. Stačí se tedy kouknout jaké funkce, které začínají hook, jsou již napsané a zkopírovat je a text za hook přepsat na svůj. Všimněme si že název funkce za hook je shodný s tím, který jsme definovali v souboru header.php v bodě 2) 

To bylo vše, pro případné dotazy pište do komentářů nebo do fóra

 

 
Komentáře (4)
uvodni strana
4 Úterý, 10 Listopad 2009 09:57
Kalby
zdravim,

ano lze to pomerne snadno. Najedte do administracniho rozhrani a kliknete na Modules

Zde najdete Modul - Home Text Editor a kliknete na configure. Pokud srolujete dolu najdete položku Homepage's logo

pokud ho chcete změnit porstě nahrajte vlastrní obrázek. Pokud ho chcete úplně odstranit tak prostě zakažte tento modul kliknutím na zelené zatržítko
úvodní strana prestashopu
3 Úterý, 10 Listopad 2009 05:14
Kalužíková Dagmar
Dobrý den,
chtěla bych se zeptat jak změnit úvodní stranu - obrázek, který tam je automaticky zobrazen po instalaci programu - je to obrázek jak v demo programu konkrétně ukázka mobilních telefonů - jak tyto obrázky odstranit nebo změnit. Děkuji
Odpoved
2 Sobota, 11 Duben 2009 08:01
Administrator
Ahoj, nejdriv bych se zkusil podivat do adminu, a zvolit Moduly>Pozice, a podivat se zda tam nove vytvorena pozice je, pokud ne, zrejme si udelal chybu pri vkladani do Databaze. Pokud tam je nezapomen jeste priradit ten blok te pozici kterou jsi si vytvoril. Ve clanku jsem napriklad menil pozici bloku Infos, takze zvolis Pridat modul, zvolis si modul do ktereho si vkladal kod z bodu 4) a das Zavesit do: a zvolis pozici kterou jsi si vytvoril nyni by to melo bezet
Nejde
1 Pátek, 10 Duben 2009 20:10
krida
Udělal jsem přesně krok po kroku a nic se mi nezobrazi :-(

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