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

Проблема с переменными в footer.tpl


Recommended Posts

Доброго времени суток!

 

Вопрос такой: мне нужно, чтобы категории товаров показывались не до основного содержимого (в header), а после (в footer). Переменной $categories, почему-то, в футере уже не существует, поэтому, её содержимое сохраняю переменной сессии. Правильно ли это?

Другой вопрос: нужно,чтобы элемент, находящийся в футере, показывался на всех страницах, кроме домашней. Для этого, в header пихнул такое:

if (isset($_GET['route'])){
  if($_GET['route']=='common/home') {
    $_SESSION['hello_home_page']='10';
  }
  else {
    $_SESSION['hello_home_page']='8';
  }
}
else {
  $_SESSION['hello_home_page']='10';
}

В footer:

if ($_SESSION['hello_home_page']=='8'){echo '
   <div class="slogan row-fluid">
   <h2>Мой текст</h2>
   </div>
 ';}
Но убирается этот элемент, или появляется должным образом только после перезагрузки страницы. Предположение на кеширование футера сервером. Поделитесь, пожалуйста, советом.
Змінено користувачем AlexFisher
CODE
Надіслати
Поділитися на інших сайтах


Первое - обработку категорий из контроллера header перебросить в footer. В шаблоне то-же самое.

Второе - 

<?php if ($home == $og_url) { ?>
 <?php } else { ?>
 <div class="slogan row-fluid">
   <h2>Мой текст</h2>
   </div>
 <?php } ?>
Надіслати
Поділитися на інших сайтах

Спасибо, что вы красиво сделали моё сообщение.

Насчет первого (обработку категорий из контроллера header перебросить в footer), я вас не понял. В футере $categories уже не существует.

И с if тоже никак, в header проходит, а в футере, выдает, что переменные не существуют (Notice: Undefined variable: og_url и Notice: Undefined variable: home).

Есть мысль, можно после загрузки страницы, делать ajax-запрос на скрипт сервера, который ответит, домашняя это страница, или нет.

А можно еще проще, в хеадере задать выражение, если страница домашняя, то загружать файл стилей. А в этом файле - display:none для нужного элемента. Но, лучше, конечно же, разобраться с переменными. Как вам мысль со стилями?

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


А пробовали в контроллер футера добавить

$this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));
$this->data['home'] = $this->url->link('common/home');

?

 

Со стилями интересный подход. Неоднозначный, скажем так =)

Кстати, вы сами можете "красиво делать свое сообщение". Выделяйте код и ищите иконку "<>" в редакторе ;)

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

Не посчитайте за обиду, про красоту, тему ночью создавал.

Не пробовал. Сегодня буду пробовать. Спасибо вам :-)  большое :lol:  :-)  :-)  ))))

А вы этот код откуда брали? Просто понять, куда копать, или сами, если не секрет, ответьте, пожалуйста.

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


Подскажите, пожалуйста, еще раз. Мне нужно, чтобы регистрация проходила по номеру мобильного телефона (ящик остается). С этим проблем не возникло, но нужно, чтобы после проверки данных, если всё верно, открывалась след. страница с проверкой номера на подлинность (высылалась смс с кодом, и сравнивала введенный в форме код). Если код неверный, высылал новый код, и сообщал об этом, если верный - продолжал регистрацию. Где это лучше всего организовать? И, кстати, вы мне помогли же, может здесь нажать куда надо, чтобы и вам что-нибудь перепало? ;)

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


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

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