Автор Тема: Как создать модуль в Prestashop 1.7? С подключением второго сайта  (Прочитано 2596 раз)

02 Апрель 2019, 22:10:03
  • Новичок
  • *
  • Сообщений: 46
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Работает магазин на Prestashop 1.7. Хочу создать модуль для подключения каталога товара. В корне сайта есть папка catalog в ней есть index.php, своя база, есть свой сайт в сайте. Хочу создать модуль через который можно будет с главной страницы Prestashop перейти в каталог, причем  header и footer сайта отображалась из магазина Prestashop, а данные из папки catalog?
03 Апрель 2019, 01:20:08
Ответ #1
  • Новичок
  • *
  • Сообщений: 34
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Генерируй модуль https://validator.prestashop.com/generator
Вот материалы http://doc.prestashop.com/display/PS17/Creating+a+PrestaShop+1.7+Module
Дальше просто знание php и модели mvc

в твоем случае надо просто сделать ссылку в меню на второй сайт и во втором сайте в шаблоне прописать путь к header и footer первого
модуль не нужен
03 Апрель 2019, 21:47:03
Ответ #2
  • Новичок
  • *
  • Сообщений: 46
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Генерируй модуль https://validator.prestashop.com/generator
Вот материалы http://doc.prestashop.com/display/PS17/Creating+a+PrestaShop+1.7+Module
Дальше просто знание php и модели mvc

в твоем случае надо просто сделать ссылку в меню на второй сайт и во втором сайте в шаблоне прописать путь к header и footer первого
модуль не нужен
Как это сделать? В версии 1.6 можно было так:
require($_SERVER["DOCUMENT_ROOT"]."/header.php");В 1.7 такое не работает?
04 Апрель 2019, 03:20:42
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Зачем вам модуль, когда нужно создать только шаблон страницы?
CSS, JS берете из темы и на основе темы делаете такой-же дизайн.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
06 Апрель 2019, 23:26:27
Ответ #4
  • Новичок
  • *
  • Сообщений: 34
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как это сделать? В версии 1.6 можно было так:
require($_SERVER["DOCUMENT_ROOT"]."/header.php");В 1.7 такое не работает?

Второй сайт тоже на prestashop?
07 Апрель 2019, 21:01:52
Ответ #5
  • Новичок
  • *
  • Сообщений: 46
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как это сделать? В версии 1.6 можно было так:
require($_SERVER["DOCUMENT_ROOT"]."/header.php");В 1.7 такое не работает?

Второй сайт тоже на prestashop?
Второй сайт не prestashop. Он может подключаться к prestashop ли OpenCart. У него нет header, footer. Мне нужно, чтобы отображалось  header с корзиной  prestashop 1.7 и сам контент из каталога.
08 Апрель 2019, 22:57:49
Ответ #6
  • Новичок
  • *
  • Сообщений: 46
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В папке catalog является файл подключения. Возможно нужно что-то поправить?
<?if(!defined("CAT_PROLOG_INCLUDED") || CAT_PROLOG_INCLUDED!==true)die();

require($_SERVER["DOCUMENT_ROOT"].'/config/config.inc.php');



//Add to cart
if(defined('CAT_ADD_TO_CART') AND CAT_ADD_TO_CART){
global $arCartPrice;
if(is_array($arCartPrice)){
if($arCartPrice['OPTIONS']['MINIMUM']>1){$QUANTITY=$arCartPrice['OPTIONS']['MINIMUM'];}else{$QUANTITY=1;}
$DefaultCategory = 12;
$DefaultTaxGroup = 0;
$Price = $arCartPrice['PRICE_CONVERTED'];
$Reference = $arCartPrice['ARTICLE'].' / '.$arCartPrice['BRAND'];

//Presta init
global $context;
if(!$context){$context = Context::getContext();}
$logged = $context->cookie->__get('logged');
$id_cart = $context->cookie->__get('id_cart');
$id_lang = $context->cookie->__get('id_lang');
$id_guest = $context->cookie->__get('id_guest');
$id_currency = $context->cookie->__get('id_currency');


                   
<?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'] = 'CATod';
$context->smarty->tpl_vars['page']->value['meta']['title'] = CAT_TITLE;
$context->smarty->tpl_vars['page']->value['meta']['description'] = CAT_DESCRIPTION;
$context->smarty->tpl_vars['page']->value['meta']['keywords'] = CAT_KEYWORDS;
$context->smarty->tpl_vars['page']->value['meta']['robots'] = '';

$controller->displayHeader();


ErShow();
echo 
$CATContent;
09 Апрель 2019, 10:40:53
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
/modules/mymodule/controllers/front/mycontroller.php
class MymoduleModuleFrontController extends ModuleFrontController
{
    public function initContent()
    {
        parent::initContent();
                $this->setTemplate('module:mymodule/views/templates/front/mymodule.tpl');
    }
}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
09 Апрель 2019, 11:56:08
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Создать свою страницу в prestashop 1.7 можно так:
1. Создаете контроллер : /override/controllers/front/MyController.php
2. Содаете темплейт tpl : /themes/mytheme/templates/mytpl.tpl
3. В адмнке  : Настройки / SEO & URLs / добавляете свой контроллер
4. Очищаете кеш
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!