Я нашел решение для чтения дополнительных документов в документации WHMCS и некоторых других местах.
Прежде всего, как я узнал, после WHMCS 4 разработчики изменили некоторые правила, и умные элементы WHMCS {headoutput} и {headeroutput} в шаблонах больше не редактируются непосредственно кодом. WHMCS использует хуки для добавления пользовательских кодов между специальными HTML-блоками. И вот решение моей проблемы.
Док. Ссылка 1: http://docs.whmcs.com/Hooks
Док. Ссылка 2: http://docs.whmcs.com/Hooks:System
После того, как мы сделали все необходимое для создания дополнительного модуля, мы создаем новый файл в папке модуля с именем «hooks.php». WHMCS включает этот файл напрямую, без каких-либо исключений для включения, в наш модуль. В «hooks.php» нам нужно создать функцию-ловушку, как описано в Doc. Ссылка 1. У вашей функции не должно быть специального имени, но разработчик WHMCS советует вам использовать иерархию, например, начиная с «hook_», за которой следует имя файла, а затем конкретное действие или задача, которую выполняет ловушка. Например;
function hook_youraddonmodule_adminHeadBlock($vars) {
//Here is my custom code below
$headoutput = '<link href="../includes/jscript/css/bootstrap.min.css" rel="stylesheet">';
return $headoutput;
}
После того, как вы назовете функцию, вы должны ввести свой код между фигурными скобками в соответствии с вашими потребностями. Я поместил ссылку на файл bootstrap css, которую я хотел включить во все заголовочные блоки моих страниц модуля. Мы объявили функцию ловушки, а затем нам нужно подготовить ее для использования предопределенными местами ловушек WHMCS, как описано в Doc. Ссылка 2. Чтобы поместить код между головным блоком, мы должны использовать деклерацию хука "AdminAreaHeadOutput". Вот код, который я использовал;
// Define Client Login Hook Call
add_hook("AdminAreaHeadOutput",1,"hook_youraddonmodule_adminHeadBlock");
Это определение означает, что мы добавили хук в вывод заголовка административной области, и его приоритет является первым (1). На самом деле я не знаю, почему нам нужен приоритет в отношении хуков, и я не проводил исследования по этому поводу, но если это было сделано, то в этом должно быть преимущество :) Теперь все, что вам нужно сохранить файл хука и загрузить его на свой сервер. Все сделано. Я надеюсь, что это поможет людям, которые ищут такие трюки.
Обновление:
Я обнаружил, что когда вы создаете хук и активируете его с помощью своего модуля в своей области администратора, он применяется ко всем страницам администратора, поэтому он может нарушить некоторые стандартные javascripts и стили whmcs. Если вы хотите, чтобы хук работал только для вашего собственного модуля, вы должны добавить код, как показано ниже, чтобы предотвратить применение ваших собственных кодов на всех страницах области администрирования.
$moduleName = $_GET['module'];
if($moduleName == "yourmodulename"){
return $headoutput;
}
С уважением,
Канер.
person
Caner SAYGIN
schedule
16.10.2014