/** * Add formatter to manager. * * @param Manager $manager * @param string $model * @param string $formatter */ protected function addFormatter(&$manager, $model, $formatter) { // Get the config $config = (include $this->configPath . '/' . $model . '.php'); if (!isset($config[$formatter])) { return; } $formatterClass = 'kriskbx\\mikado\\Formatters\\' . $formatter; if (is_array($config[$formatter]) && count($config[$formatter]) > 0) { $manager->add(new $formatterClass($config[$formatter])); } }
/** * Get multiple WordPress data. * * @param bool|false $formatAble * * @return mixed */ public function getMultiplePosts($formatAble = false) { $posts = Post::published()->get(); foreach ($posts as $key => $post) { $posts[$key] = self::fix($post); if ($formatAble) { $posts[$key] = Manager::formatAble($posts[$key]); } } return $posts; }
public function it_formats_data() { $post = $this->dummyData->getPost(); $post->meta->_thumbnail_id = 1; $post->meta->acf_field_repeater_0_acf_field_input = 'test_value_1'; $post->meta->acf_field_repeater_1_acf_field_input = 'test_value_2'; $post->meta->acf_field_repeater_2_acf_field_input = 'test_value_3'; $post = Manager::formatAble($post); $formattedData = $this->format($post)->toArray(); $formattedData->shouldHaveKeyWithValue('thumbnail_id', 1); $formattedData->shouldHaveKeyWithValue('test_repeater', [['input' => 'test_value_1'], ['input' => 'test_value_2'], ['input' => 'test_value_3']]); }