Создание собственной страницы в Prestashop

Автор Виталий, 24 июня 2014, 11:35:51

« назад - далее »

Виталий

Для того чтобы использовать функции prestashop на своей страницы нужно:

1. Создать страницу в корне сайта mypage.php
<?php
require(dirname(__FILE__).'/config/config.inc.php');

Tools::displayFileAsDeprecated();
Tools::redirect('index.php?controller=mypage'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently');


2. Создать свой конроллер /controllers/front/MyPageController.php
<?php

class MyPageControllerCore extends FrontController
{
 public
$php_self = 'mypage';
 
 public function
initContent()
 {
   
parent::initContent();

   
$this->setTemplate(_PS_THEME_DIR_.'mypage.tpl');
 }
}


3. Создать шаблон страницы /themes/ваша_тема/mypage.tpl
<h1>{l s='My page'}</h1>

4. В "Панель администратора > Настройки > SEO и URL" добавить вашу страницу
Страница: mypage
ЧПУ: mypage
Cоздание интернет сайтов Webstudio UwK

Vasiy

Не боги горшки обжигают, не зачем им такой хренью заниматься.

ot4uzdensky

Цитата: Виталий от 24 июня 2014, 11:35:51
Для того чтобы использовать функции prestashop на своей страницы нужно...
Виталий, спасибо огромное за факт существования этой материала, он мне очень помог!
И если Вам не трудно подскажите пожалуйста, как на этой своей странице, функцией залогинить мембера по его "id_customer" чтобы куки для доступа в кабинет выдались? Заранее  Вас благодарю.

coder

Для работы с пользователями класс Customer.php
Для куки - Cookie.php
public function isLogged($withGuest = false)

ot4uzdensky

через функцию
Цитата: coder от 27 июня 2014, 11:07:59
isLogged()
можно, как я понимаю только проверить, залогине ли пользователь или нет.
Я же ищу её аналог, которому можно скормить id пользователя и он будет полноценно авторизован, уверен, что это реализовано, просто, к сожалению, не могу эту функцию никак найти  :(

ot4uzdensky

Всё, спасибо всем за помощь, разобрался. Готовой функции не нашел,пришлось свою написать. Дёргните меня, если кому -нибудь она понадобится.

Polzovatel

Подскажите пожалуйста как мне решить проблему. На черновой версии магазина всё работает отлично. Заливаю файлы на работающий сайт отображается пустая страница (без заголовка и какой либо информации). Как Вы думаете в чём может быть проблема?


Vladislav111

Подскажите почему у меня выдает ошибку 500? Вроде все как надо делаю(

PrestaMan

Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

Vladislav111


Vladislav111

Новый вопрос назрел) Как мне теперь на созданной странице избавится от всех стандартных элементов шаблона, меню горизонтальное, поиск и других элементов, чтоб полностью все свое напечатать. Очень надо ребят

mistral

Если избавлятся нужно на всех страницах смс, тогда в Модули > Расположение блоков зайти во все модули и устновить не показывать для cms.php.
Если только для одной, то нужно создавать отдельный шаблон для этой страницы.   

Vladislav111

Т.е. я должен создать новый шаблон и в нем создать страницу? Или для страниц можно шаблоны применять?

mistral

Два варианта,
1. Создать свой контроллер и шаблон
http://doc.prestashop.com/display/PS16/Developer+Guide

2. Изменить шаблон cms.tpl, добавить в нем
{if isset($cms) && ($cms->id == 'id страницы')}
    {include file="./mycms.tpl"}

и сделать новый шаблон mycms.tpl