Weitere ähnliche Inhalte Mehr von ADCI Solutions (15) Entity. Anton Shubkin and Yaroslav Ponomarev3. hook_entity_info()
function node_entity_info() {
'bundle keys' => array(
$return = array(
'bundle' => 'type',
'node' => array(
),
'label' => t('Node'),
'bundles' => array(),
'controller class' => 'NodeController',
//...
'base table' => 'node',
),
'revision table' => 'node_revision',
);
'fieldable' => TRUE,
// …
'entity keys' => array(
foreach (node_type_get_names() as $type => $name) {
'id' => 'nid',
$return['node']['bundles'][$type] = array(
'revision' => 'vid',
// ...
'bundle' => 'type',
);
'label' => 'title',
}
'language' => 'language',
),
return $return;
}
10. Почему не ноды?
● Не нужны некоторые
свойства
● Нужны
дополнительные
свойства
● не нужен некоторый
функционал / хуки
● нужен свой
функционал
● Не нужны
комментарии
● Не нужны ревизии
● Не нужна система
доступов
(node_access())
● нужна своя система
доступов
● не нужна страница
/node/[nid]
16. entity_metadata_wrapper()
$node = node_load(1);
$wrapper = entity_metadata_wrapper('node', $node);
$wrapper->title->value();
$wrapper->author->name->value();
$wrapper->field_multiple->value();
foreach ($wrapper->field_multiple as $delta =>
$field_wrapper) {
$field_wrapper->value();
}
$wrapper->field_price->value();
$wrapper->field_price->amount_decimal->value()
$wrapper->title->set('another title');
$wrapper->body->value->set('Lorem Ipsum');