bear Posted Saturday at 03:14 PM Share Posted Saturday at 03:14 PM Just moved to the latest WHMCS, and a lot of my older hooks no longer work correctly. A basic one would be to hide the admin sidebar until I click to expand. The code below was working (courtesy Brian!). Now it hides the content, but the sidebar still takes up the space it would occupy (blend template in admin). function hook_admin_minimise_sidebar($vars) { return array("minsidebar" => true); } add_hook("AdminAreaPage", 1, "hook_admin_minimise_sidebar"); Have I missed something? Hs this hook point been changed? Docs don't specifically mention this, but the hooks don't seem to have significantly changed between versions. I have several other useful hooks, and all seem to be non functional. 0 Quote Link to comment Share on other sites More sharing options...
wtools Posted Sunday at 05:29 AM Share Posted Sunday at 05:29 AM What template are you using? Standard WHMCS templates or lagom? 0 Quote Link to comment Share on other sites More sharing options...
bear Posted Sunday at 10:17 AM Author Share Posted Sunday at 10:17 AM Blend, as mentioned. 0 Quote Link to comment Share on other sites More sharing options...
Evolve Web Hosting Posted Monday at 12:44 PM Share Posted Monday at 12:44 PM @bear This works with the Blend theme <?php add_hook('AdminAreaHeadOutput', 1, function($vars) { return '<script> document.addEventListener("DOMContentLoaded", function() { document.body.classList.add("sidebar-collapse"); }); </script>'; }); From Claude: The new Blend admin theme in WHMCS is built on AdminLTE, which collapses the sidebar by adding a sidebar-collapse class to the <body> tag — it no longer uses the minsidebar variable from the old theme. 0 Quote Link to comment Share on other sites More sharing options...
bear Posted Monday at 01:28 PM Author Share Posted Monday at 01:28 PM I'll give that a try, thanks. I couldn't find this in the docs. Is it really necessary to use AI to figure out hooks in the newer versions? 0 Quote Link to comment Share on other sites More sharing options...
bear Posted Tuesday at 02:41 PM Author Share Posted Tuesday at 02:41 PM Using blend, that hook doesn't do anything. On first page load, sidebar is open. Why this is not a built in option is baffling. 0 Quote Link to comment Share on other sites More sharing options...
Evolve Web Hosting Posted Tuesday at 04:14 PM Share Posted Tuesday at 04:14 PM @bear I did some further testing and I think this is what you want. Curious to hear your feedback. I have 8.13.3 installed. <?php /** * WHMCS Hook: Hide Admin Sidebar by Default (Without Breaking Page Grid Rows) * Compatible with WHMCS 8.13.x and hopefully 9.x Blend Layout */ if (!defined("WHMCS")) { die("This file cannot be accessed directly"); } add_hook('AdminAreaHeaderOutput', 1, function($vars) { if (isset($vars['template']) && (strpos($vars['template'], 'blend') !== false)) { return <<<HTML <script> document.addEventListener("DOMContentLoaded", function() { // 1. Target the native WHMCS minimize button var minBtn = document.getElementById('sidebarClose'); // 2. Target the native WHMCS hidden layout flag class var isAlreadyHidden = document.body.classList.contains('sidebar-hidden'); // 3. If the sidebar is present and not already natively minimized, trigger a native click if (minBtn && !isAlreadyHidden) { // A tiny 10ms timeout lets WHMCS paint its grids first, preventing column row-drops setTimeout(function() { minBtn.click(); }, 10); } }); </script> HTML; } }); 0 Quote Link to comment Share on other sites More sharing options...
bear Posted Tuesday at 05:36 PM Author Share Posted Tuesday at 05:36 PM Frankly, I'm going to stop throwing time at this, though I appreciate your effort. I open the page, hit minimize and it stays minimized on page changes. That will have to do. Loads of effort for a small niggle that WHMCS could add with little effort, but have no apparent interest in doing. Giving up, but thanks. 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.