Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

создание своего макета


Recommended Posts

Добрый день, ребята!

Версия ocStore 2.3.0.2.3

нужно внедрить свою форму на отдельную страницу, но так как вырезаются некоторые теги в редакторе, решил в макете напрямую прописать. Так вот при создании таковой страница не определяется.

1) В controller -- information скопировал information.php и создал brushes.php

<?php
class ControllerInformationBrushes extends Controller {
	public function index() {
		$this->load->language('information/brushes');

		$this->load->model('catalog/information');

		$data['breadcrumbs'] = array();

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/home')
		);

		if (isset($this->request->get['information_id'])) {
			$information_id = (int)$this->request->get['information_id'];
		} else {
			$information_id = 0;
		}

		$information_info = $this->model_catalog_information->getInformation($information_id);

		if ($information_info) {

			if ($information_info['meta_title']) {
				$this->document->setTitle($information_info['meta_title']);
			} else {
				$this->document->setTitle($information_info['title']);
			}

			$this->document->setDescription($information_info['meta_description']);
			$this->document->setKeywords($information_info['meta_keyword']);

			$data['breadcrumbs'][] = array(
				'text' => $information_info['title'],
				'href' => $this->url->link('information/bruses', 'information_id=' .  $information_id)
			);

			if ($information_info['meta_h1']) {
				$data['heading_title'] = $information_info['meta_h1'];
			} else {
				$data['heading_title'] = $information_info['title'];
			}

			$data['button_continue'] = $this->language->get('button_continue');

			$data['description'] = html_entity_decode($information_info['description'], ENT_QUOTES, 'UTF-8');

			$data['continue'] = $this->url->link('common/home');

			$data['column_left'] = $this->load->controller('common/column_left');
			$data['column_right'] = $this->load->controller('common/column_right');
			$data['content_top'] = $this->load->controller('common/content_top');
			$data['content_bottom'] = $this->load->controller('common/content_bottom');
			$data['footer'] = $this->load->controller('common/footer');
			$data['header'] = $this->load->controller('common/header');

			$this->response->setOutput($this->load->view('information/brushes', $data));
		} else {
			$data['breadcrumbs'][] = array(
				'text' => $this->language->get('text_error'),
				'href' => $this->url->link('information/brushes', 'information_id=' . $information_id)
			);

			$this->document->setTitle($this->language->get('text_error'));

			$data['heading_title'] = $this->language->get('text_error');

			$data['text_error'] = $this->language->get('text_error');

			$data['button_continue'] = $this->language->get('button_continue');

			$data['continue'] = $this->url->link('common/home');

			$this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found');

			$data['column_left'] = $this->load->controller('common/column_left');
			$data['column_right'] = $this->load->controller('common/column_right');
			$data['content_top'] = $this->load->controller('common/content_top');
			$data['content_bottom'] = $this->load->controller('common/content_bottom');
			$data['footer'] = $this->load->controller('common/footer');
			$data['header'] = $this->load->controller('common/header');

			$this->response->setOutput($this->load->view('error/not_found', $data));
		}
	}

	public function agree() {
		$this->load->model('catalog/information');

		if (isset($this->request->get['information_id'])) {
			$information_id = (int)$this->request->get['information_id'];
		} else {
			$information_id = 0;
		}

		$output = '';

		$information_info = $this->model_catalog_information->getInformation($information_id);

		if ($information_info) {
			$output .= html_entity_decode($information_info['description'], ENT_QUOTES, 'UTF-8') . "\n";
		}

		$this->response->setOutput($output);
	}
}

2) view -- theme -- default -- template -- information  скопировал information.tpl и создал brushes.tpl

 

и теперь при переходе (локально стоит)  http://ocstore-2.3.0.2.3/index.php?route=information/brushes пишет что не найдено.... что делаю не так? раньше как-то указывался шаблон в контроллере

Надіслати
Поділитися на інших сайтах


контроллер не видит скорее всего

советую для начала создать пустой контроллер с тестовой функцией типа 

public function test { exit(); } и вызвать её

смотрите название класса внимательно может там

еще для уверенности можете сделать http://ocstore-2.3.0.2.3/index.php?route=information/brushes/index

  • +1 1
Надіслати
Поділитися на інших сайтах

3 минуты назад, splka сказал:

А в схемы-макеты добавили?

не обязательно.

 

 

Проблема в этом:

Цитата

if (isset($this->request->get['information_id'])) {
			$information_id = (int)$this->request->get['information_id'];
		} else {
			$information_id = 0;
		}

		$information_info = $this->model_catalog_information->getInformation($information_id);

		if ($information_info) {

 

Надіслати
Поділитися на інших сайтах


Попробуйте вот так:

<?php
class ControllerInformationBrushes extends Controller {
	public function index() {
		$this->load->language('information/brushes');

		$data['breadcrumbs'] = array();

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/home')
		);

/*	if ($information_info['meta_title']) {
			$this->document->setTitle($information_info['meta_title']);
		} else {
			$this->document->setTitle($information_info['title']);
		}

		$this->document->setDescription($information_info['meta_description']);
		$this->document->setKeywords($information_info['meta_keyword']);
		*/

		$data['breadcrumbs'][] = array(
			'text' => 'Что-нибудь',
			'href' => $this->url->link('information/bruses')
		);

		$data['button_continue'] = $this->language->get('button_continue');

		$data['continue'] = $this->url->link('common/home');

		$data['column_left'] = $this->load->controller('common/column_left');
		$data['column_right'] = $this->load->controller('common/column_right');
		$data['content_top'] = $this->load->controller('common/content_top');
		$data['content_bottom'] = $this->load->controller('common/content_bottom');
		$data['footer'] = $this->load->controller('common/footer');
		$data['header'] = $this->load->controller('common/header');

		$this->response->setOutput($this->load->view('information/brushes', $data));
	}
}

 

Надіслати
Поділитися на інших сайтах


8 минут назад, n3bo сказал:

Попробуйте вот так:


<?php
class ControllerInformationBrushes extends Controller {
	public function index() {
		$this->load->language('information/brushes');

		$data['breadcrumbs'] = array();

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/home')
		);

/*	if ($information_info['meta_title']) {
			$this->document->setTitle($information_info['meta_title']);
		} else {
			$this->document->setTitle($information_info['title']);
		}

		$this->document->setDescription($information_info['meta_description']);
		$this->document->setKeywords($information_info['meta_keyword']);
		*/

		$data['breadcrumbs'][] = array(
			'text' => 'Что-нибудь',
			'href' => $this->url->link('information/bruses')
		);

		$data['button_continue'] = $this->language->get('button_continue');

		$data['continue'] = $this->url->link('common/home');

		$data['column_left'] = $this->load->controller('common/column_left');
		$data['column_right'] = $this->load->controller('common/column_right');
		$data['content_top'] = $this->load->controller('common/content_top');
		$data['content_bottom'] = $this->load->controller('common/content_bottom');
		$data['footer'] = $this->load->controller('common/footer');
		$data['header'] = $this->load->controller('common/header');

		$this->response->setOutput($this->load->view('information/brushes', $data));
	}
}

 

Fatal error: Class 'Controllerinformationbrushes' not found in D:\VirtualHost\OpenServer\domains\ocStore-2.3.0.2.3\system\storage\modification\system\engine\action.php on line 43

Надіслати
Поділитися на інших сайтах


16 минут назад, kJlukOo сказал:

контроллер не видит скорее всего

советую для начала создать пустой контроллер с тестовой функцией типа 

public function test { exit(); } и вызвать её

смотрите название класса внимательно может там

еще для уверенности можете сделать http://ocstore-2.3.0.2.3/index.php?route=information/brushes/index

то же самое... страница не найдена...

 

Надіслати
Поділитися на інших сайтах


5 минут назад, face2005 сказал:

Fatal error: Class 'Controllerinformationbrushes' not found in D:\VirtualHost\OpenServer\domains\ocStore-2.3.0.2.3\system\storage\modification\system\engine\action.php on line 43

Проверьте названия, не опечатались ли

Надіслати
Поділитися на інших сайтах


18 минут назад, kJlukOo сказал:

советую для начала создать пустой контроллер с тестовой функцией типа 

public function test { exit(); } и вызвать её

<?php
class ControllerInformationBrushes extends Controller {
	public function test { exit(); } 
}

Parse error: syntax error, unexpected '{', expecting '(' in D:\VirtualHost\OpenServer\domains\ocStore-2.3.0.2.3\catalog\controller\information\brushes.php on line 3

Надіслати
Поділитися на інших сайтах


3 минуты назад, face2005 сказал:

<?php
class ControllerInformationBrushes extends Controller {
	public function test { exit(); } 
}

Parse error: syntax error, unexpected '{', expecting '(' in D:\VirtualHost\OpenServer\domains\ocStore-2.3.0.2.3\catalog\controller\information\brushes.php on line 3

....

 

public function test()

{

    exit();

}

 

 

 

Надіслати
Поділитися на інших сайтах


когда делаю как в ранних версиях , то хавается

	<?php
class ControllerInformationBrushes extends Controller {
    private $error = array();

    public function index() {
        $this->load->language('information/information');

        $this->document->setTitle($this->language->get('heading_title'));

        $data['breadcrumbs'] = array();

        $data['breadcrumbs'][] = array(
            'text' => $this->language->get('text_home'),
            'href' => $this->url->link('common/home')
        );

        $data['breadcrumbs'][] = array(
            'text' => $this->language->get('heading_title'),
            'href' => $this->url->link('information/brushes')
        );

        $data['heading_title'] = $this->language->get('heading_title');

        $data['column_left'] = $this->load->controller('common/column_left');
        $data['column_right'] = $this->load->controller('common/column_right');
        $data['content_top'] = $this->load->controller('common/content_top');
        $data['content_bottom'] = $this->load->controller('common/content_bottom');
        $data['footer'] = $this->load->controller('common/footer');
        $data['header'] = $this->load->controller('common/header');

        
            $this->response->setOutput($this->load->view('information/brushes.tpl', $data));
    }  
}

но титл не видит

Змінено користувачем face2005
Надіслати
Поділитися на інших сайтах


потому что функция index и я уверен вы переходите не так..

 

Сделайте пожалуйста мой вариант.. Вы уверены что все правильно изменили и сохранили?

Змінено користувачем n3bo
Надіслати
Поділитися на інших сайтах


6 минут назад, n3bo сказал:

Сделайте пожалуйста мой вариант.. Вы уверены что все правильно изменили и сохранили?

все так как Вы писали  https://gyazo.com/e1799965b46bf48c9baa26a108512050

и ошибка Fatal error: Class 'Controllerinformationbrushes' not found in D:\VirtualHost\OpenServer\domains\ocStore-2.3.0.2.3\system\storage\modification\system\engine\action.php on line 43

Надіслати
Поділитися на інших сайтах


да возьмите вы любой бесплатный дубль мордуль html и воткните туды всё и выводите стандартно

Надіслати
Поділитися на інших сайтах


5 минут назад, AWARO сказал:

да возьмите вы любой бесплатный дубль мордуль html и воткните туды всё и выводите стандартно

пробовал, вырезает некоторые теги, form например... php режет 

Змінено користувачем face2005
Надіслати
Поділитися на інших сайтах


2 минуты назад, face2005 сказал:

пробовал, вырезает некоторые теги, form например... php режет 

я говорю не из админки а скачать тут на форуме, дубль копию, и внего запихать всё это

Надіслати
Поділитися на інших сайтах


17 минут назад, n3bo сказал:

Это что?

блин, фигня какая-то влезла при копировании... пришлось убрать из tpl $heading_title; и $description; но теперь только по этому адресу работает 

http://ocstore-2.3.0.2.3/index.php?route=information/brushes/index

без index страница не найдена

title я так понимаю нужно как-то через скрипт добавить?

 

Змінено користувачем face2005
Надіслати
Поділитися на інших сайтах


По идее можно выдрать с админки и клонировать,

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.