Jump to content
krzy_chu

Osobny szablon do cms.

Recommended Posts

Czy idzie dodać osobny szablon do jednej strony cms ? 
Chciał bym w nim dodać tylko logo menu i koszyk a resztę zbędnych rzeczy wywalić. Ale nie wiem czy idzie podpiąć szablon tylko pod jedną stronę cms. 

Edited by krzy_chu

Share this post


Link to post
Share on other sites

Strony cms ładują tylko content więc tą środkową część a reszta jest ładowana standardowo,  tutaj mógłbyś stworzyć moduł z własną stroną cms i w kontrolerze modułu dla tej strony wyłączyć header i footer a te wstawić po swojemu.

Share this post


Link to post
Share on other sites

Masz jakieś artykuł albo coś jak się wyłącza header i footer. Bo jak stowrzyć moduł to już znlazłem mniej wiecej.

Share this post


Link to post
Share on other sites

W funkcji init() możesz użyć:

$this->display_footer = false;

$this->display_header = false;


 

Tak samo z prawą czy lewa kolumną.

Share this post


Link to post
Share on other sites

    public function hookdisplayTopColumn()
        {   
            $display_header = false;
            $display_footer = false;
            global $smarty;
            $smarty->assign('our_text',Configuration::get($this->name.'_text_to_show'));
            return $this->display(__FILE__, 'cms_custom.tpl');
        }

nie działa.

a jak wkleić do tego np menu ? 

Share this post


Link to post
Share on other sites

Tak jak napisałem w funkcji init() kontrolera który będzie tworzył dodatkową stronę a nie w kontrolerze głównym modułu.  W tej chwili z kodu wnioskuję że chcesz utworzyć hook a masz utworzyć stronę w której osadzisz dowolne hooki.

Share this post


Link to post
Share on other sites

Stworzyłem strone w prescie i chciałbym wywalić footer i header i stworzyć własny header ale trochę nie rozumiem tego kontrolera.
NewPageController.php

<?php

class NewPageControllerCore extends FrontController
{
 public $php_self = 'new-page.php';

 public function setMedia()
 {
      parent::setMedia();
//      Tools::addCSS(_THEME_CSS_DIR_.'new-page.css');
//      Tools::addJS(_THEME_JS_DIR_.'new-page.js');
 }
public function init()
{
$this->display_header = false; //hides header;
$this->display_footer = false; // hides footer;

parent::init();
}
 public function displayContent()
 {
       parent::displayContent();
       self::$smarty->display(_PS_THEME_DIR_.'new-page.tpl');
 }
}

new-page.php

 

<?php

require(dirname(__FILE__).'/config/config.inc.php');
ControllerFactory::getController('NewPageController')->run();

new-page.tpl

test

 

Share this post


Link to post
Share on other sites

wiem że mogę dodać tak stronę

<?php

include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/init.php');



$smarty->display(_PS_THEME_DIR_.'new-page.tpl');



?> 

i wtedy mi się nie wyświetlają te header i footer tylko jak wtedy dodać np same menu logo i koszyk.

Share this post


Link to post
Share on other sites
<?php

//include(dirname(__FILE__).'/config/config.inc.php');
require(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/init.php');

include(dirname(__FILE__).'/header-konfigurator.php');
//ControllerFactory::getController('NewPageController')->run();
$smarty->display(_PS_THEME_DIR_.'new-page.tpl');

skopiowałem header do header-konfigurator ale mam tylko front a reszte nie działa

Edited by krzy_chu

Share this post


Link to post
Share on other sites

zamiast tego 

include(dirname(__FILE__).'/header-konfigurator.php');

mogę wstawić to
 

if (isset(Context::getContext()->controller)) {
    $controller = Context::getContext()->controller;
} else {
    $controller = new FrontController();
    $controller->init();
    $controller->setMedia();
}
Tools::displayFileAsDeprecated();
$controller->displayHeader();

tylko jak to przekierować do header-konfigurator.tpl

Share this post


Link to post
Share on other sites

Tylko po co? Masz plik tpl który jest szablonem całości, zrób sobie w nim siatkę układu jeśli potrzebujesz i resztę oprzyj na hookach którymi wywołasz sobie chciane moduły.

Share this post


Link to post
Share on other sites

czyli wysmysle sobie specjalny hook np

{capture name='displayJakisHook'}{hook h='displayJakisHook'}{/capture}

 

i będę mógł normalnie w pozycjach sobie poszczególne moduły wrzucić do tego hook-u "displayJakisHook" ?

drugie pytanie jeśli skopiuje cały header do mojego tpl to on powinien działać ? bo chciał bym go tylko edytować a mi jakimiś błędami sypie.

Share this post


Link to post
Share on other sites

Moduły masz podpięte pod hooki więc tylko kwestia wywołania, oczywiście jak moduł ładuje skrypty i style w header to też musisz wywołać co by miało ręce i nogi wszystko ale generalnie jeśli masz moduł podpięty pod hook displayTopContent to sam moduł możesz wywołać {hook h='displayTopContent' mod='nazwa_modułu'}.

Share this post


Link to post
Share on other sites

Mam utworzony szablon dla tylko jendej strony gdzie będzie podpięta zewnętrzna aplikacja.

jak na obrazku mam taki top a chce wywalić czarne i przeniść panel logowania. 
I chodzi o to, że nie mam jak się zaczepić bo istniejące pozycje są potrzebne w sklepie a to jest rozwiązanie tylko dla jednej strony.

mam napisać jeszcze jakiś moduł ? 

top.png

Share this post


Link to post
Share on other sites

ok własny zaczep jest bez sensu bo do wszystkich modułów bym musiał go dodać

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More