Столкнулся вот с такой проблемой:
при заполнении определенного поля в ССК (допустим в материале "Объявления") мне нужно поставить туда значение из профиля пользователя( допустим телефон пользователя field_phone). Профили пользователя у меня сделаны с помощью content profile.
С помощью поиска нашел вот такое решение:
<?php
global $user;
profile_load_profile($user);
return array(
0 => array('value' => $user->profile_name),
);
?>
Но оно не работает потому как встроенный профиль отключен.
Помогите пожалуйста.
Комментарии
дык, если он отключен, то наверное логично предположить что из него тянуть и не будет...
Вытягивай значения из того что у тебя вместо него..
Вот собственно я и спрашиваю, как? У меня есть, предположим, текстовое поле в content profile - field_phone, как изменить вышеприведенный пример( или сделать другой) чтобы вытащить данное значение(field_phone) и подставить его в текстовое поле другого материала как значение по умолчанию?
в ноде я делал так - $variables = $content_profile->get_variables('profile'); потом $variables['field_phone'][0]['value']
но здесь это дает ошибку...
Я что у тебя вместо него?
Я лично вместо стандартного профиля тянуть значения из профайл контент. Там все поля можно задать через cck тогда соответственно все это можно выдернуть во вьюшку.
Утнулся как настроить аргументы в этой самой вьюшке, что бы выводило в зависимости от автора материала. Так как по большому счету профиль становится обычной нодой и как заставить вьюшку именно из этой ноды тянуть значение и выводить на любой другой по автору я еще не разобрался.
Не додела и отложил. Но в ближайшее время планирую вернуться к вопросу.
Как програмно вытягивать не знаю.
Вобщем после многочисленных поисков на друпал.орг нашел решение:
global $user;
$profile = content_profile_load('profile', $user->uid);
return array(
0 => array('value' => $profile->field_phone[0]['value']),
);
а чо его искать тут и так валом на д.ру такого рода кода.
вам же надо в какойто другой скк по дефолту вставлять из какого-то другого сск поля значение разве нет?