források:
http://www.treehouseagency.com/learn/view-modes/extra-fields
http://api.drupal.org/api/drupal/modules!field!field.api.php/function/hook_field_extra_fields/7
'visible' => FALSE,
),
'mezo 2' => array(
'label' => t('Author'),
'visible' => FALSE,
),
),
);
if ($type->has_title) {
$extra[$entity_type][$type->type]['display']['title'] = array(
'label' => t('Extra field: !title', array('!title' => $type->title_label)),
'weight' => -4,
'visible' => FALSE,
);
}
}
return $extra;
}
Extra field létrehozás:
/**
* Implements hook_field_extra_fields().
*/
function extra_fields_field_extra_fields() {
* Implements hook_field_extra_fields().
*/
function extra_fields_field_extra_fields() {
$entity_type = 'node'; // 'node'; taxonomy_term, commerce_product, etc.
$bundle = $type->type; // 'article', 'news', etc. - ha csak egy típusra kell akkor nem is kell a foreach és lehet statikus.
$bundle = $type->type; // 'article', 'news', etc. - ha csak egy típusra kell akkor nem is kell a foreach és lehet statikus.
$extra[$entity_type][$bundle] = array( // akár lehet dirkt 'node' is.
'description' => t('valami'),
'weight' => -5,'visible' => FALSE,
),
'mezo 2' => array(
'label' => t('Author'),
'description' => t('valami'),
'weight' => -3,'visible' => FALSE,
),
),
);
if ($type->has_title) {
$extra[$entity_type][$type->type]['display']['title'] = array(
'label' => t('Extra field: !title', array('!title' => $type->title_label)),
'weight' => -4,
'visible' => FALSE,
);
}
}
return $extra;
}
Tartalom belepakolás:
/**
* Implements hook_node_view().
* Implements hook_node_view().
* itt jön be, hogy miért hívtam $entity_type-nak. Mert azt a hook_<$entity_type>_view() kell implementálni.
* pl.. hook_taxonomy_term_view, atc.
*/
function extra_fields_node_view($node, $view_mode, $langcode) {
// érdemes filterezni $view_mode-ra, ha nem akarjuk mindegyiok displayünkön használni.
*/
function extra_fields_node_view($node, $view_mode, $langcode) {
// érdemes filterezni $view_mode-ra, ha nem akarjuk mindegyiok displayünkön használni.
$node->content['mezo_1'] = array(
// only return this in a non-full page situation
if (!in_array($view_mode, array('default', 'full'))) {
$node->content['title'] = array(
'#markup' => '' ,
'#markup' => '' ,
'#view_mode' => $view_mode,
'#theme' => 'extra_fields_title', );// only return this in a non-full page situation
if (!in_array($view_mode, array('default', 'full'))) {
$node->content['title'] = array(
'#markup' => '
'#view_mode' => $view_mode,
'#theme' => 'extra_fields_title',
);
}
$node->content['mezo 2'] = array(
'#theme' => 'extra_fields_author',
'#node' => $node,
'#view_mode' => $view_mode,
);
}
);
}
$node->content['mezo 2'] = array(
'#theme' => 'extra_fields_author',
'#node' => $node,
'#view_mode' => $view_mode,
);
}
Sminkelés:
function theme_extra_fields_title($variables) {
$node = $variables['node'];
$view_mode = $variables['view_mode']; // itt is lehet view módonként eltérő html-t köré tenni
$output = '
$output .= date('F j, Y', $node->created);
$output .= '
';$node = $variables['node'];
$view_mode = $variables['view_mode']; // itt is lehet view módonként eltérő html-t köré tenni
$output = '
'
;$output .= date('F j, Y', $node->created);
$output .= '
return $output;
}