2010-06-24 5 views
1

Я пытаюсь использовать крючок CCK theme_fieldgroup_fieldset ($ elements) для преобразования набора полей в макет двух столбцов.Тема CCK fieldset

Я думал, что это не должно быть сложно, потому что отдельные поля находятся в переменной $ elements, поэтому все, что мне нужно сделать, это перебрать их и распечатать их по отдельности. проблема в том, что я не могу сказать, были ли они исключены из отображения на вкладке «Отображать поля» типа содержимого.

У кого-нибудь есть идеи для меня? Я пытаюсь сделать это с трудом или что мне не хватает?

+0

Что-то подсказывает, исключены ли они из представления, оно не будет доступно для темы. – Kevin

+0

Это то, на что я тоже надеялся, но когда я начал работать с элементами, которые мне были доступны для функции theme_fieldgroup_fielset(), я был очень разочарован, узнав, что они доступны, и нет нигде, где бы я ни был могут использовать, чтобы определить, исключены ли они или нет. Ознакомьтесь с http://drupal.org/node/807330. – Icode4food

ответ

0

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

function _brioratheme_include_cck($field) { 
    $query = "SELECT display_settings AS ds FROM {content_node_field_instance} WHERE field_name = '%s' LIMIT 1"; 
    $result = db_query($query, $field); 
    if ($result) { 
$row = db_fetch_object($result); 
$display_settings = unserialize($row->ds); 
return !$display_settings['full']['exclude']; 
    } 
}