Theme Development
Learn how to build, customize, and integrate storefront themes for your Print Store.
Print Store themes control the entire visual presentation of your customer-facing storefront — the layout, header, navigation, product pages, checkout flow, and footer. Themes are built with standard web technologies (HTML, CSS, JavaScript) on top of ASP.NET master pages, and are fully compatible with Bootstrap 5.
Any HTML theme can be integrated into PrintNow. You can purchase a Bootstrap template from a marketplace like ThemeForest, adapt it using PrintNow's master page structure, and deploy it to your storefront through the Site Themes editor or FTP.
How Themes Work
When a customer visits your storefront, PrintNow resolves the active theme and serves files from that theme's folder. The theme determines:
- Layout — Header, footer, sidebar, and content areas defined by ASP.NET master pages (
.masterfiles) - Styling — CSS and JavaScript files referenced from master pages
- Product display — Category and product detail layouts using server-side data properties
- Component templates — Product browser, calculator, and page templates that can be customized per theme
- CMS integration — Content placeholders where admin-managed CMS content is injected
Theme Layers
PrintNow themes use several templating technologies, each suited to different parts of the storefront:
| Layer | Technology | Used For |
|---|---|---|
| Master Pages | ASP.NET .master files with VB.NET inline code | Page layout, header/footer, product details, categories |
| Server Controls | Custom <pn:> and <printnow:> tags | Search, cart count, breadcrumbs, calculator, login/logout |
| Page Templates | Mustache ({{ }}) HTML files | My Account, View Cart, Order Options, Products, Upload |
| Component Templates | AngularJS (ng-) HTML files | Product browser with filtering, sorting, and pagination |
Getting Started
| Task | Guide |
|---|---|
| Manage themes in the admin | Site Themes — Create, clone, apply, and edit themes |
| Understand the file structure | Theme Structure — Anatomy of a theme folder |
| Learn master page hierarchy | Master Pages — Layout templates and inheritance |
| Use built-in controls | Server Controls — Search, cart, breadcrumbs, calculator |
| Access storefront data | Data Properties — Global properties and functions |
| Work with data objects | Object Models — Category, Product, Thumbnail objects |
| Customize page layouts | Page Templates — Mustache templates for key pages |
| Customize product browsing | Product Browser — AngularJS product grid component |
| Customize the calculator | Calculator — Pricing calculator template |
| Integrate an HTML theme | Integrating HTML Themes — Step-by-step conversion guide |
| Reference the skeleton file | Skeleton Reference — Annotated minimal master page |
Prerequisites
- A working Print Store deployment
- Access to the Unified Admin with Site Themes permissions
- Basic knowledge of HTML, CSS, and Bootstrap
- An FTP client (e.g., FileZilla) configured for explicit FTP over TLS, or use the built-in Site Themes editor
Related Pages
- Site Themes — Create, clone, and apply themes in the admin
- FTP Accounts — Upload theme files in bulk via FTP
- Page Content — CMS content injected into theme content placeholders
- Category Content — Category descriptions and content displayed by theme templates
- Extended Content — Custom content sections accessible via data properties in themes