Подмена значения поля при выводе.

Аватар пользователя nikolasun

Есть поле список выбора с двумя вариантами выбора:
1|Я - представитель компании
2|Я - работаю на себя
Как вместо значения поля вывести текст?
Например, если пользователь выбрал я - представитель компании, вывести просто: Представитель компании

Пробовал так, не работает


<?php
if ($user_profile['field_user_works']['und'][0]['value']=='Я - представитель компании'){
  print (
'представитель компании');
}
if (
$user_profile['field_user_works']['und'][0]['value']=='Я - работаю на себя'){
  print (
'работаю на себя');
}
?>
?>
Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя gun_dose
gun_dose 1 неделя назад

У вас же значения будут 1 и 2.

Аватар пользователя sas@drupal.org
sas@drupal.org 6 дней назад

При выборе из списка возвращается значение value из элемента option посмотрите через F12 что у Вас в элементе?

Аватар пользователя nikolasun
nikolasun 6 дней назад

option value == 1 и 2 соответственно. Но почему-то

<?php
if ($user_profile['field_user_works']['und'][0]['value']=='1'){
  print (
'представитель компании');
}
if (
$user_profile['field_user_works']['und'][0]['value']=='2'){
  print (
'работаю на себя');
}
?>

и так работать не хочет

Аватар пользователя Orion76
Orion76 6 дней назад

На самом деле, если Вы более-менее постоянно занимаетесь разработкой программного кода, Вам просто надо организовать соответствующий инструментарий отладки кода.
Обычно это какая-либо IDE (PHPStorm, Netbeabs и т.п.) и отладчик (например xdebug)
Отладчик позволяет остановить выполнение кода в нужной строчке (точка останова, breakpoint)
И просмотреть-проанализировать значения доступных переменных.

Ну или как минимум добавить перед Вашим кодом

<?php
print_r
($user_profile['field_user_works']);
?>

он выведет значение элемента массива $user_profile['field_user_works'], и Вы сразу поймете, почему Ваши условия ниже не срабатывают.

Аватар пользователя nikolasun
nikolasun 6 дней назад

Спасибо, попробую почитать немного об отладчиках. А то, как на зло, уже вторая задача, которую никак не решить. Вроде ответ на поверхности, но не там то было...