Радосвет: Комментарии

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

19 января 2016 в 10:21

Добрый день!
Попробовал ваш вариант для решения своей проблемы, не выходит Sad
Вот тут подробно описываю:
http://www.drupal.ru/comment/662041#comment-662041

Подскажете идею, куда смотреть?

17 января 2016 в 5:05

Но тут появилась другая проблема Sad
Это поле профиля есть только у определённого типа профиля ( main), тип профиля соответствует своей роли.
Если на форуме создаёт или комментирует тему пользователь другой роли, то вылазит ошибка:

17 января 2016 в 4:26

Правильный вывод поля такой:

<?php$options = array(
  'type' => 'taxonomy_term_reference_plain',
  'label' => 'hidden',
);
$profile = profile2_load_by_user($node->uid) ; 
$numofholding = field_view_field( 'profile2' , $profile [ 'main' ] , 'field_numofholding', $options ) ;
print render($numofholding);?>

Ну и + темизация поля, как я писал выше.

5 января 2016 в 1:03

В итоге решил темизировать поле через шаблон field--field-name.tpl.php
Жаль, что не разобрался с выводом значения поля так, как было удобно, не переопределяя вид самого поля, а просто тупо вывести значение в любом месте.
Но главное, что получил желаемое.

Если вдруг кому будет интересна эта тема, буду рад более свежим или верным решениям.

Всех с Новым Годом!

23 декабря 2015 в 15:17

Кирилл, спасибо вам за ответы. В любом случае, для развития мне всё это интересно.
Скажу честно, учебник по PHP я весь прочитал лет 8 назад, но без практики программирования даже поверхностное понимание вопроса слабое.
Но при этом на уровне шаблона вроде примерно понятно, как в html разметке работают php вставки.

То что вы пишете, я понимаю, что вывод поля дважды происходит. Но, возможно, меня оно бы устроило, если можно убрать (скрыть) ту строку, где поле выводится в обёртке,

23 декабря 2015 в 6:21

Я заметил такую закономерность.

Вот такой код работает

<?php$options = array(
  'type' => 'taxonomy_term_reference_plain',
  'label' => 'hidden',
);
$profile = profile2_load_by_user($comment->uid) ; 
print render(field_view_field( 'profile2' , $profile [ 'main' ] , 'field_numofholding', $options )) ; 

print $profile['main']->field_numofholding['und'][0]['taxonomy_term']->name;?>

Но выглядит так:

23 декабря 2015 в 0:37

Кирилл, да вроде задачу озвучил, но попробую ещё раз. Smile

1. Есть сайт, на нём пользователи с ролями. Также через модуль Profile2 заполняются поля.
Часть полей заполняет пользователь сам (номер телефона, город и тд), часть полей выбираются из списков (термины таксономии).
Одно из полей - это номер владения (участка/дома), номера выбираются из списка терминов таксономии.

22 декабря 2015 в 23:04

Грохнуть не есть хорошо, комментаторы повторяются же в теме Smile
В вашем примере у меня поле выводится только у первого комментария, где его автор является автором ноды (темы).
Я подозреваю, что проблема тут
$profile = profile2_load_by_user($comment->uid) ;

22 декабря 2015 в 14:43

Вот именно так я и сделал + настроил в options cокрытие label, как убрать обёртку так и не понял.
Переопределить вывод поля - это значит, что оно везде будет без обёртки, а мне нужно только в одном месте в собственной обёртке css, или вообще в виде просто значения. А получается, что это можно сделать таким способом, каким лучше не делать (как привели в пример выше) Sad

22 декабря 2015 в 14:39

Вот я тоже смотрел на эту функцию, но как её использовать совместно с моим рабочим вариантом так и не понял Sad
Просто заменить вот это
<?phpprint render(field_view_field( 'profile2' , $profile [ 'main' ] , 'field_name', $options )) ;?>

22 декабря 2015 в 14:33

Спасибо! Эта статья растиражирована на всех сайтах Lol Её я изучал в первую очередь.
Хотя в итоге мне помог какой-то другой обзор.

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

11 декабря 2015 в 14:24

Попробовал, получилось неплохо. Smile
Жаль, исчезли иконки, а Icon Tabs, даже имея настройку (галочку) с функцией встраивания иконок в контекстные ссылки, не сработал.
Возможно, я как-то не так переопределил, или не тому элементу задал класс.

И что-то модулей на нашёл по украшению контекстуальных ссылок Smile