таргет бланк и ноиндекс для социальных закладок

13 июня 2008 в 23:41

Только что доделала модуль серсис линкс. Наконец-то я довольна! В помощь другим новичкам (и чтобы не искать зря по друпал.оргу, тем более что теперь там поиск не работает Sad копирую код отсюда: http://drupal.org/node/153711

Этот код добавляет таргет бланк для ссылок:

<?php
function phptemplate_service_links_build_link($text, $url, $title, $image, $nodelink) {
  global $base_path;

  if ($nodelink) {
    switch (variable_get('service_links_style', 1)) {
      case 1:
        $link = array(
          'title' => $text,
          'href' => $url,
          'attributes' => array('title' => $title, 'rel' => 'nofollow', 'target' => '_blank')
        );
        break;
      case 2:
        $link = array(
          'title' => '<img src="'. $base_path . drupal_get_path('module', 'service_links') .'/'. $image .'" alt="'. $text .'" />',
          'href' => $url,
          'attributes' => array('title' => $title, 'rel' => 'nofollow', 'target' => '_blank'),
          'html' => TRUE
        );
        break;
      case 3:
        $link = array(
          'title' => '<img src="'. $base_path . drupal_get_path('module', 'service_links') .'/'. $image .'" alt="'. $text .'" /> '. $text,
          'href' => $url,
          'attributes' => array('title' => $title, 'rel' => 'nofollow', 'target' => '_blank'),
          'html' => TRUE
        );
        break;
    }
  }
  else {
    switch (variable_get('service_links_style', 1)) {
      case 1:
        $link = '<a href="'. check_url($url) .'" title="'. $title .'" rel="nofollow" target="_blank">'. $text .'</a>';
        break;
      case 2:
        $link = '<a href="'. check_url($url) .'" title="'. $title .'" rel="nofollow" target="_blank"><img src="'. $base_path . drupal_get_path('module', 'service_links') .'/'. $image .'" alt="'. $text .'" /></a>';
        break;
      case 3:
        $link = '<a href="'. check_url($url) .'" title="'. $title .'" rel="nofollow" target="_blank"><img src="'. $base_path . drupal_get_path('module', 'service_links') .'/'. $image .'" alt="'. $text .'" /> '. $text .'</a>';
        break;
    }
  }

  return $link;
}
?>

И еще один небольшой код, к сожалению переопределить функцию в темплейте на удалось, пришлось вставить в код модуля, если вы знаете, как можно переделать это через темплейт.пхп, подскажите пожалуйста.

Идея - http://drupal.org/node/89482

function theme_service_links_node_format($links) {
  return '<div class="service-links"><noindex>'. theme('links', $links) .'</noindex></div>';
}

Это для случая, если сервис линкс выводится в документе. Я убрала отсюда английскую подпись и вставила ноиндекс.

Результаты у меня на сайте Smile

Комментарии

супер.надо будет попробовать,как раз искал.
а почему function theme_service_links_node_format не получилось переопределить? вроде слово theme_ в имени функции имеется.

23 февраля 2009 в 10:34