panji 提交于
Views Templates
制作Views Templates(Views 模板),用来定制内容的输出。Views有很好的模板支持机制,在你没有为特定的View创建模板时,View将调用主题默认的模板,但是当你为View 创建的特定的模板时,这个View将使用你创建的模板来生成View的内容。
Headline Template
<div class="headline-summary">
<div class="imageframe"><?php print $fields['field_image_fid']->content; ?></div>
<h2>Headline</h2>
<h3><?php print $fields['title']->content; ?></h3>
<div class="teaser">
<?php print $fields['teaser']->content; ?>
</div>
</div>
将上面的这一段代码复制到名为views-view-fields--Headline--block.tpl.php
的文件中,再将这个文件复制到你的主题文件夹里。这个文件会被Views模块自动调用并分配到Headline View的输出过程中。
Features Template
<div class="featured-summary">
<div class="imageframe"><?php print $fields['field_image_fid']->content; ?></div>
<h4><?php print $fields['title']->content; ?></h4>
<div class="teaser">
<?php print $fields['teaser']->content; ?>
</div>
</div>
将上面的这一段代码复制到名为views-view-fields--Features--block.tpl.php
的模板文件中,再将此文件复制到主题文件夹,现在你已经有了完全由你控制输出的Headline和Features区块。
- 登录以发表评论
views实现 flexslider和carousel的banner幻灯片
利用foreach 来实现覆写views的tpl文件来快速实现取得所需的标题、图片等字段
(注意,在后台的views预览里有数据,不然不能覆写)
1、先建一个views的区块,然后 机读名字取名为bannerhome,这样我就可以去覆写这个文件了。这个名字放在sites/all/themes/yourthemetemplates/views下,名叫 views-view--bannerhome--default.tpl.php
2、删除 views-view--bannerhome--default.tpl.php 里面的所有代码,粘贴下面的代码进去:
<?php
foreach($view->result as $v){
?>
<li>
<a class="img" href="<?php echo $v->field_field_link['0']['raw']['value']?>">
<img src="<?php echo file_create_url($v->field_field_image['0']['raw']['uri']);?>" alt="" />
</a>
<div class="title"><?php echo $v->node_title?></div>
</li>
<?php
}
?>
清除缓存看看效果如何。
我们以flexslider插件为例:里面的代码为:
<div class="bannerhome homeflexslider">
<ul class="slides">
<?php
foreach($view->result as $v){
//echo '<li><a class="img" href="'.$v->field_field_link['0']['raw']['value'].'"><img src="'.file_create_url($v->field_field_image['0']['raw']['uri']).'" alt="" /></a><div class="title">'.$v->node_title.'</li>';
?>
<li>
<a class="img" href="<?php echo $v->field_field_link['0']['raw']['value']?>">
<img src="<?php echo file_create_url($v->field_field_image['0']['raw']['uri']);?>" alt="" />
</a>
<div class="title"><?php echo $v->node_title?></div>
</li>
<?php
}
?>
</ul>
</div>
这样就大功告成了。
注意,上面代码的html部分是按照flexslider这个插件的要求写的。
里面的php部分,就是我们需要的部分,用这些取到的字段,你套到别的jquery插件也可以的。
- 登录以发表评论
dashan 答复于 永久连接