Drupal hoe de content cck velden laden zonder een node load te moeten doen
Hoe alleen de content velden van een node laden zonder een volledige node load te moeten doen.
Soms in scripts will je informatie ophalen gestockeerd in de cck fields maar je wil geen volledige node loads doen. Je wil ook niet de cck tabel rechtstreeks queriën omdat wanneer de setting van veld van 1 naar multiple veranderd dan veranderd de locatie van dat veld.
Bijvoorbeeld een veld in de content_type_team genoemd field_team_name_value zal na multiple zetten zich bevinden in conten_field_team_name.
<?php
//Dus dit is fout
$content = db_fecth_object(db_query("SELECT * FROM content_type_team" WHERE nid = %d, 1));
$team_name = $content->field_team_name;
//dit zal niets meer tonen wanneer het veld naar multiple gezet worden
?>
De content (cck) api heeft een functie om alle velden van het content type op te halen in maar 1 aanroep.: content_storage($op, $node);
<?php
//Dit is juist
$node = stdClass();
$node->nid = 1;
$node->vid = db_result(db_query("SELECT vid FROM {node} WHERE nid = %d",1));
$node->type = 'team';
$content = content_storage('load', $node);
$team_name = $content['field_team_name'][0]['value'];
?>
Reactie toevoegen