Jump to content

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;
}

 

Share this post


Link to post
Share on other sites
8 часов назад, krluch сказал:

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

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

 

знания

Share this post


Link to post
Share on other sites
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 }?>

 

Share this post


Link to post
Share on other sites

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

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

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

 

  • +1 1

Share this post


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

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

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

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

 

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.


  • 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.