Работа с полями и терминами таксономии

Главные вкладки

Аватар пользователя DimitriiDEAD DimitriiDEAD 25 февраля 2016 в 6:34

Всем доброго времени суток, у меня очень важный вопрос по коду. Вот весь работающий исходник:
if ($entity->field_kurs[LANGUAGE_NONE][0]['value']==1) $entity_field[0]['value'] = 1.1;
if ($entity->field_kurs[LANGUAGE_NONE][0]['value']==2) $entity_field[0]['value'] = 1.2;
if ($entity->field_kurs[LANGUAGE_NONE][0]['value']==3) $entity_field[0]['value'] = 1.3;
if ($entity->field_kurs[LANGUAGE_NONE][0]['value']==4) $entity_field[0]['value'] = 1.4;
if ($entity->field_kurs[LANGUAGE_NONE][0]['value']==5) $entity_field[0]['value'] = 1.5;
Думаю,объяснять здесь много не нужно, есть студенты,в зависимости от их курса им присваивается соответствующий коэффициент для начисление рейтинговой стипендии.
Но есть ещё магистранты и аспиранты и на них нужно сделать отдельное условие, они определяются уже терминами словаря таксономии,своими tid 55 и 129
Вот одно из условий на них:
if ((($taxonomy_term->tid == 55)or($taxonomy_term->tid == 129)) and ($entity->field_kurs[LANGUAGE_NONE][0]['value']==1)) $entity_field[0]['value'] = 1.4;
Оно не работает,хотя по логике всё правильно вроде,обращения вроде по смыслу правильно написаны,может в синтаксисе что.
И небольшой подвопрос,у меня к исходнику написано в Display code: $display_output = $entity_field_item['value'];
Так как ещё добавились условия, нужно прописать foreach ($node->taxonomy as $taxonomy_term); или это в computer code вернуть или ещё что-то прописать необходимо?
Ругается так как будто этих переменных нет или что: Warning: Invalid argument supplied for foreach() в функции eval() (строка 2 в файле /var/www/nir/sites/all/modules/computed_field/computed_field.module(344) : eval()'d code)
Я недавно начал работать с кодом только,подскажите пожалуйста

Комментарии

Аватар пользователя gveenblade gveenblade 25 февраля 2016 в 15:04

может вопрос странный, но все же - почему бы не использовать Rules ? где в зависимости от событий и от условий (студент - магистр) можно изменить материал?

Аватар пользователя DimitriiDEAD DimitriiDEAD 26 февраля 2016 в 11:29

Система устроена так что все пользователи ,только что зарегистрированные и тд,чтобы каждого не добавлять,просто как авторизированные идут и всё подстроено под него,есть админы и тд. Я сомневаюсь что в данном случае можно пользоваться rules или я что-то не понимаю, приведите пример , пожайлуста, или объясните ,пожалуйста, поподробнее что вы имеете ввиду,спасибо заранее

Аватар пользователя gveenblade gveenblade 26 февраля 2016 в 12:50

получается у вас есть сущность - студент. у этой сущности есть поля - курс, степень, коэффициент. в Rules добавляете правило: Событие - человек залогинился. Условие - степень=студент. Действие - изменить данные->поле Коэффициент=2.
Ну это навскидку, как я вижу ситуацию. просто зачастую все проблемы решаются настройкой модулей, без кодинга.

Аватар пользователя DimitriiDEAD DimitriiDEAD 29 февраля 2016 в 6:53

Спасибо большое,попробую реализовать,если что напишу) единственный вопрос термин словаря можно же будет использовать как то чтобы проверить кто пользователь - бакалавриат и тд и тп?)