WHMCS和变量主页链接变量

时间:2017-10-09 13:54:33

标签: php variables navigation whmcs

嗨,谢谢你阅读我的帖子。

我已经安装了带有ad-don多品牌的WHMCS,这意味着我在WHMCS上有多个品牌,只有一个安装。 该网址始终为http://billing.branddomain.com/。所有这些网站都在http://www.branddomain.com/上有一个主要的静态网站。

我希望主页按钮指向静态网站,但问题是我不能在代码中放置静态URL,因为每个品牌都不同。 因此,使用PHP,我将从地址栏中删除URL,删除“计费”并将其替换为“www”。 我正在尝试将WHMCS主菜单中的主链接URL更改为此位置。这是通过在目录whmcs / includes / hooks

中创建PHP文件来完成的
<?php
$aedit_just_domain = preg_replace("/^(.*\.)?([^.]*\..*)$/", "$2", $_SERVER['HTTP_HOST']);
$aedit_homepageurl = "http://www.". $aedit_just_domain ."/";

use WHMCS\View\Menu\Item 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 WHMCS\View\Menu\Item 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);
   }
});

这确实有效,但现在可以使用静态网址www.google.com。 显然我需要这个变量与$ aedit_homepageurl一样。

有没有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

默认情况下,函数内部无法访问

$aedit_homepageurl。 您有两个选择:

1-您可以使用global关键字访问$aedit_homepageurl变量:

<?php
$aedit_just_domain = preg_replace("/^(.*\.)?([^.]*\..*)$/", "$2", $_SERVER['HTTP_HOST']);
$aedit_homepageurl = "http://www.". $aedit_just_domain ."/";

use WHMCS\View\Menu\Item 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);
   }
});