# SmartTech OMP — Admin Product Form Update

Release date: 2026-06-25

## Updated route

`/admin/products.php`

## Implemented

- Approved vendor dropdown with shop and owner names.
- Active category dropdown.
- Active brand dropdown.
- Product type selector for physical and digital products.
- Product-name-driven slug synchronization with a manual override checkbox.
- Automatic unique EAN-13-style barcode generation, with a manual Auto button.
- Automatic unique product code generation, with a manual Auto button.
- SKU duplicate checking.
- Purchase, regular, sale and flash price fields.
- Stock, weight, reward-point and shipping-charge fields.
- Default image upload and preview.
- Multiple gallery image upload, previews and removal controls.
- Safe JPG, PNG and WEBP validation using MIME and image checks.
- Short and detailed rich-text editors with server-side HTML sanitization.
- Featured, trending and best-selling selectors.
- Product status selector.
- Meta title synchronization from product name.
- Meta description fallback from the short description.
- Keyword suggestions generated from product name, category and brand.
- Dedicated Open Graph image upload and explanation.
- Product search and improved product table.
- Soft-disable product action.
- Product Create menu route redirects to the new form.

## Open Graph image purpose

The Open Graph image is the preview image used when a product URL is shared through Facebook, WhatsApp, Messenger, LinkedIn and other social platforms. The recommended image size is 1200 × 630 pixels. When no separate OG image is uploaded, the product's default image is used.

The public product page now outputs Open Graph and Twitter Card metadata so the saved OG image is functional.

## Files changed

- `admin/products.php`
- `admin/product-create.php`
- `app/helpers.php`
- `app/Layouts/frontend_header.php`
- `landing/product.php`

## Database

No SQL migration is required for this update.

## Deployment

Back up the current website, then either upload the complete updated project ZIP or extract the patch ZIP into the project root while preserving folders. Clear server/browser cache afterward.
