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

#1 8 апреля 2016 в 19:08
Здравтсвуйте. Нужно реализоватьпростенькое условие:
Если пользователь из группы 1,2,3 — выводится блок.
2-ка
Заранее спасибо.
#2 8 апреля 2016 в 20:00
  1. if (in_array($user['group_id'], array(1, 2, 3))) {
  2. echo "блок";
  3. }
#3 8 апреля 2016 в 20:08
  1. if (cmsUser::isUserInGroups($user['group_id'], array(1, 2, 3))){
  2. echo 'выводится блок';
  3. }
#4 8 апреля 2016 в 20:17
laughраз пользователь не указан для текущего можно так:
  1. if (cmsUser::isInGroups( array(1, 2, 3) )){
  2. echo 'блок';
  3. }
#5 8 апреля 2016 в 20:27

раз пользователь не указан для текущего можно так:

Val
Релиз 2.5
Уже нужно так.
  1. public function isInGroups($groups){
  2. ****
  3. }
#6 11 октября 2024 в 17:38

А подскажите пожалуйста, как прописать условие, это на странице материалов в файле defaul_item.tpl.php: 

Есть список с системным названием z15, и если «1» то «Вариант1» если «2» то «Вариант2», в другом случае «Вариант3»

#7 12 октября 2024 в 10:41

Есть список с системным названием z15, и если «1» то «Вариант1» если «2» то «Вариант2», в другом случае «Вариант3»

Grey4ik
  1. <?php
  2. if ($item['z15'] == 1) {
  3. echo 'Вариант 1';
  4. } else if ($item['z15'] == 2){
  5. echo 'Вариант 2';
  6. } else if ($item['z15'] == 3){
  7. echo 'Вариант 3';
  8. }
  9. ?>
#8 12 октября 2024 в 13:52

Еще как вариант)

  1. <?php
  2. switch ($item['z15']) {
  3. case 1:
  4. $var = 'Вариант 1'; // загоняем в переменную и выводим уже переменной в нужном месте
  5. break;
  6. case 2:
  7. $var = 'Вариант 2'; // если нужно вывести вариант сразу в этом коде то пишем "echo 'Вариант 2';"
  8. break;
  9. case 3:
  10. $var = 'Вариант 3';
  11. break;
  12. }
  13.  
  14. echo $var;
  15. ?>
#9 12 октября 2024 в 15:36

Как я понял,  Grey4ik нужно чтобы третий вариант выводился для остальных кроме и 1, 2, но не факт, что для 3)

  1. <?php
  2. if ($item['z15'] == 1) {
  3. echo 'Вариант 1';
  4. } else if ($item['z15'] == 2){
  5. echo 'Вариант 2';
  6. } else {
  7. echo 'Вариант 3';
  8. }
  9. ?>

или

  1. <?php
  2. switch ($item['z15']) {
  3. case 1:
  4. $var = 'Вариант 1'; // загоняем в переменную и выводим уже переменной в нужном месте
  5. break;
  6. case 2:
  7. $var = 'Вариант 2'; // если нужно вывести вариант сразу в этом коде то пишем "echo 'Вариант 2';"
  8. break;
  9. default:
  10. $var = 'Вариант 3';
  11. break;
  12. }
  13.  
  14. echo $var;
  15. ?>
#10 12 октября 2024 в 16:41

Еще как вариант)

  1. <?php
  2. switch ($item['z15']) {
  3. case 1:
  4. $var = 'Вариант 1'; // загоняем в переменную и выводим уже переменной в нужном месте
  5. break;
  6. case 2:
  7. $var = 'Вариант 2'; // если нужно вывести вариант сразу в этом коде то пишем "echo 'Вариант 2';"
  8. break;
  9. case 3:
  10. $var = 'Вариант 3';
  11. break;
  12. }
  13.  
  14. echo $var;
  15. ?>
AtlantisWeb


Этот вариант вообще отлично подходит, единственно вопрос еще в таком, стараюсь перечислить поля с идентичными списками правильно или нет? И правильно ли я пишу переменную?:

  1. <?php switch ($item['z18' or 'z28' or 'z38' or 'z48']) {
  2. case 1:
  3. $var = 'C';
  4. break;
  5. case 2:
  6. $var = 'P';
  7. break;
  8. case 3:
  9. $var = 'Pt';
  10. break;
  11. case 4:
  12. $var = 'Lp';
  13. break;
  14. case 5:
  15. $var = 'Gp';
  16. break;
  17. case 6:
  18. $var = 'R';
  19. break;
  20. case 7:
  21. $var = 'A';
  22. break;
  23. case 8:
  24. $var = 'Cd';
  25. break;
  26. case 9:
  27. $var = 'Pl';
  28. break;
  29. case 10:
  30. $var = 'F';
  31. break;
  32. case 11:
  33. $var = 'ar';
  34. break;
  35. case 12:
  36. $var = 'r';
  37. break;
  38. case 13:
  39. $var = 'H';
  40. break;
  41. case 14:
  42. $var = 'Am';
  43. break;
  44. case 15:
  45. $var = 'res';
  46. break;
  47. case 16:
  48. $var = 'pin';
  49. break;
  50. case 17:
  51. $var = 'I';
  52. break;
  53. case 18:
  54. $var = 'Rp';
  55. break;
  56. case 19:
  57. $var = 'Dc';
  58. break;
  59. default:
  60. $var = 'N';
  61. break;
  62. }
  63.  
  64. echo $var;
  65. ?>
  66.  
  67. <?php $var['z18']; ?>
  68. <?php $var['z28']; ?>
  69. <?php $var['z38']; ?>
  70. <?php $var['z48']; ?>
  71.  
#11 14 октября 2024 в 12:14

Если нужно вывести несколько вариантов от разных полей, но при этом список значений переменной для всего один и тот же, а ключи обычные порядковые цифры,  можно упростить вот таким образом:

  1. <?php
  2. $var = ['C', 'P', 'Pt', 'Lp', 'Gp']; // по аналогии можно продолжить добавлять значения в массив
  3. array_unshift($var , ''); // сдвигаем значения массива т.к. ключи начинаются с "0"
  4.  
  5. $item['z18'] = 1; // каким то удобным образом получаем значение переменной $item['z18']
  6. $item['z28'] = 5; // каким то удобным образом получаем значение переменной $item['z28']
  7. $item['z38'] = 3; // каким то удобным образом получаем значение переменной $item['z38']
  8. $item['z48'] = 4; // каким то удобным образом получаем значение переменной $item['z48']
  9.  
  10. ?>
  11.  
  12. <?php echo @$var[$item['z18']]; ?> //выводим этим кодом полученное значение
  13. <?php echo @$var[$item['z28']]; ?> //выводим этим кодом полученное значение
  14. <?php echo @$var[$item['z38']]; ?> //выводим этим кодом полученное значение
  15. <?php echo @$var[$item['z48']]; ?> //выводим этим кодом полученное значение
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.