/** * Extend the CMS form fields * * @param Form $form */ public static function extendFormFields(Form $form) { // Add a hidden field for the campaign id if ($campaign = Campaign::whereCmsObject($form)->first()) { $form->secondaryTabs['fields']['splitter[id]'] = ['tab' => 'bedard.splitter::lang.campaigns.cmsTab', 'default' => $campaign->id, 'cssClass' => 'hidden']; $form->model->splitter = $campaign->toArray(); } // Add the remaining fields from our campaign form definition $yaml = new Yaml(); $content = $yaml->parseFile(plugins_path('bedard/splitter/models/campaign/fields.yaml')); $fields = $content['secondaryTabs']['fields']; foreach ($fields as $key => $fieldData) { if ($fieldData['showOnCms']) { $fieldData['tab'] = 'bedard.splitter::lang.campaigns.cmsTab'; $fieldData['cssClass'] = 'cms-field-padding'; $form->secondaryTabs['fields']['splitter[' . $key . ']'] = $fieldData; } } }