嗨,感谢您阅读我的文章。
我在多品牌上安装了WHMCS广告,这意味着我在一个安装的WHMCS上安装了多个品牌。URL总是http://billing.branddomain.com/.他们都有一个主要的静态网站http://www.branddomain.com/.
我希望主页按钮指向静态网站,但问题是我不能在代码中放入静态URL,因为每个品牌的URL不同。因此,使用PHP,我将从地址栏中删除URL,删除"billing"并将其替换为"www"。他们我正在尝试将WHMCS主菜单中的主页链接URL更改到此位置。这是通过在whmcs/includs/hooks 目录中创建一个PHP文件来完成的
<?php
$aedit_just_domain = preg_replace("/^(.*.)?([^.]*..*)$/", "$2", $_SERVER['HTTP_HOST']);
$aedit_homepageurl = "http://www.". $aedit_just_domain ."/";
use WHMCSViewMenuItem as MenuItem;
add_hook('ClientAreaPrimaryNavbar', 1, function (MenuItem $primaryNavbar)
{
$redirect = $aedit_homepageurl;
if (!is_null($primaryNavbar->getChild('Home'))) {
$primaryNavbar->getChild('Home')
->setURI($redirect);
}
});
这不起作用,因为出于某种原因,我不能在里面放一个变量。当我这样做时:
<?php
use WHMCSViewMenuItem as MenuItem;
add_hook('ClientAreaPrimaryNavbar', 1, function (MenuItem $primaryNavbar)
{
$redirect = 'http://www.google.com/';
if (!is_null($primaryNavbar->getChild('Home'))) {
$primaryNavbar->getChild('Home')
->setURI($redirect);
}
});
这确实有效,但现在可以使用静态URL www.google.com。显然,我需要将其作为$aedit_homepageurl的变量。
有人能帮我做这件事吗。
$aedit_homepageurl
。您有两个选项:
1-您可以使用全局关键字访问$aedit_homepageurl
变量:
<?php
$aedit_just_domain = preg_replace("/^(.*.)?([^.]*..*)$/", "$2", $_SERVER['HTTP_HOST']);
$aedit_homepageurl = "http://www.". $aedit_just_domain ."/";
use WHMCSViewMenuItem as MenuItem;
add_hook('ClientAreaPrimaryNavbar', 1, function (MenuItem $primaryNavbar)
{
global $aedit_homepageurl;
$redirect = $aedit_homepageurl;
if (!is_null($primaryNavbar->getChild('Home'))) {
$primaryNavbar->getChild('Home')
->setURI($redirect);
}
});
2-移动函数内的前2行:
<?php
add_hook('ClientAreaPrimaryNavbar', 1, function (MenuItem $primaryNavbar)
{
$aedit_just_domain = preg_replace("/^(.*.)?([^.]*..*)$/", "$2", $_SERVER['HTTP_HOST']);
$aedit_homepageurl = "http://www.". $aedit_just_domain ."/";
$redirect = $aedit_homepageurl;
if (!is_null($primaryNavbar->getChild('Home'))) {
$primaryNavbar->getChild('Home')
->setURI($redirect);
}
});