drupal7之 entity 取到 node 的用法简记

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;
		}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值