Как сделать разные шаблоны для всего сайта и корзины в Virtuemart?

Discussion in 'Изменение шаблона (кастомизация)' started by Unraw, Aug 31, 2010.

  1. Offline

    Unraw Недавно здесь

    Joined:
    Jul 8, 2010
    Messages:
    41
    Likes Received:
    0
    Gender:
    Male
    Всем привет!

    Подскажите как можно установить шаблон для корзины в Virtuemart, отличный от шаблона сайта?

    Т.е. нужно, чтобы при переходе в корзину для оформления заказа подключался другой шаблон.
     
  2.  
  3. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    переписать шаблоны VM

    другого выхода нет
     
  4. Offline

    Unraw Недавно здесь

    Joined:
    Jul 8, 2010
    Messages:
    41
    Likes Received:
    0
    Gender:
    Male
    Т.е. для изменения шаблона нужно править файл virtuemart.php в разделе public_html / components / com_virtuemart ?

    А в этом случае можно сделать так, чтобы страница корзины отличалась от всего магазина VM (т.е. чтобы в корзине не было меню категорий, шапки сайта и т.д.)?
     
  5. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    нет
    component/com_virtuemart/thems/defaul/ тут находится стандартный шаблон VM

    а чтобы отключить меню в корзине тогда надо в создавать файл default.php в каталоге html/com_menu/ шаблона сайта, который внутри себя будет проверять ссылку в адресной строке и если ссылка будет соответсвовать заданным параметрам отключать модуль вывода меню

    более подробно почитай в документации как использовать каталог html в шаблоне сайта
     
  6. DKraev
    Offline

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
    Ну почему же нет...

    Подключать на всех страницах сайта один CSS. А на корзине подключать другой CSS. Соответственно в каждом CSS прописываем свои стили. В первом - для всех страниц сайта. Во втором - для корзины.

    На выходе получаем в корзине другой дизайн. Вмешательство в код виртуя равно нулю...
     
  7. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    я написал другой способ

    но подключение другого CSS тоже можно применить и в моём способе, чтобы было радикальное отличие от общего дизайна
     
  8. DKraev
    Offline

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
    woojin, но твой способ не даст автору топика изменения внешнего вида сайта в целом. Правки которые предлагаешь ты применятся только для Виртуя. Меню, блоки, шапку никак не изменить, правя файлы виртуемарта.
     
  9. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    Unraw likes this.
  10. DKraev
    Offline

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
    Недоходчиво. Потому что я реально понял, что нужно лезть в Виртуй и править его шаблон. И автор топика сейчас так и будет делать, потому что ты его прямой дорогой отправил туда:

    А там вообще делать нефиг, чтобы реализовать то, о чем спрашивает автор. Туда даже лезть не надо, чтобы

    Потому и написал, что твой способ не даст требуемого результата. Сделать это можно только назначая разные CSS.
     
    Unraw likes this.
  11. Offline

    Unraw Недавно здесь

    Joined:
    Jul 8, 2010
    Messages:
    41
    Likes Received:
    0
    Gender:
    Male

    Этот способ интересный, спасибо, осталось реализовать :)


    Основной CSS подключается в index.php в папке public_html / templates / шаблон

    А как к корзине подключить другой CSS? В каком файле это делается?
     
  12. DKraev
    Offline

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male

    Допустим CSS в index.php Вашего шаблона подключается так:

    Код (html):
    1. <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/rhuk_milkyway/css/template.css" type="text/css" />


    Удаляем эту строку, а на её место ставим код:

    Код (PHP):
    1. <?php
    2. $option = JRequest::getVar('option', null);
    3. $page = JRequest::getVar('page', null);
    4. if (($option=="com_virtuemart") && ($page =='shop.cart')){ ?>
    5.          <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/rhuk_milkyway/css/korzina.css" type="text/css" />
    6. <?php } else { ?>
    7.          <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/rhuk_milkyway/css/template.css" type="text/css" />
    8. <?php } ?>


    Тогда в корзине будет подключаться файл korzina.css, а на остальном сайте - template.css
     
  13. Offline

    Unraw Недавно здесь

    Joined:
    Jul 8, 2010
    Messages:
    41
    Likes Received:
    0
    Gender:
    Male
    Это получилось, спасибо!

    Теперь в корзине подключается другой CSS-файл. Но как быть с выводом шапки, меню и модулей? - они все равно выводятся. CSS я так понял отвечает только за стили шрифтов и прочее? Ведь у меня картинка шапки загружается в самом index.php шаблона.
     
  14. DKraev
    Offline

    DKraev <i>(aka gft)</i> => Cпециалист <=

    Joined:
    Aug 16, 2008
    Messages:
    1,627
    Likes Received:
    219
    Gender:
    Male
    CSS - великая сила. Например свойство display:none; скрывает элемент на странице.

    Допустим есть div в котором стоит картинка шапки. Пусть все это выглядит так:
    Код (html):
    1. <div class="head"><img src="картинка шапки" /></div>


    Если в CSS для корзины прописать так
    Код (html):
    1. .head {display:none !important;}


    то div с картинкой шапки отображаться не будет!

    -------------------------------------------------------------------------

    Вариант два:

    В index.php шаблона в нужное место ставим код который я приводил ранее:

    Код (PHP):
    1. <?php
    2. $option = JRequest::getVar('option', null);
    3. $page = JRequest::getVar('page', null);
    4. if (($option=="com_virtuemart") && ($page =='shop.cart')){ ?>
    5.          
    6. <?php } else { ?>
    7.          А сюда подставляем код вывода шапки сайта
    8. <?php } ?>


    Таким образом шапка будет отображаться везде, кроме корзины. По образу и подобию делаем для остальных модулей.
     
  15. Offline

    Unraw Недавно здесь

    Joined:
    Jul 8, 2010
    Messages:
    41
    Likes Received:
    0
    Gender:
    Male
    Отлично, второй вариант попроще для меня!

    Спасибо :)
     
  16. Offline

    Award86 Недавно здесь

    Joined:
    Sep 27, 2010
    Messages:
    14
    Likes Received:
    0
    Gender:
    Male
    а на моём примере можно объяснить?

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

    следуя выше написаному понимаю что нужно сделать копию ЦСС и немного изменив прописать в индекс.пхп
    НО! индекс у меня один для всех страниц походу. или нет?


    Спасибо! уже разобрался и все заработало! в моем случае цсс указан был не в индексе а в другом пхп файле который икдекс подключал
     
    Last edited: Sep 29, 2010

Share This Page

Loading...