Drupal 7 - 将相同的类添加到内容区域中的所有<img/>标记

时间:2012-10-24 06:01:29

标签: php drupal drupal-7 drupal-theming

我有一个在线投资组合网站,我从静态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应该是完全动态的,所以我确定有办法做到这一点,但我很茫然。

3 个答案:

答案 0 :(得分: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) . ' />';
}

请注意,此课程将添加到整个网站的所有图片中。

希望这有帮助......穆罕默德。

答案 1 :(得分: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;
}

答案 2 :(得分:0)

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