Автор Тема: Как подключить header и footer в Prestashop 1.7  (Прочитано 211 раз)

03 Март 2019, 19:13:06
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как подключить header и footer в Prestashop 1.7? В Prestashop 1.6
можно было подключиты с помощью:

require($_SERVER["DOCUMENT_ROOT"]."/header.php");

ErShow();
echo $MyContent;

require($_SERVER["DOCUMENT_ROOT"]."/footer.php");
?>
03 Март 2019, 21:38:51
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1350
  • Репутация: +20/-1
  • Сообщество PrestaShop
    • Просмотр профиля
{extends file=$layout}
Цитировать
Наследование шаблонов и макетов страницы (layouts)
Зачастую у шаблонов в проекте есть общие элементы, такие как “заголовок” (header), “подвал” (footer), боковые панели (sidebar) и т.п. В Symfony эта задача решается по-другому: шаблон может быть оформлен с помощью другого шаблона. Принцип работы здесь точно такой же, как с PHP-классами: наследование шаблонов позволяет вам выстроить базовый шаблон “макета страницы” (layout template), который содержит все необходимые вам общие элементы сайта, которые еще называют блоками (аналогично с “PHP-классом с базовыми методами”). Дочерний шаблон можно расширить по сравнению с базовым, а также можно переопределять любые его блоки (аналогично с “дочерним PHP-классом, который переопределяет некоторые методы родительского класса”).
12 Март 2019, 23:28:57
Ответ #2
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как это применить на моем примере?

<?php


$_GET=Array();
$controller = new FrontController();

$tm=time();

$controller->init();

//echo 'init() '.(time()-$tm).' sec.<br>'; $tm=time();

//$controller->initContent();
//echo 'initContent() '.(time()-$tm).' sec.<br>'; $tm=time();

$controller->setMedia();


//$controller->initHeader();


$context->smarty->tpl_vars['page']->value['page_name'] = 'TDMod';
$context->smarty->tpl_vars['page']->value['meta']['title'] = TDM_TITLE;
$context->smarty->tpl_vars['page']->value['meta']['description'] = TDM_DESCRIPTION;
$context->smarty->tpl_vars['page']->value['meta']['keywords'] = TDM_KEYWORDS;
$context->smarty->tpl_vars['page']->value['meta']['robots'] = '';

$controller->displayHeader();

//echo 'displayHeader() '.(time()-$tm).' sec.<br>'; $tm=time();

?>
<script src="/<?=TDM_ROOT_DIR?>/media/js/jquery214.min.js"></script>
<script src="/<?=TDM_ROOT_DIR?>/media/js/colorbox/jquery.colorbox-min.js"></script>
<link rel="stylesheet" href="/<?=TDM_ROOT_DIR?>/media/js/colorbox/cmain.css" />

   <table><tr><td><?$arMSParams["LANG"]='it';
   require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/vin/component.php');?>
   </td><td>
   <?$arKTParams["LANG"]='it';
   require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/mselect/component.php');?>
   </table>
<?
require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/vin/component.php');

ErShow();
echo $TDMContent;

$controller->displayFooter();


/*
$_GET=Array();
//require($_SERVER["DOCUMENT_ROOT"]."/header.php");
ob_start();
require($_SERVER["DOCUMENT_ROOT"]."/header.php");
?>
<script src="/<?=TDM_ROOT_DIR?>/media/js/jquery214.min.js"></script>
<?php
$PrestaHeader = ob_get_contents();
$PrestaHeader = str_replace(array('</body>','</html>'),'',$PrestaHeader);
$PrestaHeader = str_replace('id="pagenotfound"','',$PrestaHeader);
$PrestaHeader = str_replace('class="pagenotfound"','',$PrestaHeader);
ob_end_clean();
echo $PrestaHeader;

?>
<script src="/<?=TDM_ROOT_DIR?>/media/js/jquery214.min.js"></script>
<script src="/<?=TDM_ROOT_DIR?>/media/js/colorbox/jquery.colorbox-min.js"></script>
<link rel="stylesheet" href="/<?=TDM_ROOT_DIR?>/media/js/colorbox/cmain.css" />

   <table><tr><td><?$arMSParams["LANG"]='it';
   require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/vin/component.php');?>
   </td><td>
   <?$arKTParams["LANG"]='it';
   require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/mselect/component.php');?>
   </table>
<?

require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/vin/component.php');



ErShow();
echo $TDMContent;

require($_SERVER["DOCUMENT_ROOT"]."/footer.php");
*/
?>
13 Март 2019, 11:32:47
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 15616
  • Репутация: +14598/-5
  • Сообщество PrestaShop
    • Просмотр профиля
{extends file=$layout}
    {block name='content'}
        тут свой код
14 Март 2019, 23:43:25
Ответ #4
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{extends file=$layout}
    {block name='content'}
        тут свой код

Эти данные нужно вносить /themes/your_theme/templates/......tpl
А как подвязать с моего файла?
15 Март 2019, 11:25:02
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 21671
  • Репутация: +25291/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Чтобы свой шаблон использовать, нужно модуль сделать. В модуле конроллер и в нем определить шаблон и его переменные.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
21 Март 2019, 21:08:47
Ответ #6
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Чтобы свой шаблон использовать, нужно модуль сделать. В модуле конроллер и в нем определить шаблон и его переменные.
Для чего делать модуль? Уже есть готовый модуль, отдельная папка там отдельный сайт. Нужно просто к данному модуля подкрутить верхнюю и нижнюю часть от prestashop 1.7.
Этот код на prestashop 1.6 работает, а на  prestashop 1.7????
 <?php


$_GET=Array();
$controller = new FrontController();

$tm=time();

$controller->init();

//echo 'init() '.(time()-$tm).' sec.<br>'; $tm=time();

//$controller->initContent();
//echo 'initContent() '.(time()-$tm).' sec.<br>'; $tm=time();

$controller->setMedia();


//$controller->initHeader();


$context->smarty->tpl_vars['page']->value['page_name'] = 'TDMod';
$context->smarty->tpl_vars['page']->value['meta']['title'] = TDM_TITLE;
$context->smarty->tpl_vars['page']->value['meta']['description'] = TDM_DESCRIPTION;
$context->smarty->tpl_vars['page']->value['meta']['keywords'] = TDM_KEYWORDS;
$context->smarty->tpl_vars['page']->value['meta']['robots'] = '';

$controller->displayHeader();

//echo 'displayHeader() '.(time()-$tm).' sec.<br>'; $tm=time();

?>
<script src="/<?=TDM_ROOT_DIR?>/media/js/jquery214.min.js"></script>
<script src="/<?=TDM_ROOT_DIR?>/media/js/colorbox/jquery.colorbox-min.js"></script>
<link rel="stylesheet" href="/<?=TDM_ROOT_DIR?>/media/js/colorbox/cmain.css" />

   <table><tr><td><?$arMSParams["LANG"]='it';
   require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/vin/component.php');?>
   </td><td>
   <?$arKTParams["LANG"]='it';
   require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/mselect/component.php');?>
   </table>
<?
require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/vin/component.php');

ErShow();
echo $TDMContent;

$controller->displayFooter();


/*
$_GET=Array();
//require($_SERVER["DOCUMENT_ROOT"]."/header.php");
ob_start();
require($_SERVER["DOCUMENT_ROOT"]."/header.php");
?>
<script src="/<?=TDM_ROOT_DIR?>/media/js/jquery214.min.js"></script>
<?php
$PrestaHeader = ob_get_contents();
$PrestaHeader = str_replace(array('</body>','</html>'),'',$PrestaHeader);
$PrestaHeader = str_replace('id="pagenotfound"','',$PrestaHeader);
$PrestaHeader = str_replace('class="pagenotfound"','',$PrestaHeader);
ob_end_clean();
echo $PrestaHeader;

?>
<script src="/<?=TDM_ROOT_DIR?>/media/js/jquery214.min.js"></script>
<script src="/<?=TDM_ROOT_DIR?>/media/js/colorbox/jquery.colorbox-min.js"></script>
<link rel="stylesheet" href="/<?=TDM_ROOT_DIR?>/media/js/colorbox/cmain.css" />

   <table><tr><td><?$arMSParams["LANG"]='it';
   require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/vin/component.php');?>
   </td><td>
   <?$arKTParams["LANG"]='it';
   require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/mselect/component.php');?>
   </table>
<?

require_once($_SERVER["DOCUMENT_ROOT"].'/autoparts/addons/vin/component.php');



ErShow();
echo $TDMContent;

require($_SERVER["DOCUMENT_ROOT"]."/footer.php");
*/
?>
21 Март 2019, 21:17:16
Ответ #7
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{extends file=$layout}
    {block name='content'}
        тут свой код
Как это прикрутить в этот файл?
22 Март 2019, 13:01:03
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 15616
  • Репутация: +14598/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Никак. Нужно наоброт встраивать ваш скрипт в prestashop, для этого сделать модуль.