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;

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.


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']


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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.