Вход • Регистрация

Два шаблона на одном сайте.

  • 07 апреля 2015 г.
  • Добрый день, хотелось бы попросить совета, у опытных товарищей. Появилась задачка поставить на одном сайте два шаблона, одни адаптивный, второй статический. Сами шаблоны это не проблема, хотелось бы узнать, как можно это реализовать. К примеру, вывести кнопку с переключением шаблона. Подскажите куда смотреть, что почитать?
    • 07 апреля 2015 г. , редакция: 07 апреля 2015 г.
    • ДУмаю можно как-то так:

      HTML
      Код
      <div class="view">
      <div class="view_1 vview view_active" rel="view_1">Шаблон 1</div>
      <div class="view_2 vview" rel="view_2">Шаблон 2</div>
      </div>


      JS
      Код

      $(document).ready(function() {

      /*Настройки куки*/
      var cookieName_t = 'type_veiew';
      var cookieOptions = {expires: 7, path: '/'};

      /*Создаем куку*/
      $(".vview").click(function(){
      rel = $(this).attr("rel");
      $(".vview").removeClass("view_active");
      $(this).addClass("view_active");
      $.cookie(cookieName_t, rel, cookieOptions);
      location.reload(); /*Перезагружаем страницу*/
      });

      })


      Далее идем в файл includes/parse_theme.php, там нужна функция show_theme строка 50

      Код

      //Считываем куку созданную в JS

      my_type = htmlspecialchars($_COOKIE["type_veiew"])

      if(my_type == "view_2") {
      $this->diafan->theme = 'site_adapt.php';
      } else {
      $this->diafan->theme = 'site.php';
      }



      НЕ ТЕСТИРОВАЛ!!
    • 07 апреля 2015 г.
    • сюда смотреть:
      http://demo.cms.diafan.ru/admin/custom/

      добавить тему.
      соответственно у вас будет две темы, с шаблонами.


      возможно вы не правильно задачу поставили, и менять нужно не для всего сайта шаблон, а для конкретной страницы, тогда сюда:
      дополнительно -> дизайн страницы.
      • 08 апреля 2015 г.
      • там же написано:
        Цитата
        К примеру, вывести кнопку с переключением шаблона.


        Видимо товарищ тему разрабатывает и демку готовит
        • 08 апреля 2015 г.
        • Заказчик поставил задачу, что бы было два дизайна, один резиновый второй статичный.
          Спасибо за ответы, буду разбираться :)
          • 10 апреля 2015 г.
          • Получилось?
            • 15 мая 2015 г.
            • Я еще плохо разбираюсь. В файле site_start.php добавил
              Код
              <div class="view">
              <div class="view_1 vview view_active" rel="view_1">Шаблон 1</div>
              <div class="view_2 vview" rel="view_2">Шаблон 2</div>
              </div>
              и
              Код
              <script>
              $(document).ready(function() {

              /*Настройки куки*/
              var cookieName_t = 'type_veiew';
              var cookieOptions = {expires: 7, path: '/'};

              /*Создаем куку*/
              $(".vview").click(function(){
              rel = $(this).attr("rel");
              $(".vview").removeClass("view_active");
              $(this).addClass("view_active");
              $.cookie(cookieName_t, rel, cookieOptions);
              location.reload(); /*Перезагружаем страницу*/
              });

              })
              </script>

              в includes/parse_theme.php в функцию show_theme добавил
              Код
              $my_type = htmlspecialchars($_COOKIE["type_veiew"]) ;

              if($my_type == "view_2") {
              $this->diafan->theme = 'site_adapt.php';
              } else {
              $this->diafan->theme = 'site.php';
              }
              на главной странице появились Шаблон 1 и Шаблон 2, не активные, видимо они должны быть в виде ссылок, только не понятно на что ссылаться. А по поводу "в контроллер надо передавать название шаблона
              там проверяется $this->result["theme"]" как это сделать я еще не пока не научился. Буду благодарен за любую подсказку.
  • 22 мая 2015 г.
  • Коллеги, мне интересно Ваше мнение, в site_start.php добавил
    Код
    <?php
    $th=0;
    switch ($th) {
    case 0:
    echo '<insert name="show_css" files="default.css, style.css">';
    break;
    case 1:
    echo '<insert name="show_css" files="default.css, style2.css,">';
    break;
    default:
    echo '<insert name="show_css" files="default.css, style.css">';
    }
    ?>


    Возможно вообще бред, но пока все работает, может кто подскажет минусы или какие проблемы возникнут при интеграции двух шаблонов таким способом.
    • 22 мая 2015 г.
    • я бы css пережал сразу и указывал прямые пути, потому как неизвестно как будет работать кеширование в данном случае.
  • 25 мая 2015 г.
  • Ребят, а как присвоить разный файл стилей к определённым страницам?
    • 25 мая 2015 г.
    • Проверить $this->diafan->_site->id
      • 27 мая 2015 г.
      • А можно поподробнее, пожалуйста :)
        • 27 мая 2015 г.
        • Подробней - это надо программку на РНР писать :)
          $this->diafan->_site->id содержит id текущей страницы, делаете свой шаблонный тег (его будете вставлять в месте вставки стилей) и уже по требуемому ид страницы грузите тот или иной стиль. Через атрибуты своего тега можете еще и поуправлять процессом...
  • 28 мая 2015 г.
  • Цитата
    есть отличный механизм кастомизации )

    Есть, но он не работает с themes/functions
    Потому, любое обновление затрет все изменения
    • 28 мая 2015 г.
    • а вы положите туда, куда положено исходя из кастомизации, и не затрет
      • 29 мая 2015 г.
      • Да без проблем. Скажите на примере конкретного файла themes/functions/show_css.php
        Куда его положить, чтобы не затерлось обновлением?

Новости

  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 
  • 15 декабря 2023 г.
  • Подводим итоги 2023 года. Выпустили новую сборку DIAFAN.CMS 7.1.1, вводим новые тарифы на аренду сайта и коммерческую поддержку и автообновления с января 2024 г., строим планы на будущий год.
  • 25 июля 2023 г.
  • Выпустили очередную сборку DIAFAN.CMS 7.0.1. Она уже доступна к установке.

Блоги

  • 15.12.2023
  • В новой сборке DIAFAN.CMS 7.1.1 мы расширили функциональность баннеров, уделили внимание YML-фиду для Яндекс.Маркет, улучшили “Настройки шаблона”, оформили модуль лога действий и разработали “Заметки” для пользователей административной части сайта. Также проработали замечания и предложения наших пользователей, исправили несколько ошибок.

Форум