- Wishlist: WishlistModel with add/remove, session-based for guests,
merge on login, DB table #__mokodolijoomshop_wishlist
- Coupon/discount codes: CouponHelper validates codes against
Dolibarr thirdparty discount rules, supports percent and fixed
- Multi-language: all strings already use Joomla Text class (i18n ready)
- API caching: CacheService using Joomla cache framework with
configurable TTL, manual flush on sync, dev mode disable
- Shipping addresses: AddressModel with CRUD, default address,
DB table #__mokodolijoomshop_addresses
- ACL: component-level access rules for products, orders, customers,
and settings management in manifest
- Webhooks: WebhookService processes Dolibarr events (product CRUD,
order status, payments), secret validation, event log table
- Invoice PDF: InvoiceController streams PDF from Dolibarr documents
API with ownership verification
Also adds performance/webhook config fieldsets and 3 new DB tables.
Resolves: #20, #21, #22, #23, #24, #25, #26, #27
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- SEF URL router: clean URLs for all views (/shop/product/id,
/shop/category/id, /shop/cart, /shop/checkout, /shop/my-orders)
- Image service: fetch from Dolibarr docs API, local caching,
thumbnail support, placeholder for missing, cache invalidation
- Email notifications: customer confirmation and admin notification
HTML emails via Joomla mail transport on order placement
- Menu item types: XML metadata for Products, Category, Product,
Cart, Checkout, and My Orders with configurable params
- Responsive CSS: mobile-first storefront.css with sticky add-to-cart,
touch-friendly cart controls, responsive grid breakpoints
- Product variants: VariantHelper fetches and groups Dolibarr
product variants/combinations with price adjustments and stock
- Admin orders view: OrdersModel with filters (status, date, search),
status sync from Dolibarr, enriched with customer names
Also adds media folder (css/images) to component manifest.
Resolves: #13, #14, #15, #16, #17, #18, #19
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Category navigation: CategoryModel with hierarchical tree, category
landing page with sidebar, breadcrumbs, and Joomla menu item types
- Stock display: StockHelper with In Stock/Low Stock/Out of Stock
indicators, configurable threshold, and backorder support
- Tax calculation: TaxHelper with grouped tax breakdown, HT/TTC
display modes, and configurable tax display setting
- Product search: SearchController with AJAX endpoint, text search
via Dolibarr sqlfilters, price range, sorting, and category filter
- Order history: OrdersModel, Orders view with list and detail,
PDF invoice download support, real-time Dolibarr status
- Admin dashboard: DashboardModel with product/order/customer counts,
revenue metrics (daily/weekly/monthly), recent orders table
Also adds menu item type XML metadata for Products, Category, Cart,
Checkout, and My Orders views.
Resolves: #7, #8, #9, #10, #11, #12
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implements all critical v1.0 features:
- Cart system: CartController, CartModel, CartTable with session-based
persistence, stock validation, and guest cart merge on login
- Checkout flow: CheckoutController, CheckoutModel with billing form,
Dolibarr order/invoice creation, and confirmation page
- Customer sync: CustomerSyncService for Joomla user to Dolibarr
thirdparty mapping with email-based deduplication
- Order service: OrderService for creating orders and invoices in
Dolibarr with local mapping table storage
- Site language strings for all new views and messages
- Updated manifest to include site services folder
Resolves: #1, #2, #3, #4, #5, #6
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Renamed .gitea/ to .mokogitea/ for MokoConsulting convention.
Updated release workflows with Joomla package type support.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Synced from Template-Joomla: pre-release.yml and auto-release.yml now
handle Joomla package extensions (type="package" with sub-extensions).
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>