wiki

Práca s destination – ako robiť redirect v rámci Drupalu

Štandardný spôsob ako spraviť redirect v rámci drupal 7 je použitie parametre destination

Príklad ako spraviť redirect na pôvodnú lokalitu

// ziska sucasnu url linku, kde sa prave nachadzame

$destination = drupal_get_destination();

// vysklada nastavenia pre linku, kde je mozne okrem dalsich atributov (cast query)

//nastavi aj destination kvoli spatnemu presmerovaniu

$link_options['query']['destination'] = $destination['destination'];

$link_options['attributes']['class'][] = 'button-style';

$link_options['attributes']['class'][] = 'btn-default';

// funkcia l() natemuje linku do finalnej podoby, je lepsie pouzit tuto funkciu,

// ktora zabezpeci okrem ineho korektne zakodovanie specialnych znakov ako & v destination return l(t('Otvor linku'), '/moja/linka/' . $row->id_klient, $link_options);

 

Na druhej strane ak uz nie je nastaveny redirect je mozne nastavit custom redirect na vybranu destination

// ziska parameter destination z url a preparsuje ho do potrebnej struktury
$destination = drupal_parse_url($_GET['destination']);

// nastavi parametre pre drupal_goto podla destination
$go_to_options['query'] = $destination['query'];
// funkcia drupal_goto presmeruje pouzivatela na destination, ktora bola dodana cez url
drupal_goto($destination['path'], $go_to_options);