Drupal 设置链接目标=\外部链接模块为空

Drupal 设置链接目标=\外部链接模块为空,drupal,Drupal,Drupal中是否有任何模块可以为中的所有外部站点设置target=“\u blank”这里有一个模块可以用javascript实现这一点 我编写了一个类似的模块,它的功能与Drupal输入过滤器相同。它没有在任何地方发布,但如果有任何原因说明javascript不适合您,我很乐意与您分享。不确定是否有Drupal模块,但使用jquery可以轻松完成: $("a[href^='http:']").attr('target', '_blank'); 使用模板覆盖格式设置。e、 g.field--

Drupal中是否有任何模块可以为中的所有外部站点设置target=“\u blank”这里有一个模块可以用javascript实现这一点


我编写了一个类似的模块,它的功能与Drupal输入过滤器相同。它没有在任何地方发布,但如果有任何原因说明javascript不适合您,我很乐意与您分享。

不确定是否有Drupal模块,但使用jquery可以轻松完成:

$("a[href^='http:']").attr('target', '_blank');

使用模板覆盖格式设置。e、 g.field--field-external-link--article.tpl.php表示文章类型和field-field-external-link

请参见$link\u渲染

<div class="<?php print $classes; ?>"<?php print $attributes; ?>>
  <?php if (!$label_hidden): ?>
    <div class="field-label"<?php print $title_attributes; ?>><?php print $label ?>:&nbsp;</div>
  <?php endif; ?>
  <div class="field-items"<?php print $content_attributes; ?>>
  <?php foreach ($items as $delta => $item): ?>
    <?php
     // Add target="_blank"
     $link_rendered =  preg_replace('/^<a/i', '<a target="_blank"', render($item));
    ?>
   <div class="field-item <?php print $delta % 2 ? 'odd' : 'even'; ?>"<?php print $item_attributes[$delta]; ?>><?php print $link_rendered; ?></div>
   <?php endforeach; ?>
 </div>


这还应该真正过滤掉来自站点运行所在域的w/href链接(即,指向站点的完全限定绝对链接)。页面中不应该有绝对链接,这个jquery片段也可以告诉我们这种用法。是的,页面中不应该有完全限定的w/链接。问题是所见即所得通常会在你不知情的情况下插入它们。马特,你真是太好了。这就行了。谢谢
<div class="<?php print $classes; ?>"<?php print $attributes; ?>>
  <?php if (!$label_hidden): ?>
    <div class="field-label"<?php print $title_attributes; ?>><?php print $label ?>:&nbsp;</div>
  <?php endif; ?>
  <div class="field-items"<?php print $content_attributes; ?>>
  <?php foreach ($items as $delta => $item): ?>
    <?php
     // Add target="_blank"
     $link_rendered =  preg_replace('/^<a/i', '<a target="_blank"', render($item));
    ?>
   <div class="field-item <?php print $delta % 2 ? 'odd' : 'even'; ?>"<?php print $item_attributes[$delta]; ?>><?php print $link_rendered; ?></div>
   <?php endforeach; ?>
 </div>