www site modules php drupal content-management-system

php - site - modules in drupal 8



¿Cómo obtener la URL completa de una página de Drupal? (9)

El siguiente es más Drupal-ish :

url(current_path(), array(''absolute'' => true));

Necesito tomar la URL de la página actual en un sitio de Drupal. No importa qué tipo de contenido sea, puede ser cualquier tipo de nodo.

No estoy buscando el camino al tema, ni la url base, ni el get_destination de Drupal. Estoy buscando una función o variable que me dé el siguiente completo:

http://example.com/node/number

Ya sea con o sin (más probable) el http:// .


Este método es todo el método antiguo, en drupal 7 podemos hacerlo de manera muy simple

current_path()

y otra función con una pequeña diferencia

request_path()


Esto es lo que encontré útil

global $base_root; $base_root . request_uri();

Devuelve cadenas de consulta y es lo que se utiliza en el núcleo: page_set_cache()


Me parece usar tokens bastante limpio. Está integrado en el núcleo en Drupal 7.

<?php print token_replace(''[current-page:url]''); ?>


Pruebe lo siguiente:

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


Tal vez lo que quieres es simplemente viejas variables predefinidas.

Considera intentarlo

$_SERVER[''REQUEST_URI'''']

O lee más here .


También puedes hacerlo de esta manera:

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

Es un poco más rápido.


drupal_get_destination() tiene un código interno que apunta al lugar correcto para obtener la ruta interna actual. Para traducir esa ruta en una URL absoluta, la función url() debería funcionar. Si se pasa la opción ''absoluta'', generará la URL completa, no solo la ruta interna. También intercambiará los alias de ruta para la ruta actual también.

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


Para Drupal 8 puedes hacer esto:

$url = ''YOUR_URL''; $url = /Drupal/Core/Url::fromUserInput(''/'' . $url, array(''absolute'' => ''true''))->toString();