App / Guest / Bare layouts
Logged-in sidebar shell, marketing guest chrome, and full-bleed auth screens — chosen automatically per page.
Complete user documentation for installing, activating, and customizing the CloudTail client area theme and order form — ready for publication on the WHMCS Marketplace.
CloudTail ships as two matched packages that share one design system — purple brand, Clash Display headlines, and Plus Jakarta Sans UI type.
| Package | Folder | Purpose |
|---|---|---|
| Client area theme | templates/cloudtail |
Dashboard, services, billing, support, account, auth, store |
| Order form | templates/orderforms/cloudtail_cart |
Products, domains, configure, checkout, renewals |
| Hook loader | install/cloudtail.php |
Copy into includes/hooks/ for dashboard & list data |
Everything a hosting provider needs for a polished client portal and checkout.
Logged-in sidebar shell, marketing guest chrome, and full-bleed auth screens — chosen automatically per page.
KPI tiles, recent services, invoices, domains, tickets, affiliates, and announcements powered by theme hooks.
Collapsible groups, status badges, quick actions, mobile drawer, and a More group for third-party nav items.
Full order flow with live totals, domain search, configurable options, and gateway-safe checkout JS.
Login, register, password reset, 2FA, invite accept, and email verify with CloudTail branding.
Contextual right sidebar for Menu API actions; .wcompat protects injected HTML from Tailwind reset.
Styled store landings and promo surfaces for SSL, email, SEO, and other MarketConnect products.
Mobile drawer navigation, single-line top bar titles, and touch-friendly checkout on small screens.
custom.css overrides, logo via WHMCS assets, optional Tailwind rebuild pipeline.
Tested and declared against WHMCS 9.0.6 library versions.
Copy files, install the Freemius license addon, activate your key, then turn on the theme.
cloudtail_license addon reports a valid Freemius license. Unlicensed installs fall back to twenty-one and standard_cart.Upload both packages into your WHMCS root (the directory that contains configuration.php).
templates/cloudtail
→ <whmcs-root>/templates/cloudtail
templates/orderforms/cloudtail_cart
→ <whmcs-root>/templates/orderforms/cloudtail_cart
Copy the Freemius license module so WHMCS can activate your key.
templates/cloudtail/install/modules/addons/cloudtail_license
→ <whmcs-root>/modules/addons/cloudtail_license
Then: Configuration → System Settings → Addon Modules → activate CloudTail License → open the module → paste your Freemius license key → Activate license.
Get the key from your Freemius invoice or customer portal.
WHMCS only auto-loads PHP from includes/hooks/. Copy the stub so dashboard and list pages receive data (only after a valid license).
templates/cloudtail/install/cloudtail.php
→ <whmcs-root>/includes/hooks/cloudtail.php
Log in to Admin → Configuration → System Settings → General Settings.
Verify these after activation before going live.
cart.php) matches the client area styleLayouts switch automatically — no admin setting required.
| Mode | Used on | Chrome |
|---|---|---|
| App | Logged-in client area | 296px sidebar + sticky top bar + main content |
| Guest | Store, KB, cart (logged out) | Marketing header & footer |
| Bare | Login, register, password reset, OAuth, errors | Full-bleed centered panel |
$assetLogoPath / company name)On product details, tickets, and domain management, WHMCS Menu API actions render as styled cards in a right column (wide viewports ≥1280px).
Full checkout flow with standard_cart JavaScript contracts preserved.
recalctotals()updateConfigurableOptions()removeItem()selectDomainPricing()validateCheckoutCreditCardInput()scripts.min.js. CloudTail Cart relies on the theme’s single jQuery / Bootstrap bundle.Prefer non-destructive overrides so theme updates stay easy.
Create templates/cloudtail/css/custom.css (and optionally cloudtail_cart/css/custom.css). Loaded automatically when present — ideal for brand colours, logo sizing, and module fixes.
Set your logo in WHMCS Admin → Setup → General Settings → Logo. CloudTail uses $assetLogoPath in the sidebar and guest header. Brand fallbacks live at images/cloudtail-logo.png.
cd templates/cloudtail/build
npm install
npm run build # → ../css/cloudtail.css
npm run watch # development
name/id attributes.
Do not concatenate Tailwind classes in Smarty (text-{$color}).
Do not load a second jQuery.
Optional data enrichment loaded by the hook stub.
| File | Purpose |
|---|---|
hooks/dashboard.php | Recent services, invoices, domains, tickets for the home dashboard |
hooks/services.php | Category tabs & colour metadata for services / domains lists |
hooks/auth.php | Auth page sidebar cleanup on bare layouts |
hooks/guest-chrome.php | Guest mega-menu product groups when logged out |
Re-copy includes/hooks/cloudtail.php after any WHMCS reinstall that wipes the hooks folder.
Know where to look when customizing or supporting clients.
Common issues and quick fixes.
Cause: Missing or invalid Freemius license.
Fix: Install modules/addons/cloudtail_license, activate it under Addon Modules, paste your Freemius key, and click Activate. Status must show valid.
Cause: Hook loader missing, or license not valid (hooks only load when licensed).
Fix: Activate the license first, then copy templates/cloudtail/install/cloudtail.php to includes/hooks/cloudtail.php.
Confirm WHMCS 9.0.6 and that theme.yaml still provides Bootstrap 4.5.3, jQuery 1.12.4, and Font Awesome 5.10.1.
Set Order Form Template to CloudTail Cart. Verify cart.js and style.css exist. Clear browser cache and WHMCS template cache (Utilities → System → Clear Cache).
Actions live in the right contextual column — use a wide viewport (≥1280px). If Nexus shows them and CloudTail does not, report a theme regression.
Injected content should sit inside .wcompat. Add scoped fixes in custom.css if a module renders outside those wrappers.
Rebuild CSS from templates/cloudtail/build. Add runtime-toggled classes to safelist.txt.
Ensure you are on the latest CloudTail CSS build — FlyonUI modal utilities must be overridden so Bootstrap .modal.show sits above the backdrop.
CloudTail is standalone — it does not auto-inherit Nexus changes.
templates/cloudtail, cloudtail_cart, and includes/hooks/cloudtail.php.templates/nexus and orderforms/standard_cart.custom.css files.Run these before publishing an update or closing a support ticket.
cd templates/cloudtail/build
php check-templates.php # Smarty compile check (theme + cart)
php check-langkeys.php # verify {lang key=} against english.php
Tips when listing CloudTail on marketplace.whmcs.com.
templates/cloudtail/ (full theme)templates/orderforms/cloudtail_cart/install/install/modules/addons/cloudtail_license/CloudTail preserves WHMCS core behaviour by design.
build/.