dashan 提交于
在 管理 - 配置 - 图像样式 中创建新样式:max-32-32
要输出一个用户头像,那应该怎么做呢?打开/sites/all/themes/你的主题文件夹/templates/page.tpl.php,在你想添加用户头像的地方输入以下代码:
<?php
global $user;
$account = user_load($user->uid);
if($account->picture!=null){
$picture = $account->picture->uri;}
else{$picture = variable_get('user_picture_default'); }
$userimg_ico = image_style_url('max-32-32',$picture);
?>
<img src="<?php echo $userimg_ico; ?>" />
这个代码是非常典型的用户数据获取代码,大家一定要学一学哦,这里我简单地解说一下:
global $user;意思就是引用全局的用户变量,变量里最关键的一个数据就是用户编号,这个编号是唯一的。
$account = user_load($user->uid);这句的意思就是通过用用户的UID获取的用户数据,里面包含有许多用户资料,例如头像地址、用户名、注册日期等等。
if($account->picture!=null){
$picture = $account->picture->uri;}
else{$picture = variable_get('user_picture_default'); }
这段的意思就是获取用户头像的URI地址(注意,这是URI,不是URL,这种地址一般以public://或者private://开头,这是Drupal内部地址)。另外,这里有一个判断,就是如果获取不到用户上传的头像就使用网站的默认头像。variable_get('user_picture_default')就是用于获取用户的默认头像语句。
最后那句:$userimg_ico = image_style_url('max-32-32',$picture);很显然就是真正获取头像URL的语句,这个函数很简单,image_style_url(图像样式,URI地址),最后$userimg_ico就是用户头像的地址哦。
如果要显示一个头像就这样:<img src="<?php echo $userimg_ico; ?>" />,是不是很简单呀。
- 登录以发表评论
输出字段的代码片段
- 登录以发表评论
dashan 答复于 永久连接输出作者信息和写入日期
<?php print t('Submitted by !username on !datetime', array('!username' => $name, '!datetime' => $date)); ?>
- 登录以发表评论
dashan 答复于 永久连接