global $language;
//EntityFieldQuery, https://drupal.org/node/1343708
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
->propertyCondition('status', 1)//所有node自己表里的字段用这个关联
->propertyCondition('language', $language->language)
->propertyOrderBy('title')
->fieldCondition('field_banner_path_link', 'value', $url, '=');//所有扩展字段的用这个关联
$result = $query->execute();
$html = '';
if (isset($result['node'])) {
$banner_ids = array_keys($result['node']);
$banners = entity_load('node', $banner_ids);
$images = array();
$i = 0;
foreach($banners as $banner){
$banner_wrapper = entity_metadata_wrapper('node', $banner);//由entity module提供
$fields = $banner_wrapper->getPropertyInfo();//这个方法可以得到entity的所有属性
$image = $banner_wrapper->field_banner->value();//得到某属性(这里是field_banner)的值
$body = $banner_wrapper->body->value();
$nid = $banner_wrapper->nid->value();
$images[$nid]['img'] = '<img src="'.file_create_url($image['uri']).'" />';//file_create_url函数可以建立一个src
$images[$nid]['txt'] = $body;
}
drupal7之 entity 取到 node 的用法简记
最新推荐文章于 2018-07-24 16:07:00 发布