Помощь Шаблон статической страницы

Тема в разделе "DLE", создана пользователем punkz, 24 мар 2013.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. punkz

    punkz Постоялец

    Регистр.:
    4 июл 2006
    Сообщения:
    66
    Симпатии:
    21
    Мне надо изменить дизайн отдельно от основного шаблона на статических страницах, поиском нашёл эту тему https://www.nulled.cc/threads/234587/ изменил как там написано. всё получилось, но теперь не выводится контент статических страниц, вместо него просто выходит
    HTML:
    {description}
    {static}
    Что нужно сделать чтобы заработало?

    Спасибо!
     
  2. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.199
    Симпатии:
    2.223
    В Вашем распоряжении документация по DLE. В CMS DataLife Engine существует класс работы с шаблонами. Для того, чтобы менять что-то на сайте в зависимости от рабочего компонента, достаточно использовать тег [aviable]
    Код:
    [aviable=static]этот текст будет только на статических страницах[/aviable]
    [not-aviable=static]этот текст будет везде, кроме статических страницах[/not-aviable]
    Соответственно, используйте как Вам нужно :)

    Что касается вывода тега напрямую на страницу - такого быть не может. Они автоматом обрабатываются движком в шаблоне static.tpl

    P.s. не забываем использовать bbcode в сообщениях на форуме.
     
  3. punkz

    punkz Постоялец

    Регистр.:
    4 июл 2006
    Сообщения:
    66
    Симпатии:
    21
    Нет здесь немного не то, тег [aviable] выводит только какую-то нужную информацию в определённом месте, а мне надо при открытии статической страницы чтобы менялся вообще весь дизайн в отличии от основного шаблона что заложен в main.tpl, вот таким методом как в теме выше я привёл я это сделал

    ищем в index.php

    PHP:
    $tpl->load_template('main.tpl');
    меняем на

    PHP:
    if ($do=="static")
    $tpl->load_template('main_for_static.tpl');
    else
    $tpl->load_template('main.tpl');
    Вот это сделал, всё отлично, дизайн стал грузится как мне надо, отдельно от main.tpl НО!
    Теперь на статической странице не обрабатываются теги

    HTML:
    {description}
    {static}
    В чём может быть причина?
     
  4. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.199
    Симпатии:
    2.223
    Что мешает main.tpl сделать вот таким:
    HTML:
    [aviable=static]{include file="main_static.tpl"}[/aviable]
    [not-aviable=static]{include file="main_all.tpl"}[/not-aviable]
    Ну или просто в main.tpl запихнуть 2 шаблона и обрамить их тегами...

    Вот чего Вас всех так в PHP тянет, когда речь о шаблоне?

    main_for_static.tpl покажите...
     
  5. punkz

    punkz Постоялец

    Регистр.:
    4 июл 2006
    Сообщения:
    66
    Симпатии:
    21
    Изменил как Вы сказали, но теги так и выводятся
    HTML:
    {description}
    {static}
    содержимое main_static.tpl

    HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
    <head>
    {headers}
    <link rel="shortcut icon" href="{THEME}/images/favicon.ico" />
    <link media="screen" href="{THEME}/style/styles.css" type="text/css" rel="stylesheet" />
    <link media="screen" href="{THEME}/style/fonts.css" type="text/css" rel="stylesheet" />
    <link media="screen" href="{THEME}/style/engine.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="{THEME}/js/libs.js"></script>
    </head>
    <body>
    {AJAX}
        <div class="wrapper">
            <div class="page">
                <div class="header">
                    <a href="/" class="logo"><span>-----</span>------</a>
                    <div class="contacts">
                        <span class="phone"><span>8-495-</span>123-45-67</span>
                        <a href="#" class="mail">info@-----.ru</a>
                    </div>
                </div><!-- end header -->
                <div class="inner-text">
                    <h1 class="content-title-h1">{description}</h1>
                    <div class="content-text">
                        {static}
                    </div>
                </div><!-- end inner-text -->
                <div class="catalog">
                    <ul>
                        <li><a href="#"><img src="{THEME}/images/conditioners.jpg" width="145" height="94" alt="" /><span>Центральные кондиционеры</span></a></li>
                        <li><a href="#"><img src="{THEME}/images/aggregates.jpg" width="146" height="94" alt="" /><span>Компрессорно-конденсаторный агрегаты</span></a></li>
                        <li><a href="#"><img src="{THEME}/images/balki.jpg" width="92" height="111" alt="" /><span>Индукционные охлаждающие балки</span></a></li>
                        <li><a href="#"><img src="{THEME}/images/fancoils.jpg" width="151" height="104" alt="" /><span>Фанкойлы</span></a></li>
                        <li><a href="#"><img src="{THEME}/images/chillers.jpg" width="106" height="111" alt="" /><span>Чиллеры</span></a></li>
                    </ul>
                </div><!-- end catalog -->
            </div><!-- end page -->
            <div class="footer">
                <ul class="footer-menu">
                    <li><a href="/">Главная</a></li>
                    <li><a href="#">Каталог</a></li>
                    <li><a href="#">Контакты</a></li>
                    <li><a href="#">О компании</a></li>
                </ul>
                <div class="copy">
                    <p>ООО “----” </p>
                    <p>-----</p>
                </div>
            </div><!-- end footer -->
        </div><!-- end wrapper -->
    </body>
    </html>
     
  6. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.199
    Симпатии:
    2.223
    Хе-хе, а с чего бы у Вас в main_static.tpl должны обрабатываться {description} и {static} - это теги шаблона static.tpl и только его... А main_static.tpl у Вас заменяет main.tpl, а значит и теги должен содержать от main.tpl...

    Вам в main_static.tpl надо вставлять {content}, на место которого будет подставляться static.tpl, а уже в нём только будут обрабатываться {description} и {static}...
     
  7. punkz

    punkz Постоялец

    Регистр.:
    4 июл 2006
    Сообщения:
    66
    Симпатии:
    21
    main_static.tpl у меня не заменяет main.tpl, для main.tpl у меня есть main_all.tpl (это чтобы не путаться как сверху написали)
    мне получается в main_static.tpl надо опять же иклудить файл static.tpl? если так, то не то это получается.
    хорошо бы просто переопределить чтобы static.tpl получал свой дизайн
     
  8. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.199
    Симпатии:
    2.223
    И так... Давайте разбираться с самого начала...

    Добавив код:
    PHP:
    if ($do=="static")
    $tpl->load_template('main_for_static.tpl');
    else
    $tpl->load_template('main.tpl');
    Вы поставили условие: либо грузим main.tpl, либо как альтернатива ему main_for_static.tpl. Таким образом, Вы только поменяли название шаблона Main.tpl, но это не значит, что в нём будут обрабатываться другие теги, чем в main.tpl.

    Теги {description} и {static} обрабатываются ТОЛЬКО в шаблоне static.tpl, это значит что в main_for_static.tpl они НИКОГДА обрабатываться не будут.

    Вам надо main_for_static.tpl делить на static.tpl и сам main_for_static.tpl и выводить в main_for_static.tpl содержимое static.tpl с помощью тега {content}.

    Варинат второй - простой... Это то, что я советовал с самого начала - тег [aviable], точнее - [not-aviable=static].

    Дизайн, который вы хотите видеть на статических страницах записываете в static.tpl (кроме шапки), в main.tpl (опять же кроме шапки) всё обрамляете тегами [not-aviable=static] и [not-aviable], оставляя за их границами только шапку и {content}.

    Короче, почитайте документацию в каких шаблонах какие теги можно использовать... Нельзя в 1 шаблоне одновременно использовать {header} и {static}, т.к. первый выводиться только в main.tpl, а второй - только в static.tpl...

    Если так и не поняли - стучите в аську... Тема превращается в набор постов - я пишу одно и тоже...
     
Статус темы:
Закрыта.