Перейти к содержанию

Рекомендуемые сообщения

Привет!

 

Оцените, пожалуйста, насколько плох такой код:

<select name="category_id" class="form-control">
<?php
$arrayss = [
    0 => "Все категории",
    "5" => "Категория 1",
    "3" => "Категория 2",
    "14" => "Категория 3",
];
?>
<option value="0">По всем разделам</option>
            
<?php foreach ($arrayss as $key => $value ) { ?>        
            
<?php if ($key == $category_id) { ?>
<option value="<?php echo $key; ?>" selected="selected"><?php echo $value; ?></option>
<?php } else { ?>
<option value="<?php echo $key; ?>"><?php echo $value; ?></option>
<?php } ?>
<?php } ?>

</select>

 

Данный код написал в файл search.tpl... option value соответствует реальной категории на сайте. 

 

Написал это для того, чтобы исключить некоторые категории из выбора для поиска, а также переименовать так, как мне надо. Проверил - всё работает... категории выбираются, ищется по выбранной категории.

 

Интересует такой момент - насколько это всё ужасно? Или более-менее пойдёт?

 

Не хотелось лезть в модели, чтобы исключить из выборок ненужные мне категории..

Изменено пользователем Skunk
[code]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

правильнее делать unset в контроллере

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

офигенскй костыль. тем более, что работает :)

зачем лезть в модель, чтобы исключить что-то из поиска? пусть она все выдаст, а контроллер сортирует, как угодно. 

на нагрузку это повлияет аж никак.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

соглашусь с вышесказанным, лучше ввести настройку для категорий - не включать в поиск чем такой костыль, через пол года забудете о такой опции...

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, Otvet сказал:

правильнее делать unset в контроллере

 

да, думал и так сделать - unset_ом исключить категории  из массива, но мне надо было ещё и переименовать эти категории. Подумал, мол, вдруг это ещё что-то заденет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день, возможно не в тему, но что то похоже. Только осваиваю opencart, установил версию 2.3.0.2.1. Выдает ошибку на только что развёрнутом сайте. Установил версию старее 2.1.0.2.1 - всё нормально.

 

Вопрос: Старая версия уязвима по безопасности, и вообще какие сюрпризы ждут, если поставлю сайт на 2.1.0.2.1?

 

Спасибо, извините, если не в тему.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Супер костыль - так точно не делают.

 

"Если в доме есть грабли - рано или поздно на них наступишь" (законы "жизни" Марка)

 

1. А если измените ID категорий ;) (даже случайно это бывает, по прошествии времени когда забываешь что у тебя "грабли" в коде)

2. В tpl используют языковые переменные а не пишут "кириллицей" 

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
28 минут назад, markimax сказал:

2. В tpl используют языковые переменные а не пишут "кириллицей" 

Протестую. Речь идет о костыле :)

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.