Holen Sie sich die Site-Basis-URL in template.php

7

Wie bekomme ich die Basis-URL in template.php?

Keines der folgenden funktioniert.

global $base_url;
global $base_path;
global $base_root;
Esafwan
quelle

Antworten:

11

Sie können die base_path()Funktion verwenden, die immer funktionieren sollte.

Um ehrlich zu sein, kehrt es einfach zurück, $GLOBALS['base_path']sodass Ihre global $base_pathAussage gut funktionieren sollte.

Clive
quelle
Ja, aber dieser hat funktioniert. Möglicherweise sind die $ globals nicht in template.php
esafwan
Dies funktioniert gut, um einen PHP-Header für eine Ansicht zu erstellen, die auf die Seite zum Hinzufügen von Inhalten verweist, z. <a href="<?php echo base_path(); ?> Knoten / Hinzufügen / Angebot "> Neues Angebot erstellen </a>
Joe Beuckman
8

base_path()nur produzieren "/".

Um die vollständige URL einschließlich der Domain zu erhalten, müssen Sie Folgendes verwenden: $GLOBALS['base_url']

Cakka
quelle
1
Es funktioniert auch in Views PHP, um die Site-URL <? Php print $ GLOBALS ['base_url'] abzurufen. "/"; ?> Geschrieben in Global PHP -
Ausgabecode
2

Wenn Sie nur die Basis-URL erhalten möchten, können Sie die folgende Zeile verwenden.

global $base_url;

Ich habe es in vielen Projekten verwendet.

Lovish Sharma
quelle
1

Dies beantwortet die Frage nicht direkt, scheint aber relevant zu sein. Wenn Sie nach dem Domainnamen / der Basis-URL suchen, um ihn mit dem Alias-Pfad für einen Knoten zu kombinieren, erhalten Sie stattdessen einfach die absolute URL wie folgt:

$absoluteurl = url('node/' . $nid, array('absolute' => TRUE));

// http://example.com/content/aliased_path
squarecandy
quelle