【问题标题】:How to remove imagecache classes in a view in Drupal如何在 Drupal 的视图中删除图像缓存类
【发布时间】:2012-01-04 11:08:21
【问题描述】:

我正在尝试减小视图的大小。它们将图像显示为图库并将它们嵌套在图像缓存类中。我已经设法删除了大部分不需要的代码,但有两个部分仍然存在问题。这是代码(在这种情况下,视图的一部分,一行中只有一张图片):

<tr>
<td>
<div class="">

<div class="views-field-field-FIELDNAME">
<span class="field-content"><div class="">
<a href="/address"><img width="XYZ" height="XYZ" class="imagecache imagecache-XYZ imagecache-default imagecache-XYZ_default" title="TITLE TEXT" alt="ALT TEXT" src="XYZ.jpg"></a></div></span>
</div>

<div class="views-field-field-FIELDNAME">
<span class="field-content">
<div class="">
<a href="/address">TITLE</a></div></span>
</div>
</div>
</td>
</tr>

我要删除的是那个部分

<div class="">

因为它是空的和不必要的。

我需要删除的第二个是“类”类:

class="imagecache imagecache-XYZ imagecache-default imagecache-XYZ_default"

它们太多了,我不需要。如果不可能,那么我想只保留一个而不是四个。

我想它应该在 content-field-...tpl.php 中解决,但我没有看到任何可以删除以删除这些部分的代码。

【问题讨论】:

    标签: drupal drupal-6 drupal-views drupal-theming


    【解决方案1】:

    删除图像缓存类:

    您可以在 sites/all/modules/imagecache/imagecache.module 中找到 theme_imagecache_formatter_default() 函数。

    您可以覆盖它,定义自己的函数,省略“$class”定义。

    thread on Drupal.org about overriding theme_iamgecache_formatter_default 可能会有所帮助。

    至于具有空类的 div:您是否使用任何视图模板覆盖?我没有得到那个空的

     <div class="">
    

    我的网站上的代码,这让我想知道您是否正在修改或覆盖任何视图模板。如果是这样,您可以尝试回滚这些更改以查看空类 div 是否消失。

    【讨论】:

    • @KristiWatcher 谢谢你的回答!为了用“一个类”覆盖部分,我搜索了函数“function THEME_imagecache_formatter_PRESETNAME_linked”并删除了第 696 行($class= “imagecache ...)。覆盖的函数转到 template.php 关于 div 类,我为该视图使用覆盖模板但它与该部分中的默认模板相同(我只在图像下添加了一些文本)。我什至没有任何额外的 div 类,所以我真的很困惑。
    猜你喜欢
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 2013-01-14
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    相关资源
    最近更新 更多