4

我有一个在线投资组合网站,我从静态 HTML 转移到 Drupal 7 - 试图学习 Drupal。我有 3 个具有图片库的单独页面。我有一个 javascript (.js) 文件,可以将反射添加到任何带有 class="reflect" 的图像上。在 HTML 中,这很容易做到,很明显,它在我的静态站点中工作得很好。我想继续使用它,但我一生都无法弄清楚如何将所需的类添加到我的图像中。

期望的结果:

<img src="image.jpg" class="reflect" />
<img src="image2.jpg" class="reflect" />
<img src="image3.jpg" class="reflect" />

等等...

解决其他发现的建议: 我所有的图像目前根本不带类。我确实找到了一些建议的解决方法,但它们不太适合我的需要,因为我需要为所有存在的标签添加相同的类,同时忽略其他任何地方,例如页眉和页脚。另外,虽然我知道一点 PHP,但我并不擅长它。Drupal 应该是完全动态的,所以我确信有办法做到这一点,但我不知所措。

4

3 回答 3

4

您可以实现theme_image () 来做到这一点,在您的template.php文件中只需键入以下内容:

function [YOUR_THEME]_image($variables)
{
    $attributes = $variables['attributes'];
    $attributes['src'] = file_create_url($variables['path']);

    $attributes['class'][] = 'reflect'; // add the class name here

    foreach (array('width', 'height', 'alt', 'title') as $key) {

        if (isset($variables[$key])) {
            $attributes[$key] = $variables[$key];
        }
    }

    return '<img' . drupal_attributes($attributes) . ' />';
}

请注意,该课程将添加到整个站点的所有图像中。

希望这会有所帮助……穆罕默德。

于 2012-10-24T07:21:54.490 回答
0

您可以将图像放在 div 中,并通过它为所有图像分配一个类,如下所示:

<div class="imgDiv">
    <img src="image.jpg" alt="" />
    <img src="image2.jpg" alt="" />
    <img src="image3.jpg" alt="" />
</div>

并定义你的班级:

.imgDiv img {
    border: 2px solid #f00;
}
于 2012-10-24T06:19:19.113 回答
0

是的,您可以用 id 包装 div 并在 css 文件中为 img 标签添加 css。您也可以使用 jquery。

于 2012-10-24T06:35:37.927 回答