Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Как использовать switch в product_list?


 Поделиться

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

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

 

В списке товаров в админке есть задача выводить кастомные поля под названием товара. Как вывести не проблема, но надо  менять значения в определенных условиях.

Условия (if elseif) глупо будет использовать, решил что наиболее подходят кейсы (switch case) внутри функции для данной задачи, но тут я столкнулся с отсутствием знаний (а я новичек).

Как упростить такой вариант?

switch ($product['entry 1']){
	case "Пункт 1":
		echo "one";
		break;
	case "Пункт 1.1":
		echo "one.one";
		break;
	default:
		echo "num";
		break;
}
switch ($product['entry 2']){
	case "Пункт 2":
		echo "two";
		break;
	case "Пункт 2.1":
		echo "two.one";
		break;
	default:
		echo "num";
		break;
}

 

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

8 часов назад, krluch сказал:

(if elseif) глупо будет использовать,

о! а чем это вам if else не угодил? )))

 

знания

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

4 минуты назад, anboza сказал:

а чем это вам if else не угодил

слишком он громоздким получается, а кейсы уже не подходят для этой задачи. Как можно упростить if else?

        <!-- Поле 1-->
        <?php if ($product['entry_1'] == "Коля") {?>
          <span class="book"><?php echo $product['entry_1'];?></span>
          <?php } elseif ($product['entry_1'] == "Стас") {?>
          <span class="velosiped"><?php echo $product['entry_1'];?></span>
          <?php } elseif ($product['entry_1'] == "Лена") {?>
          <span class="kamen"><?php echo $product['entry_1'];?></span>
          <?php} elseif ($product['entry_1'] == "Фома") {?>
          <span class="armeniya"><?php echo $product['entry_1'];?></span>
          <?php } elseif ($product['entry_1'] == "Олег") {?>
          <span class="buldog"><?php echo $product['entry_1'];?></span>
          <?php } elseif ($product['entry_1'] == "Саша") {?>
          <span class="kirpich"><?php echo $product['entry_1'];?></span>
          <?php } else {?>
          <span class="default"><?php echo $product['entry_1'];?></span>
        <?php }?>
    
        <!-- Поле 2 -->
        <?php if ($product['entry_2'] == "Коля") {?>
          <span class="book"><?php echo $product['entry_2'];?></span>
          <?php } elseif ($product['entry_2'] == "Стас") {?>
          <span class="velosiped"><?php echo $product['entry_2'];?></span>
          <?php } elseif ($product['entry_2'] == "Лена") {?>
          <span class="kamen"><?php echo $product['entry_2'];?></span>
          <?php} elseif ($product['entry_2'] == "Фома") {?>
          <span class="armeniya"><?php echo $product['entry_2'];?></span>
          <?php } elseif ($product['entry_2'] == "Олег") {?>
          <span class="buldog"><?php echo $product['entry_2'];?></span>
          <?php } elseif ($product['entry_2'] == "Саша") {?>
          <span class="kirpich"><?php echo $product['entry_2'];?></span>
          <?php } else {?>
          <span class="default"><?php echo $product['entry_2'];?></span>
        <?php }?>

 

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

Ну тут можно было бы сделать выборку из  массива

$arr=array(имя=>класс...)

 <span class="<?=$arr[$product['entry_2']]?>"><?=$product['entry_2'];?></span>

 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

48 минут назад, esculapra сказал:

Ну тут можно было бы сделать выборку из  массива

Да, спасибо, в другом месте подсказали тоже таким способом. Уже попробовал, работает

<?
$class = ['Коля'=>"book",'Стас'=>"velosiped",'Лена'=>"kamen",...];
?>
<span class="<?=$calass[$product['entry_1']];?>"><?=$product['entry_1'];?></span>
...

 

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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