Когда пользователь нажимает на заголовок тизера, я хочу открыть новое окно браузера - PullRequest
1 голос
/ 20 декабря 2011

Я знаю, что если я добавлю target="_blank" к тегу <a>, это приведет к открытию нового окна при нажатии на ссылку.
Но как мне добавить это к тегу <a> Drupal?
Это заголовок тизера, а не якорь, который я создал в блоке или у которого есть возможность прямого редактирования.
Спасибо всем.

Ответы [ 3 ]

3 голосов
/ 20 декабря 2011

Вы можете добавить target="_blank", используя jquery, чтобы избежать использования несоответствующего тега.

$(document).ready( function() {
    $('a.teaser-title-class').attr({
        target: "_blank", 
        title: "Opens in a new window"
    });
});

Измените заголовок тизера на свой класс заголовка тизера. Вы можете найти, какой класс он использует «проверять элемент» в Chrome или Firefox. Если тизер-класс недоступен, вы можете использовать селектор другими способами, например: $('#teaser a')

2 голосов
/ 20 декабря 2011

Как говорит Мариус, вы можете использовать файл шаблона узла, но это связано с несовместимой разметкой. Если вы используете JS, то способ Drupal использует поведение. Также вы не должны предполагать, что $ - это jQuery в D7. Вот пример:

(function ($) {
  Drupal.behaviors.titleTargetModify = {
    attach: function(context) {
      $('h2 a:not(.titletarget-processed)', context)
      .addClass('titletarget-processed')
      .attr('target', '_blank');
    }
  };
}(jQuery));

Подробнее

1 голос
/ 20 декабря 2011

это можно изменить в вашем файле темы (обычно это node.tpl.php), и вы просто добавляете туда целевой атрибут.имейте в виду, что целевой атрибут не соответствует xhtml, и вы должны использовать javascript для добавления целевого атрибута

...