Автор Тема: Создание собственной страницы в Prestashop  (Прочитано 5760 раз)

30 Ноябрь 2015, 21:30:39
Ответ #15
  • Новичок
  • *
  • Сообщений: 16
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Большое спасибо буду разбираться
01 Март 2017, 17:56:43
Ответ #16
  • Новичок
  • *
  • Сообщений: 1
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для Prestashop 1.7 нужно создавать шаблон в папке templates вашей темы, и в контроллере должно быть так $this->setTemplate('mypage');
26 Декабрь 2017, 17:55:05
Ответ #17
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
Для Prestashop 1.7 нужно создавать шаблон в папке templates вашей темы, и в контроллере должно быть так $this->setTemplate('mypage');
подтверждаю!
18 Февраль 2018, 21:42:20
Ответ #18
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
столкнулся с такой проблемой:

debug включен, а у самой папки выставлена директива "только для чтения" и не снимается :О
винда лагает?
18 Февраль 2018, 21:53:11
Ответ #19
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Виндовские права доступа не для файлов веб сервера. Доступ к файлам в настройках сервера.
18 Февраль 2018, 22:03:12
Ответ #20
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
не подскажете, где в OpenServer'e такое сделать?
18 Февраль 2018, 22:14:38
Ответ #21
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
как вообще это произошло?
собсно, я по этому гайду добавлял себе страничку "о магазине". выполнил все 4 пункта, но по созданному урлу я получал ошибку, касающуюся отсутствия якобы созданного мною контролерра.
потом удалил созданные мною файлы, ребутнул сервер, почистил кеш и получил вот такое теперь - когда жму "добавить страницу" получаю ошибку про overrides-папку
19 Февраль 2018, 01:35:27
Ответ #22
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
крч проблема решилась.
судя по всему, трабл был таки в вин10.
у меня из корня просто пропала папка override и перенеслась в pdf, плюс перестала быть возможной для любых действий над ней.
решил взятием с дампа)
19 Февраль 2018, 19:10:13
Ответ #23
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
запилил страницы. вопрос, а как сделать, чтобы их можно было редачить в админке?
19 Февраль 2018, 21:48:46
Ответ #24
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Для админки свой контроллер нужен. Опять делай тоже самое для админки, контроллер+шаблон.
20 Февраль 2018, 02:04:29
Ответ #25
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
так-с, поподробнее, пожалуйста. я запутался.
1. создал в controllers/admin/AdminAboutController.php:
<?php

class AdminAboutControllerCore extends AdminController
{
  public 
$php_self 'about';
  
  public function 
initContent()
  {
    
parent::initContent();

    
$this->setTemplate(_PS_THEME_DIR_.'about.tpl');
  }
}
2. создал в /admin/about.php:
<?php
require(dirname(__FILE__).'/config/config.inc.php');

Tools::displayFileAsDeprecated();
Tools::redirect('index.php?controller=about'.($_REQUEST '&'.http_build_query($_REQUEST'''&') : ''), __PS_BASE_URI__null'HTTP/1.1 301 Moved Permanently');
3. создал в admin/template/about.tpl
в админке не нашел, где я могу редачить контент своей страницы
20 Февраль 2018, 11:16:40
Ответ #26
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
<?php

class AdminMyModuleController extends ModuleAdminController
{
    public function 
__construct()
    {
        
$this->bootstrap  true;
      
        
parent::__construct();

        
//data to the grid of the "view" action
        
$this->fields_list = [
            
'id_mymodule_class'       => [
                
'title' => $this->l('ID'),
                
'type'  => 'text',
                
'align' => 'center',
                
'class' => 'fixed-width-xs',
            ],
          ...

        
//fields to add/edit form
        
$this->fields_form = [
            
'legend' => [
                
'title' => $this->l('General Information'),
            ],
            
'input'  => [
                
'name'   => [
                    
'type'     => 'text',
                    
'label'    => $this->l('Name'),
                    
'name'     => 'name',
                    
'required' => true,
                    
'lang' => true
                
],
                ...
            
'submit' => [
                
'title' => $this->l('Save'),
            ],
        ];
    }

    public function 
initContent()
    {
        
parent::initContent();
    }
}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
20 Февраль 2018, 11:41:00
Ответ #27
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
module? я не создавал модуль, у меня лишь созданы кастомные страницы, как в сообщении топикстартера.
яннп.
20 Февраль 2018, 12:29:12
Ответ #28
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
попробовал сделать вот так в cms.tpl:
{if isset($cms) && ($cms->id == '6')}
    {include file="./header.tpl"}
    {include file="./about.tpl"}
    {include file="./footer.tpl"}
..
если инклюдить страницу, созданную по примеру топикстартера, то всё ОК.
но ведь так контент берется из шаблона, а мне нужно из админки, поэтому сделал так:
{if isset($cms) && ($cms->id == '6')}
    {include file="./header.tpl"}
    {$cms->content}
    {include file="./footer.tpl"}
и по итогу получил cms-хедер какой-то со своими стилями, и вывел по итогу лишь контент из админки, без стилей и т.п.
20 Февраль 2018, 12:42:00
Ответ #29
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
решил просто: вывел содержимое $cms->content непосредственно в инклюдируемом шаблоне)