Právě je 26 zář 2017 14:43

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 
Autor Zpráva
 Předmět příspěvku: PrestaShop - Košík na celou šířku stránky
PříspěvekNapsal: 29 črc 2011 11:05 

Registrován:
24 čer 2010 12:01
Příspěvky:
25
Dobrý den.
Když už jsem v košíku, tak bych potřeboval, aby zmizelo vše kolem. Tedy aby se košík roztáhl na šířku stránky. A všechny další kroky až k dokončení objednávky.

Mám template prestashop alt. Jednostránkovou objednávku.

Poradíte?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Košík na celou šířku stránky
PříspěvekNapsal: 29 črc 2011 23:41 

Registrován:
20 črc 2011 12:16
Příspěvky:
31
Dobrý den,
takovou úpravu provedete změnou v .tpl souborech šablony, konkrétně v souborech headet.tpl a footer.tpl. Předpokládám, že chcete odstranit postranní panely (identifikátory right_column a left_column v CSS), ale hlavičku a patičku stránky chcete zachovat. Pokud ne, napište, bude nutné provést více úprav v šabloně.

Díky tomu, že používáte jednostránkovou verzi objednávkového formuláře, tak samotný košík i objednávkový formulář se nachází na jedné stránce - a je generován jedním PHP souborem: order-opc.php. Dále jsou v objednávkovém procesu podle zvolených modulů přítomny soubory payment.php, validation.php, order-confirmation.php a případně další.

Důležité je, že každá stránka má na základě názvu tohoto souboru své ID, jako je například u order-opc.php:
Kód:
<body id="order-opc">

Pokud známe tyto ID všech stránek v objednávkovém procesu, můžeme vytvořit pravidlo, na základě kterého se na stránkách s tímto ID nebudou postranní sloupce zobrazovat a naopak na těcto stránkách bude navíc speciální sada kaskádových stylů, která upraví vzhled, tedy třeba roztáhne prostřední sloupec přes celou šířku stránky.

Jak na to:

Pomocí FTP klienta si stáhněte ze složky /themes/prestashop_alt/ soubory header.tpl a footer.tpl na pevný disk Vašeho počítače. Je to totiž možná s podivem, ale v šabloně nazvané header se vykresluje levý a prostřední sloupec, ale sloupec pravý se vykresluje pomocí šablony footer.

Otevřete si šablonu header v textovém editoru (Notepadu nebo třeba PSPadu) a sjeďte do části, která vypisuje zobrazení sloupců, tedy:
Kód:
<div id="columns">
            <!-- Left -->
            <div id="left_column" class="column">
               {$HOOK_LEFT_COLUMN}
            </div>

            <!-- Center -->
            <div id="center_column">

A přidejte tam podmínku, aby se left_column zobrazoval pouze na stránkách, které nebudou v objednávkovém procesu, tedy:
Kód:
$page_name neq 'order-opc' and $page_name neq 'validation' and $page_name neq 'payment' and $page_name neq 'payment' and $page_name neq 'order-confirmation'

V případě, že budete mít více, nebo jiné stránky, jednoduše prostě přidejte další:
Kód:
and $page_name neq 'ID-stranky-u-ktere-nechcete-zobrazovat-postranni-sloupce'

Takže nakonec tam bude:
Kód:
         <div id="columns">
                {if $page_name neq 'order-opc' and $page_name neq 'validation' and $page_name neq 'payment' and $page_name neq 'order-confirmation'}
                <!-- Left -->
            <div id="left_column" class="column">
               {$HOOK_LEFT_COLUMN}
            </div>
                {/if}

            <!-- Center -->
            <div id="center_column">

My ale chcete změnit i zobrazení prostředního sloupce. Takže musíme změnit i CSS direktivy. V header.tpl najděte kód:
Kód:
{if isset($css_files)}
   {foreach from=$css_files key=css_uri item=media}
   <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
   {/foreach}
{/if}

Který se stará o přiložení CSS souborů ke stránce a přidejte další podmínku:
Kód:
$page_name eq 'order-opc' or $page_name eq 'validation' or $page_name eq 'payment' or $page_name eq 'order-confirmation'

Zase, případě nutnosti přidejte kód:
Kód:
or $page_name eq 'ID-stranky-u-ktere-chcete-zmenit-zobrazeni'

Takže nakonec tam bude:
Kód:
{if isset($css_files)}
   {foreach from=$css_files key=css_uri item=media}
   <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
   {/foreach}
{/if}
{if $page_name eq 'order-opc' or $page_name eq 'validation' or $page_name eq 'payment' or $page_name eq 'order-confirmation'}
   <style type="text/css">
   #center_column {
      width: 100%;
   }
   </style>
{/if}
{if isset($js_files)}
   {foreach from=$js_files item=js_uri}
   <script type="text/javascript" src="{$js_uri}"></script>
   {/foreach}
{/if}

Kvůli pravidlům kaskády je třeba, aby dodatečné CSS bylo až za původním výčtem CSS souborů. Také, do:
Kód:
<style type="text/css">
   #center_column {
      width: 100%;
   }
   </style>

Doplňte direktivy podle vlastního uvážení a potřeby. Header.tpl uložte a v textovém editoru otevřete footer.tpl. Udělejte v podstatě to samé, ale ohledně pravého sloupce. Takže místo:
Kód:
{if !$content_only}
            </div>

<!-- Right -->
            <div id="right_column" class="column">
               {$HOOK_RIGHT_COLUMN}
            </div>
         </div>

Tam bude:
Kód:
{if !$content_only}
            </div>

                {if $page_name neq 'order-opc' and $page_name neq 'validation' and $page_name neq 'payment' and $page_name neq 'order-confirmation'}
            <div id="right_column" class="column">
               {$HOOK_RIGHT_COLUMN}
            </div>
                {/if}               
         </div>

I tento soubor uložte. A nakonec oba soubory nahrajte pomocí FTP na server zpět do složky /themes/prestashop_alt/ a přehrajte jimi ty původní. Nezapomeňte také v administračním rozhraní v Preferences -> Performace v "Nucená kompilace" dát na chvíli ano, abyste promazal cache obchodu. (Ovšem pouze na chvíli, jinak by došlo k negativnímu poklesu výkonu.)

Napište, prosím, zda Vám návod pomohl.

_________________
Jakub Fišer
Webhosting C4
http://www.c4.cz/


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PrestaShop partneři
PrestaShop Hosting
Návody pro C4

© 2009-2012 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz