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

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


Recommended Posts

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

 

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

Условия (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;
}

 

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

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 користувачів

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

Important Information

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