Нужно чтобы при unflag показывалось сск поле. а при флаге с flag не показывалось какое условие нужно прописать???
курил функцию, но что то не получается...
function flag_create_link($flag_name, $content_id) {
$flag = flag_get_flag($flag_name);
if (!$flag) {
// Flag does not exist.
return;
}
if ($flag->access($content_id, 'flag') || ( $flag->is_flagged($content_id) && $flag->access($content_id, 'unflag') ) )
{
return $flag->theme($flag->is_flagged($content_id) ? 'unflag' : 'flag', $content_id);
}
return;
}
$flag = flag_get_flag($flag_name);
if (!$flag) {
// Flag does not exist.
return;
}
if ($flag->access($content_id, 'flag') || ( $flag->is_flagged($content_id) && $flag->access($content_id, 'unflag') ) )
{
return $flag->theme($flag->is_flagged($content_id) ? 'unflag' : 'flag', $content_id);
}
return;
}
Комментарии
друпал орг выручил
Выручил? Делитесь решением Чтоб не создавалась чука однообразных пустых топиков... Вдруг кому пригодиться...
Что-то вроде:
<?php
...
if ($flag->access($content_id, 'flag') || ( $flag->is_flagged($content_id) && $flag->access($content_id, 'unflag') ) ){
if($flag->name == 'flag_name' && $flag->is_flagged($content_id)){
$node = node_load($content_id);
return content_format('field_name', $node->field_name);
}else{
return $flag->theme($flag->is_flagged($content_id) ? 'unflag' : 'flag', $content_id);
}
}
...
?>
Код не проверял, proof of concept, так сказать.
я так сделал
if ($flag && $flag->is_flagged($node->nid)) {
print $node->field_private_info[0]['view'];
}