feat: complete Newsletter Campaigns Phase 1
- Add default campaign email template to DefaultTemplates.php - Add toggle settings (campaign_scheduling, subscriber_limit_enabled) - Add public unsubscribe endpoint with secure token verification - Update CampaignManager to use NewsletterController unsubscribe URLs - Add generate_unsubscribe_url() helper for email templates
This commit is contained in:
@@ -90,6 +90,7 @@ class DefaultTemplates
|
||||
'order_cancelled' => self::customer_order_cancelled(),
|
||||
'order_refunded' => self::customer_order_refunded(),
|
||||
'new_customer' => self::customer_new_customer(),
|
||||
'newsletter_campaign' => self::customer_newsletter_campaign(),
|
||||
],
|
||||
'staff' => [
|
||||
'order_placed' => self::staff_order_placed(),
|
||||
@@ -139,6 +140,7 @@ class DefaultTemplates
|
||||
'order_cancelled' => 'Order #{order_number} has been cancelled',
|
||||
'order_refunded' => 'Refund processed for order #{order_number}',
|
||||
'new_customer' => 'Welcome to {site_name}! 🎁 Exclusive offer inside',
|
||||
'newsletter_campaign' => '{campaign_title}',
|
||||
],
|
||||
'staff' => [
|
||||
'order_placed' => '[NEW ORDER] #{order_number} - ${order_total} from {customer_name}',
|
||||
@@ -206,6 +208,30 @@ Got questions? Our customer service team is ready to help: {support_email}
|
||||
[/card]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Customer: Newsletter Campaign
|
||||
* Master design template for newsletter campaigns
|
||||
* The {content} variable is replaced with the actual campaign content
|
||||
*/
|
||||
private static function customer_newsletter_campaign()
|
||||
{
|
||||
return '[card type="hero"]
|
||||
## {campaign_title}
|
||||
[/card]
|
||||
|
||||
[card]
|
||||
{content}
|
||||
[/card]
|
||||
|
||||
[card type="basic" bg="#f5f5f5"]
|
||||
You are receiving this because you subscribed to {site_name} newsletter.
|
||||
|
||||
[Unsubscribe]({unsubscribe_url}) | [Visit Store]({site_url})
|
||||
|
||||
© {current_year} {site_name}. All rights reserved.
|
||||
[/card]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Customer: Order Placed
|
||||
* Sent immediately when customer places an order
|
||||
|
||||
Reference in New Issue
Block a user