Drupal sayfanın tam URL'sini almak nasıl

6 Cevap php

Ben bir Drupal site geçerli sayfanın URL'sini kapma gerekir. Bu ne içerik türü farketmez - düğüm herhangi bir tür olabilir.

Ben tema veya baz url, ya da Drupal get_destination için yolunu arıyor değilim. Bana verecek bir işlev veya değişken için arıyorum:

http://mydrupalsite.com/node/number

Tam. Ya da (daha büyük olasılıkla) http:// olmadan Ya

Teşekkürler çocuklar! Bu basit bir şey ama benim Google-fu bu bir çok sıcak olmadığından emin değilim.

6 Cevap

drupal_get_destination() mevcut iç yolu kapılmanı doğru yerde işaret bazı iç kodu vardır. Mutlak bir URL içine yolunu çevirmek için url() function hile yapmak gerekir. 'Mutlak' seçeneği geçirilir ise, iç yolu değil, sadece tam URL'yi üretecektir. Bu aynı zamanda mevcut yolu için herhangi bir yol adların takas olacaktır.

$path = isset($_GET['q']) ? $_GET['q'] : '<front>';
$link = url($path, array('absolute' => TRUE));

Bu ben yararlı olduğu ne

global $base_root;
$base_root . request_uri();

İade dizeleri sorgulamak ve çekirdek kullanılan buydu: page_set_cache()

Ayrıca bu şekilde yapabilirsiniz:

$ Current_url = 'http://' $ _SERVER ['HTTP_HOST'] $ _SERVER ['REQUEST_URI']..;

Bu biraz daha hızlı.

Bu yöntem, tüm eski yöntemi, Drupal 7 biz bunu çok basit alabilirsiniz edilir

    current_path()

ve küçük fark ile başka bir işlev

request_path()

denemek

url($_GET['q'], array('absolute' => true))

Belki de ne istediğinizi sadece düz eski önceden tanımlanmış değişkenler olduğunu

Çalışıyor düşünün

$ _SERVER ['REQUEST_URI'']

Ya da daha here oku