Skip to content

Architecture

NXP Starter is centered around a PHP engine class (NxpStarter) that manages template initialization, assets, layout rendering, and developer-mode compilation.

Core layers

  • Engine: engine/src/NxpStarter.php
  • Layouts: template_layouts/*.php via Joomla FileLayout
  • Source assets: src/scss, src/js
  • Compiled assets: css/template.min.css, js/main.min.js

Build model

  • Vite handles production/dev asset compilation.
  • PHP fallback compilation exists for environments where Node tooling is not running.

Security architecture

  • strict path validation
  • output escaping patterns
  • protected source/engine directories (.htaccess)
  • manual compile button restricted to Super Users; on-the-fly compilation is unauthenticated (development convenience — disable before production)

Extension points

  • template parameters (templateDetails.xml)
  • custom layouts (template_layouts/)
  • additional assets via helper methods
  • body class generation for context-aware styling