Jump to content

как добавить свою tpl страницу


Recommended Posts

скажите пожалуйста как сделать свою tpl страницу и интегрировать её в скрипт?
не нужно писать текст такого типа создай в папке design/html файл tpl!!!
мне нужно что бы эта страница была официально зарегистрирована самой CMS!!!

Link to post
Share on other sites
  • 4 weeks later...

создай в папке design/html файл tpl!!!
создайте в папке www файл class.php
подключите в классе файл tpl
создайте в базе в таблице modules строку с названием класса

наверно так

Link to post
Share on other sites
  • 2 months later...

Я хочу поднять эту тему. 100% свобода дизайна оказалась не совсем стопроцентной, и свои шаблоны очень бы помогли.

Например, я хочу сделать главную страницу абсолютно в другом формате, чем вложенные — другая сетка, блоки. В одной из тем рекомендовали сделать отдельный индекс.штмл. Но ведь тогда не работают меню, новинки на главной, например, прочие динамические штуки. А если я захочу сделать совсем отдельную промо-страницу, которая должна быть совсем не такой, как шаблон статической страницы, как быть?

Я попробовал сделать так, как подсказал Игорь-тв выше, но дело не пошло. Мой шаблон появился в выпадающем списке типа страниц, но я наверное не разобрался, как подключать тпл в классе.

Давайте подробнее разберем вопрос создания шаблонов? Задача — сделать страницу, у которой свой шаблон тпл, чтобы можно было сделать ее главной и редактировать как угодно. Игорь-тв, поможете?


Вот несколько смежных тем:

Статическая страница без меню каталога
http://forum.simplacms.ru/comments.php?DiscussionID=151&page=1#Item_0

Короткий урл статических страниц
http://forum.simplacms.ru/comments.php?DiscussionID=48&page=1#Item_0

Вывод переменной в индекс.тпл
http://forum.simplacms.ru/comments.php?DiscussionID=81&page=1#Item_0

Вывод главной другим файлом
http://forum.simplacms.ru/comments.php?DiscussionID=151&page=1#Item_0

Link to post
Share on other sites

redpointcat, постараюсь помочь, когда из отпуска вернусь. Правда есть подозрение, что скоро выйдет новая версия, где возможно такой функционал будет (вопрос к админу).

Link to post
Share on other sites
  • 2 weeks later...

Попробуйте еще раз по моей инструкции:

1. создай в папке design/default/html файл index2.tpl - скопируйте его из существующего index.tpl, имя шаблона сделайте так - template name: Моя главная - чтобы не запутаться (если у вас шаблон не default, выберете папку своего шаблона);
2. создайте в папке www файл Site2.class.php из оригинального Site.class.php , в строке 212 передайте в шаблон index2.tpl - $this->body = $this->smarty->fetch('index2.tpl'); (скорее всего это можно проще сделать, если знать синтаксис).
3. в phpmyadmin создайте в базе в таблице modules строку с названием класса: class - Site2, name - Моя главная, valuable - 1.
4. Правьте шаблон index2.tpl как вам нужно.

У меня все работает по такому принципу, только я со статическими страницами так колдовал. У вас в админке в шаблонах новый "Моя главная" появился?

Если из класса Site сделать не получится, попробуйте по аналогии сделать Storefront2.class из Storefront.class , может понадобится прописать во втором:
17 class Storefront extends Widget
18 {
19 var $single=true; // - это добавляется, чтобы убрать все элементы оформления от основного вида страницы
20 ...

если после экспериментов не получится - пишите.

Link to post
Share on other sites

Игорь-тв, с возвращением из отпусков!

Попробовал сделать по вашим инструкциям, сначала с Site2, потом с Storefront2 — результат одинаковый, сообщение об ошибке «Cannot redeclare class Storefront» («Fatal error: Cannot redeclare class Storefront in Z:\home\simplatest\www\Storefront2.class.php on line 675», если быть точным).

У вас такая ошибка встречалась?

Link to post
Share on other sites

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

Link to post
Share on other sites

Пока справляюсь статическими страницами и ручным вводом того, что должно было бы выводится динамически. Если объем работы вырастет, тогда действительно, придется и про php думать.

Но если у вас найдется время, чтобы попробовать побороть проблему — будет замечательно. Обидно, что вроде бы все нужное есть, а как это запустить, чтоб работало, неясно.

Link to post
Share on other sites

В файле Site.class.php:

#207 $this->body = $this->smarty->fetch('index.tpl');

тут можно отследить модуль, которые выводится на главной и подключить свой файл, вместо стандартного index.tpl

Link to post
Share on other sites
  • 3 months later...

зачем человеку заморачиваться с классами и копать БД если он этого не умеет? в index.tpl вставить две верстки просто и все.

{if $section->section_id == 'Вставить сюда id раздела, который у вас на главной'}
если это главная, тут верстка для главной страницы.
{else}
Если это любая другая - верстка для других разделов
{/if}

условия можно ставить разные и в разных местах. Это просто один из вариантов решения.

Link to post
Share on other sites
  • 8 months later...
  • 2 years later...

создай в папке design/html файл tpl!!!

создайте в папке www файл class.php

подключите в классе файл tpl

создайте в базе в таблице modules строку с названием класса

 

наверно так

 

Не могу найти ни папки www ни файла site.class.php который вы предлагаете копировать

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...