[Решено] Как "CCK: Значение поля по умолчанию" взять из content profile?

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

Аватар пользователя petropulos petropulos 20 июля 2011 в 15:58

Столкнулся вот с такой проблемой:
при заполнении определенного поля в ССК (допустим в материале "Объявления") мне нужно поставить туда значение из профиля пользователя( допустим телефон пользователя field_phone). Профили пользователя у меня сделаны с помощью content profile.

С помощью поиска нашел вот такое решение:
<?php
global $user;
profile_load_profile($user);
return array(
0 => array('value' => $user->profile_name),
);
?>

Но оно не работает потому как встроенный профиль отключен.
Помогите пожалуйста.

Комментарии

Аватар пользователя S_F S_F 20 июля 2011 в 19:57

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

Аватар пользователя petropulos petropulos 21 июля 2011 в 9:03

"S_F" wrote:
Вытягивай значения из того что у тебя вместо него..

Вот собственно я и спрашиваю, как? У меня есть, предположим, текстовое поле в content profile - field_phone, как изменить вышеприведенный пример( или сделать другой) чтобы вытащить данное значение(field_phone) и подставить его в текстовое поле другого материала как значение по умолчанию?
в ноде я делал так - $variables = $content_profile->get_variables('profile'); потом $variables['field_phone'][0]['value']
но здесь это дает ошибку...

Аватар пользователя S_F S_F 21 июля 2011 в 16:38

Я что у тебя вместо него?
Я лично вместо стандартного профиля тянуть значения из профайл контент. Там все поля можно задать через cck тогда соответственно все это можно выдернуть во вьюшку.
Утнулся как настроить аргументы в этой самой вьюшке, что бы выводило в зависимости от автора материала. Так как по большому счету профиль становится обычной нодой и как заставить вьюшку именно из этой ноды тянуть значение и выводить на любой другой по автору я еще не разобрался.
Не додела и отложил. Но в ближайшее время планирую вернуться к вопросу.
Как програмно вытягивать не знаю.

Аватар пользователя petropulos petropulos 22 июля 2011 в 15:15

Вобщем после многочисленных поисков на друпал.орг нашел решение:

global $user;
$profile = content_profile_load('profile', $user->uid);
return array(
0 => array('value' => $profile->field_phone[0]['value']),
);

Аватар пользователя iNFerNo iNFerNo 22 июля 2011 в 16:45

а чо его искать тут и так валом на д.ру такого рода кода.

вам же надо в какойто другой скк по дефолту вставлять из какого-то другого сск поля значение разве нет?