Jump to content

custom page, header anf footer using in external folder


Recommended Posts

I have some php pages within a folder i want to display that pages in prestashop on header portion prestashop header should display and on body part my custom php page content should display and on footer prestashop default footer should display. is it possible?

Share this post


Link to post
Share on other sites
  • 2 years later...

Hi,

 

I have been looking for the same long time and finally found a solution working for me. May be will help some one. 

 

require_once $_SERVER['DOCUMENT_ROOT'].'/config/config.inc.php';
$current = getcwd();
class ContentPageCutomized extends FrontController
{
public function initContent()
{

parent::initContent();
}

public function displayHeader()
{

$hook_header = Hook::exec('displayHeader');
if ((Configuration::get('PS_CSS_THEME_CACHE') || Configuration::get('PS_JS_THEME_CACHE')) && is_writable(_PS_THEME_DIR_.'cache'))
{
// CSS compressor management
if (Configuration::get('PS_CSS_THEME_CACHE'))
$this->css_files = Media::cccCSS($this->css_files);
//JS compressor management
if (Configuration::get('PS_JS_THEME_CACHE'))
$this->js_files = Media::cccJs($this->js_files);
}

$this->context->smarty->assign(array(
'meta_title' => 'My title'
));
// Call hook before assign of css_files and js_files in order to include correctly all css and javascript files
$this->context->smarty->assign(array(
'HOOK_HEADER' => $hook_header,
'HOOK_TOP' => Hook::exec('displayTop'),
'HOOK_LEFT_COLUMN' => ($this->display_column_left ? Hook::exec('displayLeftColumn') : ''),
'HOOK_RIGHT_COLUMN' => ($this->display_column_right ? Hook::exec('displayRightColumn', array('cart' => $this->context->cart)) : ''),
'HOOK_FOOTER' => Hook::exec('displayFooter')
));

$this->context->smarty->assign(array(
'css_files' => $this->css_files,
'js_files' => ($this->getLayout() && (bool)Configuration::get('PS_JS_DEFER')) ? array() : $this->js_files,
'js_defer' => (bool)Configuration::get('PS_JS_DEFER'),
'errors' => $this->errors,
'display_header' => $this->display_header,
'display_footer' => $this->display_footer,
));

$layout = $this->getLayout();
if ($layout) {
if ($this->template) {
$template = $this->context->smarty->fetch($this->template);
echo 'might be';
} else {
// For retrocompatibility with 1.4 controller

ob_start();
$this->displayContent();
$template = ob_get_contents();
ob_clean();
}
$this->context->smarty->assign('template', $template);
$this->smartyOutputContent($layout);
} else {
Tools::displayAsDeprecated('layout.tpl is missing in your theme directory');
if ($this->display_header) {
$this->smartyOutputContent(_PS_THEME_DIR_.'header.tpl');
}

if ($this->template) {
$this->smartyOutputContent($this->template);
} else { // For retrocompatibility with 1.4 controller
$this->displayContent();
}

}

}

public function init()
{
parent::init();
}

public function displayContent()
{
?>
//Start your html content here

Your content here

//End your htmlcontent here
}

}
$controller=new ContentPageCutomized();
$controller->init();
$controller->setMedia();
$controller->initHeader();
$controller->displayHeader();
$controller->initContent();
?>

Share this post


Link to post
Share on other sites
  • 1 year later...

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
×
×
  • Create New...

Important Information

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