Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Разные стили для главной и остальных страниц


kate1987

Recommended Posts

Здравствуйте. Использую опенкарт 1,5,4 ДЛя главной и для остальных страниц сайта у меня поддключаются разные стили для расположения меню. А именно на главной меню опускается на определенное кол-ство символов, на остальных поднимается обратно. Реализовано с помощью такого нехитрого кода

		  <?php


if (isset($this->request->get['route']) && $this->request->get['route'] == 'common/home' || !isset($this->request->get['route'])) { $main=' margin-bottom: 105px; margin-top: 345px;';}
if (isset($this->request->get['route']) && $this->request->get['route'] != 'common/home' || !isset($this->request->get['route'])) { $main='margin-bottom: 105px; margin-top: 0px;';}
?>

<div style="<?php echo $main; ?>" id="menu">
......

Проблема в том что когда пользователь первый раз заходит на сайт 'common/home' не добавляется к урл и меню не опускается. Подскажите пожалуйста как решить данную проблему? Спасибо

post-17380-0-68405100-1364472564_thumb.png

post-17380-0-70154900-1364472767_thumb.png

post-17380-0-29957700-1364472775_thumb.png

Надіслати
Поділитися на інших сайтах


Сама себе помогаю) В контроллер header.php после protected function index() { добавила

$route = empty($this->request->get['route']) ? 'common/home' : $this->request->get['route'];
$css_file = str_replace('/', '_', $route) . '.css';
if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/stylesheet/' . $css_file)) {
	$this->document->addStyle('catalog/view/theme/' . $this->config->get('config_template'). '/stylesheet/' . $css_file);
}

Что делает этот код? В зависимости от урл страницы смотрит создан ли файл стиллей с одноименным названием, допустим вы находитесь на главной common/home Создаем файл стилей common_home.css В нем пишем нужные стили. Если вы хотите новые стили для страницы категорий тогда нужно создать файл стилей product_category.css И т.д.

После применения кода моя проблема исправилась)

Змінено користувачем kate1987
  • +1 1
Надіслати
Поділитися на інших сайтах


  • 5 months later...

Что же Вы себе так жизнь усложняете? Каждый контроллер может вызывать для себя свои стили и свои скрипты. Что никто не обращает на циклы в хедере и не задется вопросом, что за скрипты и что за стили в них циклируют?)) 

Надіслати
Поділитися на інших сайтах

  • 4 months later...

Аналогичная проблема..

В файле template/common/header.tpl код:

<?php
   $request = new Request();
   if ( !isset($request->get['route']) ||  $request->get['route']=='common/home' ) { ?>
        <div class="wraper-top-home">
   <?php }else {?>
        <div class="wraper-top">
<?php } ?>

Почему не срабатывает при включении ЧПУ? 

Подскажите, пли-и-из!!

Надіслати
Поділитися на інших сайтах


ну... потому что условие записано неверно, и возможна генерация ошибка
 

<?php
//$request = new Request(); // подозреваю, что это лишнее 
if ( isset($this->request->get['route']) && $this->request->get['route']!='common/home' ) { ?>
<div class="wraper-top">
<?php }else {?>
<div class="wraper-top-home">
<?php } ?>
Надіслати
Поділитися на інших сайтах

Дело в том, что код из родного дистрибутива, Opencart 1.5.4.1 - при выключенном ЧПУ корректно работает.

Но как только включаю ЧПУ, появляется проблема, где-то что-то связано с url-адресами..

 

chukcha, заменила код предложенным вариантом - вся верстка полезла... Ни главная, ни остальные страницы не отображаются корректно..
Надіслати
Поділитися на інших сайтах


Не верю...

 

в любои случае открывается div. Поэтому верстка полезть не могла.

Показывайте - поеханную верстку.

Проверяйте наличие тегов див с классами

  • +1 1
Надіслати
Поділитися на інших сайтах

chukcha

Респект Вам!! Заработало!!  :eek:  :eek:

Нашла ошибку: во-первых, лишнюю строку прописала:

<?php } ?> 

а во-вторых, не работало, пока не удалила закомментированный фрагмент кода в старой редакции..

Надіслати
Поділитися на інших сайтах


  • 7 months later...

Здравствуйте. Использую опенкарт 1,5,4 ДЛя главной и для остальных страниц сайта у меня поддключаются разные стили для расположения меню. А именно на главной меню опускается на определенное кол-ство символов, на остальных поднимается обратно. Реализовано с помощью такого нехитрого кода

			  <?php


if (isset($this->request->get['route']) && $this->request->get['route'] == 'common/home' || !isset($this->request->get['route'])) { $main=' margin-bottom: 105px; margin-top: 345px;';}
if (isset($this->request->get['route']) && $this->request->get['route'] != 'common/home' || !isset($this->request->get['route'])) { $main='margin-bottom: 105px; margin-top: 0px;';}
?>

<div style="<?php echo $main; ?>" id="menu">
......
Проблема в том что когда пользователь первый раз заходит на сайт 'common/home' не добавляется к урл и меню не опускается. Подскажите пожалуйста как решить данную проблему? Спасибо

 

Такая же проблема. Стили предназначенные только для home_page прописываются на всех страницах. Это происходит после установки модуля ЧПУ. Подскажите плз как это испраить?

Надіслати
Поділитися на інших сайтах


Такая же проблема. Стили предназначенные только для home_page прописываются на всех страницах. Это происходит после установки модуля ЧПУ. Подскажите плз как это испраить?

Только что выяснилось что это происходит если в настройках модуля seopro в "Окончание ЧПУ" установить "/"

Надіслати
Поділитися на інших сайтах


Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.