Drupal 7 开发内部培训资料, 分头诗人

如何改模板给几个block加div

赞成!
0
否决!

现在首页的结构是这样,有好多个block,可是各个block 都各自为政啊,想把

block1 block2 block3

框到一块 把 div id=2> block4 block5 block6 框到一块。是要在主题里面增加region 么。

 

8 个回答

赞成!
0
否决!

赞成!
0
否决!

这个有点不太理解你意思,如果你要把block放在一个区域,就只需要把它设置在同一region就可以

赞成!
0
否决!

谢谢孤魂老兄,我的意思是把同一个区域的block 在经过 <div> 去划分。比如同个区域 有6个block  我想把3个用div 划分到左边,把3个划分到右边,,

 

比如 :图中是main区域里面,的中间部分,上面有个block可以看到一点点的,,下面也有个block 可以图中看到一点点。

中间的 wind , solar marine啊这些都是通过block 建起了的,然后通过float right 把 Best of the web ,广告和Grid放到了右边,我想把左边4行div个框,右边三行div个框。

 

赞成!
0
否决!

你的意思是这样吗:

1
2
3
4
<div class="region">
    <div class="left">block1, block2, block3</div>
    <div class="right">block4, block5</div>
</div>

这里好像是不太好处理,我提供一个不太建议的方法:

block.tpl.php 是可以重写的,假使 有 block1,block2,block3,block4,block5 五个block,我要重写block1就这样命名:

block--block1.tpl.php 

这个应该知道吧?那好了,我现在回到上面代码,block1前面 有代码

1
<div class="left">

block3后面有代码

1
</div>

我们重写block--block1.tpl.php成:

1
2
<div class="left">
<?php print $content; ?>

重写block--block3.tpl.php 成:

1
2
<?php print $content; ?>
</div>

重写block--block4.tpl.php 成:

1
2
<div class="right">
<?php print $content; ?>

重写block--block5.tpl.php 成:

1
2
<?php print $content; ?>
</div>

block2 由于在中间,不重写。

然后按照上图的排列block,你就会发现,前台显示,就会变成了:

1
2
3
4
<div class="region">
    <div class="left">block1, block2, block3</div>
    <div class="right">block4, block5</div>
</div>
赞成!
0
否决!

哇,谢谢诗人,真是如此,好的我现在就试试,

嗯唯有这样了,虽然多出来了很多block.tpl.php

赞成!
0
否决!

麻烦诗人再指点一下,那个命名是block-home_news-block_2.tpl.php 这样么,我用的drupal 6. 到block 排序里面查到那些block的名都是叫home_news-block_xxx这样的。改好放进去后没反应。泪了

赞成!
0
否决!

block的名称 URL上写着,home_news-block_ XXX的是这个吧

赞成!
0
否决!

哇,出现了,再次感谢诗人,多了<div class=mleft> 那个名字原来是要全名用block-views-home_news-block_XXX.tpl.php 搞掂