Drupal:如何将内嵌图像换成额外的标记

问题描述:

我需要将图像换成额外的标记以获得更多的CSS样式。我想有这样的事情:<p><span><img src="path/to/image" alt="alt"/></span></p>Drupal:如何将内嵌图像换成额外的标记

图像是使用以下模块特定节点上直接加入:

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

这里是我的节点 - [内容类型] .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; ?> 

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

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

这将为<img>添加一个类(但它不会像你想要的那样围绕<img>范围)。使用这个类,你可以做你想要的自定义CSS。

这种做法有一些注意事项

  1. 您将需要使用所见即所得过滤器模块(http://drupal.org/project/wysiwyg_filter),以防止从img标签被剥离出来的类(或你需要使用完整的HTML格式如果非管理员在网站上输入内容显然不是一个好主意)
  2. 您需要在WYSIWYG设置中允许标记的class属性。但是,在高级选项下,请确保允许允许的类。 [!|标题| ALT |类SRC]
  3. 因为您现在正在使用所见即所得的过滤器

所以你的标签规则看起来像 IMG你应该禁用HTML过滤器。确保你想要的课程,例如custom-css-class在所见即所得的高级规则部分列入白名单

编辑:好的,我现在更了解您的需求。

  1. 对于不属于内联imagefields (即在内容方面),你可以通过 重命名它覆盖内容field.tpl.php 到 内容现场[FIELD_NAME] .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为 文档

+0

谢谢你的回答,但是这不是我需要做的。我可以简单地使用我的css文件中的'#article img {}'选择我的图像,并对它做一些稳定的css样式。但我需要额外的标记来解决我的布局问题。你应该知道我需要使用多个CSS背景图像。 Css 3和Javascript(jQuery)不是一个选项。 – gearsdigital 2010-09-17 17:08:31

+0

您可以覆盖imagefields的content-field.tpl.php并使用自定义过滤器(请参阅上面编辑的答案) – 2010-09-17 17:29:59

+0

NoParrots,自定义过滤器模块是一个很好的建议,但是为我而烦恼:)我找到了其他方法。 http://drupal.org/project/wysiwyg_imageupload默认添加了自定义HTML。我改变了我的担忧模块,现在它运作良好。非常感谢:) – gearsdigital 2010-09-18 07:34:17