/** * 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; } } }
/** * Renders a PHP array to YAML format. * * @param array $vars * @param array $options Supported options: * - inline: The level where you switch to inline YAML. * - exceptionOnInvalidType: if an exception must be thrown on invalid types. * - objectSupport: if object support is enabled. * @static */ public static function render($vars = array(), $options = array()) { return \October\Rain\Parse\Yaml::render($vars, $options); }