WHMCS和使用变量更改主链接



嗨,感谢您阅读我的文章。

我在多品牌上安装了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);
}
});

相关内容

  • 没有找到相关文章

最新更新