php 如何获取基于子域url的_template_part()?

8yoxcaq7  于 2022-11-28  发布在  PHP
关注(0)|答案(2)|浏览(98)

所以我为我的网站做了一些白色标签,它们在服务器上的不同子域上。
我想知道我是否可以得到一个基于子域的模板部件,如下所示:

if (subdomain = 'something') {
   get_template_part('template-part', 'header_test');
}

我已经找了一段时间了,这方面的信息不多。

lawou6xi

lawou6xi1#

在本例中,我们有两个域:

http://www.example.com
http://subdomain.example.com

要为子域使用不同的模板,我们可以通过以下步骤完成:
1)将子域设置为指向服务器上的其他目录:

Domain: /home/wherever/public_html
Sub-domain: /home/wherever/public_html_subdomain

2)将index.php文件复制到新的子域目录中,并更新CRAFT_TEMPLATES_PATH变量,使其指向您希望放置模板的位置。在本例中,两个模板文件夹都位于web根目录下。

// index.php for domain
define('CRAFT_TEMPLATES_PATH', realpath(dirname(__FILE__) . "/../templates").'/');

// index.php for subdomain
define('CRAFT_TEMPLATES_PATH', realpath(dirname(__FILE__) . "/../templates_subdomain").'/');

您的模板文件夹现在如下所示:

/home/wherever/public_html
/home/wherever/public_html_subdomain
/home/wherever/templates
/home/wherever/templates_subdomain
wa7juj8i

wa7juj8i2#

简单方法:

$host = $_SERVER['HTTP_HOST'];

if($host == "YOURSUBDOMAIN") {
  define('CRAFT_TEMPLATES_PATH', '../templates/_external');
};

到目前为止它工作得很完美

相关问题