Views PHP

论坛: 
Views模块是Drupal最强大的模块,没有一个网站不使用该模块。但单纯利用该模块还是有一定的局限性,有什么模块让Views发挥最强大的威力呢?有!它就是Views PHP,有了它你就能任意摆布输出的内容,添加css?更换DOM?编写HTML?甚至添加javascript?没问题!!

强大的让人发指的灵活性
如果使用过Views,当你输出某些内容时想添加CSS或者编排HTML,你一定会相当苦恼。因为输出都是固定的,内容都是含有固定的HTML包裹,修改不仅复杂难操作(甚至无解),效率相当低!但有了Views PHP之后,所有的输出内容都由PHP来处理,全如我想输出页面标题:<?php echo $data->title; ?>,没错,就这一句!如果想添加一个css呢?这样:<a href="" class="css"><?php echo $data->title; ?></a>,是不是非常熟悉呀?哈哈。妈妈以后再也不用担心排版问题了。

Views PHP模块允许管理员在Views 中添加一个PHP 代码的自定义字段, 通常可以用于计算字段间计算。比如将第一个字段加上第二个字段,或者你需要添加一个block到你的字段中. 再或者你需要判断登陆用户和没有登陆的用户显示不同的信息


PHP字段支持

  1. 区域: header/footer/empty
  2. 字段
  3. 过滤
  4. 排序


图像

这边有两个字段Value Code和Output Code很容易混淆,这里解释一下

Output Code是内容输出才做的渲染

Value Code 是当其它字段调用此字段时的返回值。也就是此字段的值

我这边加一段Title判断的代码

图像

这里还有一个Output Code, 内容渲染输出。 这边我也进行判断给一些加粗的效果

图像

 我的Views 输出结果

图像

输出例句(可以通过devel模块查看相关的对象)

echo '<a  class="img" href="'.$data->field_field_link['0']['raw']['value'].'"><img src="'.file_create_url($data->field_field_image['0']['raw']['uri']).'" alt="" /></a><div class="title">'.$data->node_title.'</div>';

$nodeurl = url('node/'. $data->nid);     

dpm($data)