pageTitle = 'Customize mail appearance'; BackendMenu::setContext('October.System', 'system', 'settings'); SettingsManager::setContext('October.System', 'mail_brand_settings'); } public function index() { $this->addJs('/modules/system/assets/js/mailbrandsettings/mailbrandsettings.js', 'core'); $this->addCss('/modules/system/assets/css/mailbrandsettings/mailbrandsettings.css', 'core'); $setting = MailBrandSetting::instance(); if ($setting->exists) { return $this->update($setting->id); } else { return $this->create(); } } public function onUpdateSampleMessage() { $this->pageAction(); $this->formGetWidget()->setFormValues(); return ['previewHtml' => $this->renderSampleMessage()]; } public function renderSampleMessage() { $data = [ 'subject' => Config::get('app.name'), 'appName' => Config::get('app.name'), ]; $layout = new MailLayout; $layout->fillFromCode('default'); $template = new MailTemplate; $template->layout = $layout; $template->content_html = File::get(base_path('modules/system/models/mailbrandsetting/sample_template.htm')); return MailManager::instance()->renderTemplate($template, $data); } public function formCreateModelObject() { return MailBrandSetting::instance(); } }