4

静的 HTML から Drupal 7 に移行したオンライン ポートフォリオ サイトを持っています - Drupal を学ぼうとしています。画像ギャラリーのある 3 つのページがあります。class="reflect" を持つ画像に反射を追加する JavaScript (.js) ファイルがあります。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 に答える