在ExpressionEngine模板中訪問HTTP主機名的最簡單方法是什麼(而不是訴諸於在模板中使用PHP)。如何訪問ExpressionEngine模板中的主機名
是否已經創建了一個插件來做到這一點,或者我應該使用某種全局變量?
如果有方法可以訪問ExpressionEngine模板中的其他HTTP服務器變量,也可以獲得獎勵點數。
在ExpressionEngine模板中訪問HTTP主機名的最簡單方法是什麼(而不是訴諸於在模板中使用PHP)。如何訪問ExpressionEngine模板中的主機名
是否已經創建了一個插件來做到這一點,或者我應該使用某種全局變量?
如果有方法可以訪問ExpressionEngine模板中的其他HTTP服務器變量,也可以獲得獎勵點數。
您可以將主機名設置爲全局變量並使用它。你可以用php在你的配置文件中設置全局變量,然後你就可以在模板中訪問它。
或者你可以使用{路徑= 'site_index'}
$assign_to_config['global_vars']['global_var_name'] = 'Global var value';
謝謝,我在想全局變量可能是要走的路。爲了將來的參考,您能否詳細說明如何將其添加到配置文件? –
如何只使用{} SITE_URL這是一個標準的全局變量?
如果你想分配配置變量,那麼你可以做:
$assign_to_config['global_vars']['gv_hostname'] = $_SERVER['HTTP_HOST'];
,然後你的模板中,你可以通過{} gv_hostname當然,這不會增加HTTP調用它://之前主機名。
你可以將下面的代碼添加到您的/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}
你可以使用一個列表這個叫做插件服務器變量 http://devot-ee.com/add-ons/server-variable
{exp:server_var:server var="HTTP_HOST"}
任何其他的服務器變量還有:http://php.net/manual/en/reserved.variables.server.php
你們是不是要確定主機名或做你希望的地方設置它在模板中使用? – foamcow