Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Как подгрузить для статьи свой tpl шаблон?


haderus
 Share

Recommended Posts

Всем привет! 

Столкнулся с такой задачей: создаю статью, для неё использую другой макет (схему) и хочу использовать другой шаблон .tpl, НО

у меня не получается подгрузить статью в новом шаблоне (tpl), а статья подгружается со старым (по-умолчанию information.tpl). 

 

Что я делал и что мне нужно еще сделать? 

1) Я создал в папке controller php файл, в котором указал, что информацию ($data) передавать необходимо в новый tpl файл.

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

2) Создал новый файл my_new_tpl_file.tpl, который находится здесь: \catalog\view\theme\default\template\information\my_new_tpl_file.tpl

3) в папке model я ничего не менял, т.к. обращаюсь к одной таблице данных (к той, где записываются данные всех статей)

4) Создал новую схему (макет), в котором указал путь (information\my_controller_file) на новый контроллер, который лежит у меня в \catalog\controller\information\my_controller_file.php

Что я упустил или что я не так сделал? 
Прошу помощи

Link to comment
Share on other sites


2 часа назад, Djeff78 сказал:

Путь к схеме такой должен быть 

information/my_new_tpl_file

И так тоже пробовал, но ничего не дало.

 

Шаблон всё равно подгружает по умолчанию, а не мой новый взятый. Очистка кэша не помогла. Может я плохо в системе разобрался, как подгружать новые tpl шаблоны для страниц....

Link to comment
Share on other sites


А в самой статье во вкладке Дизайн - выбрали свой новый? если конечно все остальное у вас правильно. И там выше ссылка на модуль - воспользуйтесь им.

Link to comment
Share on other sites


1 час назад, Djeff78 сказал:

А в самой статье во вкладке Дизайн - выбрали свой новый? если конечно все остальное у вас правильно. И там выше ссылка на модуль - воспользуйтесь им.

Да, я создал статью, в графе "дизайн" выбрал тот макет (схему), в которой прописал теперь путь на мой файл шаблон information/my_new_tpl_file

Link to comment
Share on other sites


  • 1 year later...
В 10.09.2018 в 14:22, haderus сказал:

Всем привет! 

Столкнулся с такой задачей: создаю статью, для неё использую другой макет (схему) и хочу использовать другой шаблон .tpl, НО

у меня не получается подгрузить статью в новом шаблоне (tpl), а статья подгружается со старым (по-умолчанию information.tpl). 

 

Что я делал и что мне нужно еще сделать? 

1) Я создал в папке controller php файл, в котором указал, что информацию ($data) передавать необходимо в новый tpl файл.

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

2) Создал новый файл my_new_tpl_file.tpl, который находится здесь: \catalog\view\theme\default\template\information\my_new_tpl_file.tpl

3) в папке model я ничего не менял, т.к. обращаюсь к одной таблице данных (к той, где записываются данные всех статей)

4) Создал новую схему (макет), в котором указал путь (information\my_controller_file) на новый контроллер, который лежит у меня в \catalog\controller\information\my_controller_file.php

Что я упустил или что я не так сделал? 
Прошу помощи

 

Удалось? Пытаюсь не выходит 

Link to comment
Share on other sites


В 10.09.2018 в 17:16, Djeff78 сказал:

А в самой статье во вкладке Дизайн - выбрали свой новый? если конечно все остальное у вас правильно. И там выше ссылка на модуль - воспользуйтесь им.

 

Аналогично. 2 часа просидел..

не видит он схему.. где упустили.. ?

Снимок экрана 2020-02-27 в 14.47.37.png

Снимок экрана 2020-02-27 в 14.47.41.png

Снимок экрана 2020-02-27 в 14.49.06.png

Снимок экрана 2020-02-27 в 14.49.23.png

Edited by igorfelix
Link to comment
Share on other sites


  • 2 years later...

Вот так, в контроллер information

	if ($information_info['information_id'] == 14) 

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


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

 

 

где 14 это id вашей статьи.

 

informationvid это название нового .tpl или .twig шаблона, эта схема работает ни на 2 и на 3 версии.
 

Схему назначать менять не надо, то есть, схемы работают как обычно. В шаблоне делаете как вам надо.

 

Link to comment
Share on other sites


А лучше сделать нормально, в админке в статье добавить поле, куда вводите название шаблона статьи. Далее в контроллере каталога проверяете есть ли такой файл шаблона, выводите его. Если поле в админке не заполнено - выводите дефолтный шаблон для статьи. Посмотреть как это реализовано можно в бесплатном модуле NewsBlog

  • +1 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.