Я использую шлюз биллинга PayPal для WHMCS и добавил пункт меню как ClientAreaPrimaryNavbar и ClientAreaSecondarySidebar, используя следующий в крюке файл:Добавления классов пункта пользовательского меню активного WHMCS
<?php
use WHMCS\View\Menu\Item as MenuItem;
add_hook('ClientAreaPrimaryNavbar', 1, function (MenuItem $primaryNavbar) {
if (!is_null($primaryNavbar->getChild('Billing'))) {
$primaryNavbar->getChild('Billing')->addChild('Manage PayPal Billing', array(
'label' => 'Manage PayPal Billing',
'uri' => 'paypalbilling.php',
'order' => '30'
));
}
});
add_hook('ClientAreaSecondarySidebar', 1, function (MenuItem $secondarySidebar) {
if (!is_null($secondarySidebar->getChild('Billing'))) {
$secondarySidebar->getChild('Billing')->addChild('Manage PayPal Billing', array(
'label' => 'Manage PayPal Billing',
'uri' => 'paypalbilling.php',
'order' => '30'
));
}
});
мне нужно получите пункт меню «Биллинг» в ClientAreaPrimaryNavbar
, чтобы иметь класс open
, когда кто-то находится на странице paypalbilling.php, а также выделите дочерний элемент «Управление выпиской по PayPal» в разделе «Оплата» классом active
. Затем мне нужно будет добавить пункт меню «Управление платежными средствами PayPal» в поле ClientAreaSecondarySidebar
, чтобы он также был выделен классом active
. Очевидно, мне нужно добавлять классы только тогда, когда это активная страница.
У меня есть ощущение, что это может быть связано с основной страницей paypalbilling.php, не определяющей панировочные сухари .. но не определенно. Этот обычай кодовая страница не является открытым исходным кодом, так что я не могу видеть его или изменить его :(
Я попытался с помощью setClass
в этом крючке во всех по-разному, но не могу понять, условное для if(is current page = paypalbilling.php)
.
Любая помощь будет принята с благодарностью!