2012-10-27 44 views
0

在ExpressionEngine模板中訪問HTTP主機名的最簡單方法是什麼(而不是訴諸於在模板中使用PHP)。如何訪問ExpressionEngine模板中的主機名

是否已經創建了一個插件來做到這一點,或者我應該使用某種全局變量?

如果有方法可以訪問ExpressionEngine模板中的其他HTTP服務器變量,也可以獲得獎勵點數。

+0

你們是不是要確定主機名或做你希望的地方設置它在模板中使用? – foamcow

回答

8

您可以將主機名設置爲全局變量並使用它。你可以用php在你的配置文件中設置全局變量,然後你就可以在模板中訪問它。

或者你可以使用{路徑= 'site_index'}

$assign_to_config['global_vars']['global_var_name'] = 'Global var value'; 
+0

謝謝,我在想全局變量可能是要走的路。爲了將來的參考,您能否詳細說明如何將其添加到配置文件? –

3

如何只使用{} SITE_URL這是一個標準的全局變量?

如果你想分配配置變量,那麼你可以做:

$assign_to_config['global_vars']['gv_hostname'] = $_SERVER['HTTP_HOST']; 

,然後你的模板中,你可以通過{} gv_hostname當然,這不會增加HTTP調用它://之前主機名。

1

你可以將下面的代碼添加到您的/system/expressionengine/config/config.php文件

$assign_to_config['global_vars']['my_http_host'] = $_SERVER['HTTP_HOST']; 

這可能然後在模板中使用像這樣:

{my_http_host} 

如果你想該協議即。 HTTP如果沒有HTTPS,你可以這樣做:

$assign_to_config['global_vars']['my_protocol'] = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://'; 

這可能然後在模板中使用像這樣:

{my_protocol}

這裏是PHP Reserved Server Variables