686

Product support

Get help in the plugin support forum.

Categories

This is a helper plugin to simplify the import of data from PHP, YAML and XML files. It will not do anything on its own, you need to extend the plugin Import class from your own plugins as described on the documentation.

You need to create your own import class like this:

<?php namespace YourNamespace\YourPlugin\Classes;

use Utopigs\Import\Classes\Import as BaseImport;

class Import extends BaseImport
{
    public function __construct()
    {
        $this->path = base_path('import/');
    }

    public function importCategories()
    {
        $result = $this->loadImportFile('categories.yaml');

        $this->importModel('\YourNamespace\YourPlugin\Models\Category', $result);
    }

    public function importTags()
    {
        $result = $this->loadImportFile('tags.yaml');

        $this->importModel('\YourNamespace\YourPlugin\Models\Tag', $result);
    }

    public function importPosts()
    {
        $result = $this->loadImportFile('posts.yaml');

        $this->importModel('\YourNamespace\YourPlugin\Models\Post', $result, ['tags'], ['image']);
    }
}

Check the documentation in the plugin Utopigs\Import\Classes\Import class for information about the available parameters for this methods. If you need more advanced import options, you can copy the code in your own import class and modify it as needed.

In your website root folder you should have an 'import' folder with this content:

categories.yaml:

- title: 'Category 1'
- title: 'Category 2'

tags.yaml:

  • title: 'Tag 1'
  • title: 'Tag 2'
  • title: 'Tag 3'
  • title: 'Tag 4'

posts.yaml:

    title: 'Post 1 title'
    text: >
        <p>Some html text</p>
        <p>More text</p>
    category_id: 1
    tags: [1,2,3]
    image: 'post1-picture.jpg'
-
    title: 'Post 2 title'
    text: >
        <p>Some html text</p>
        <p>More text</p>
    category_id: 2
    tags: [1,2,3]
    image: 'post2-picture.jpg'

Then you can import your data like this:

$import = new \YourNamespace\YourPlugin\Classes\Import;
$import->importCategories();
$import->importTags();
$import->importPosts();
1.0.0

Import plugin

Jun 26, 2020