2017-10-09 80 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