Jump to content
Sign in to follow this  
Gann

На сколько этот говнокод плох?

Recommended Posts

Привет!

 

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

<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 соответствует реальной категории на сайте. 

 

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

 

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

 

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

Edited by Skunk
[code]

Share this post


Link to post
Share on other sites

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

  • +1 2

Share this post


Link to post
Share on other sites

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

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

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

  • +1 1

Share this post


Link to post
Share on other sites

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

  • +1 1

Share this post


Link to post
Share on other sites
16 минут назад, Otvet сказал:

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

  • +1 2

Share this post


Link to post
Share on other sites
28 минут назад, markimax сказал:

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

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

  • +1 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.