Drupal:如何将内嵌图像包装到其他标记中

gea*_*tal 5 drupal drupal-6 drupal-theming

我需要将图像包装到额外的标记中以进一步进行CSS样式设置.我想有类似的东西:<p><span><img src="path/to/image" alt="alt"/></span></p>.

使用以下模块将图像直接添加到特定节点上:

  1. http://drupal.org/project/insert
  2. http://drupal.org/project/image
  3. http://drupal.org/project/cck - > ImageField

这是我的节点的内容 - [type] .tpl.php:

<div id="article">
    <div id="article-header">
        <h2><?php print $title; ?></h2>
        <?php if ($submitted): ?>
            <p class="created"><?php echo date("d. F Y - H:i", $created).t(' von ').$name; ?></p>
        <?php endif; ?>
    </div>

    <div class="article-body">
        <?php print $content; ?>
    </div>

    <?php if ($links): ?>
        <div class="extra-links">
            <?php print $links; ?>
        </div>
    <?php endif; ?>
</div>

<?php if($node->comment == 0 && isset($node->comment_count) && $node->comment_count < 1): ?>
    <div id="comments">
        <p class="note">Kommentare geschlossen</p>
    </div>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

我想我必须做点什么$content.但我真的不知道.有什么建议?

Sid*_*iya 3

如果您使用插入模块,则可以选择在图像字段中插入的设置中将“其他 CSS 类”添加到图像。

这将添加一个类<img>(但它不会<img>像你想要的那样包裹一个跨度)。使用这个类你可以做你想要的自定义CSS。

这种方法有一些注意事项

  1. 您将需要使用 WYSIWYG 过滤器模块(http://drupal.org/project/wysiwyg_filter)来防止类从 img 标签中剥离(或者您将需要使用完整的 html 格式,这显然不是一个好的选择)判断非管理员是否在网站上输入内容)
  2. 您需要在所见即所得设置中允许标签的类属性。但是,在高级选项下,请确保您允许允许的课程。
  3. 您应该禁用 HTML 过滤器,因为您现在使用的是 WYSIWYG 过滤器

所以你的标签规则看起来像img[!src|title|alt|class]。确保您想要的类(例如 custom-css-class)已列入所见即所得的高级规则部分的白名单

编辑:好的,我现在更好地理解你的要求了。

  1. 对于非内联的图像字段(即在内容区域中),您可以通过将其重命名为 content-field-[FIELD_NAME].tpl.php 来覆盖 content-field.tpl.php 您可以使用您想要的任何标签来包装图像字段文件。请参阅 http://www.advantagelabs.com/drupal-colonoscopy-or-how-theme-cck-field-drupal-6

  2. 对于内联图像,并且您仍然想添加一些包装 HTML,您可以使用 http://drupal.org/project/customfilter 这是一个很棒的模块(使用起来很棘手,但它有效!!)。您可以搜索该标签并在其周围添加任意内容。有关文档,请参阅 http://drupal.org/node/210551