Темизация ссылки, модуля link

Главные вкладки

Аватар пользователя v.kopitsa v.kopitsa 6 января 2012 в 13:10

Добрый день!

Хочу чтобы ссылки выводилися примерно так:

сайт.ком/go.php?url=http://сайт.ку

Использую модуль http://drupal.org/project/link

И немного поправив воттак:

<?php
function theme_link_formatter_link_default($vars) {
  
$link_options $vars['element'];
  unset(
$link_options['element']['title']);
  unset(
$link_options['element']['url']);

  

// Issue #1199806 by ss81: Fixes fatal error when the link URl is equal to page URL
  
if (isset($link_options['attributes']['class'])) {
    
$link_options['attributes']['class'] = array($link_options['attributes']['class']);
  }
  
  
// Display a normal link if both title and URL are available.
  
if (!empty($vars['element']['title']) && !empty($vars['element']['url'])) {
    return 
l($vars['element']['title'], 'go.php', array('query' => array('url' => $vars['element']['url']), 'attributes' => array('target' => '_blank'), 'html' => TRUE));
  }
  
// If only a title, display the title.
  
elseif (!empty($vars['element']['title'])) {
    return 
check_plain($vars['element']['title']);
  }
  elseif (!empty(
$vars['element']['url'])) {
    return 
l($vars['element']['title'], $vars['element']['url'], $link_options);
  }
}
?>

Все работает принципе, только ссылка отображается вот так, но работает:

сайт.ком/go.php?url=http%3A//сайт.ку

Как можно это же повторить только не ломая в код модуля? (чтобы при обновлении каждый раз не править)

Д7, тема pixture_reloaded (adaptivetheme)
Пробовал template.php

<?php
function pixture_link_formatter_link_default($vars) {
  
$link_options $vars['element'];
  unset(
$link_options['element']['title']);
  unset(
$link_options['element']['url']);

  

// Issue #1199806 by ss81: Fixes fatal error when the link URl is equal to page URL
  
if (isset($link_options['attributes']['class'])) {
    
$link_options['attributes']['class'] = array($link_options['attributes']['class']);
  }
  
  
// Display a normal link if both title and URL are available.
  
if (!empty($vars['element']['title']) && !empty($vars['element']['url'])) {
    return 
l($vars['element']['title'], 'go.php', array('query' => array('url' => $vars['element']['url']), 'attributes' => array('target' => '_blank'), 'html' => TRUE));
  }
  
// If only a title, display the title.
  
elseif (!empty($vars['element']['title'])) {
    return 
check_plain($vars['element']['title']);
  }
  elseif (!empty(
$vars['element']['url'])) {
    return 
l($vars['element']['title'], $vars['element']['url'], $link_options);
  }
}
?>

не работает.

Комментарии

Аватар пользователя HIgor1968 HIgor1968 6 января 2012 в 14:34

Там сейчас редиректы для ссылок с определенным классом (или наоборот без определенного класса) в зависимости от настроек.