2017-10-09 78 views
0

嗨,谢谢你阅读我的文章。WHMCS和改变主页链接变量

我有WHMCS与ad-don多品牌一起安装,这意味着我有一个安装WHMCS上的多个品牌。 网址始终为http://billing.branddomain.com/。他们都在http://www.branddomain.com/上有一个主要的静态网站。

我希望主页按钮指向静态网站,但问题是我不能在代码中放置静态URL,因为每个品牌都不同。 因此,我使用PHP从地址栏中剥离URL,删除'billing'并用'www'替换它。 他们我试图将WHMCS主菜单中的主页链接URL更改为此位置。这是通过创建目录WHMCS的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

$aedit_homepageurl默认情况下是不可访问的。 你有2种选择:

1 - 您可以使用全球关键字来访问$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-移到最上面两行内部功能:

<?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); 
    } 
}); 
+0

太谢谢你了。我使它与第二个选项一起工作。不敢相信我自己没有想过这件事。我已经花了20个小时困惑。你从另外20个小时的困惑中拯救了我。 – ManouHH

+0

不客气。 – wesamly