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

Не срабатывает условие для категории


Recommended Posts

Здравствуйте, написала для категории с id 91 условие, но оно не срабатывает, подскажите, пожалуйста, что может быть не так?

 

<?php if ($category_id == 91) { ?>
текст
        <?php } ?>

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


 у вас из контроллера category_id разве передается в category.tpl ?

Простая проверка id категории ничего не даст

Надо из контроллера ее включить в массив $data

И тогда только можно использовать.

Типа

$data['cat_id_to_tpl'] =  $category_id;

и уже 

$cat_id_to_tpl использовать в шаблоне вывода

Для начала просто выведя номер категории через

<?php echo $cat_id_to_tpl; ?>

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


Во-первых, принято всю логику прописывать в контроллере, а вывод делать в tpl

То, что вы делаете, создавая логику category.tpl может работать, но считается сделанным не по стандарту. Но если речь идет об одной правке, то ничего страшного не случится.

Только не забывайте создавать резервные копии файлов до правки.

Что касается самого кода. Если осторожно и в пошаговом режиме, то примерно так

То в контроллере category.php есть в районе 140 строки такой код, который заполняет массив $data для передачи данных в category.tpl

То, что выделено зеленым добавлено, чтобы передать в этом массиве id текущей категории. Чтобы не было путаницы имя переменной сделано понятным для восприятия и чтобы ничего не зацепить, в случае ошибки.

Спойлер

            $data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
            $data['compare'] = $this->url->link('product/compare');

            $url = '';

            if (isset($this->request->get['filter'])) {
                $url .= '&filter=' . $this->request->get['filter'];
            }

            if (isset($this->request->get['sort'])) {
                $url .= '&sort=' . $this->request->get['sort'];
            }

            if (isset($this->request->get['order'])) {
                $url .= '&order=' . $this->request->get['order'];
            }

            if (isset($this->request->get['limit'])) {
                $url .= '&limit=' . $this->request->get['limit'];
            }
//id категории для передачи в tpl
            $data['cat_id_to_tpl'] =  $category_id;
//

            $data['categories'] = array();

 

Теперь, в нужном месте в файле category.tpl

Можно вставить такой учебный код

Спойлер

 <!-- вставка id категории -->
      <h1>Test</h1>
      <?php echo $cat_id_to_tpl; ?>
      <?php if ($cat_id_to_tpl == 91) {?>
            <?php echo "Категория совпала"; ?>
            <h3>Ура!!!!!!</h3>
      <?php } ?>

<!-- вставка id категории -->

Тут сначала тестовое сообщение, чтобы выводилось без всяких условий. (так мы убедимся, что правки сработали)

Потом вывод id категории

Потом условие совпадения, в котором вывод сообщения с помощью php и html

Сохранить файлы. Обновить модификаторы. Перезагрузить страницу ( Ctrl+F5).

Проверить появление кода.

Удалить ненужное. Заменить  сообщение на желаемый код. 

 

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

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

Important Information

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