Filler module for phact CMF

v1.0.0 2018-09-24 07:43 UTC

This package is auto-updated.

Last update: 2024-04-24 20:41:53 UTC


README

Конфиг (filler.php)

Бросить в app/config

<?php

return [
    \Modules\Catalog\Models\Category::class => [
        'scheme' => 'tree',
        'dict' => 'categories',
        'dictSettings' => [
            'title' => 'name'
        ],
        'fields' => [

        ],
        'skip' => [],
        'limit' => 100
    ],
    \Modules\Catalog\Models\Product::class => [
        'scheme' => 'flat',
        'fields' => [
            'category' => [
                'filter' => [
                    'lft' => new \Phact\Orm\Expression('rgt - 1')
                ],
                'exclude' => []
            ],
            'price' => [
                'from' => 1000,
                'to' => 20000
            ]
        ],
        'skip' => [],
        'limit' => 100
    ]
];

Команда

# php index.php Filler Fill

Опции

scheme - доступно 2 схемы - плоская ("flat") и дерево ("tree")

dict - словарь (путь до словаря, например "Modules.YourModule.dict.tree_dict"), по умолчанию для дерева можно указать просто "categories" - он подцепит "Modules.Filler.dict.categories"

dictSettings - переименование полей словаря в необходимые нам. Пример для словаря "categories" - там наименование объекта задано через атрибут "name", а в нашей модели это "title". Определяем dictSettings:

   ...
    'dictSettings' => [
        'name' => 'title'
    ]
   ...

skip - список полей, которые будут пропущены при генерации

limit - ограничение по количеству сгенерированных объектов (не применяется при активном словаре)

fields - настройки для генерации полей

Приведу список типов полей и настроек для них

Поля с объявленными choices

Будут заполнены одним из choices-элементов. При этом если поле может быть null, то null-значения тоже могут применяться

JsonField, SlugField, PositionField

Эти поля будут опущены при генерации и заполнятся значеиями по-умолчанию

ForeignField

Будет заполнено случайным объектом, класса modelClass , заданного полю

Доступные настройки:

filter - QuerySet фильтр для выбора объекта. По-умолчанию: []

exclude - QuerySet исключение для выбора объекта. По-умолчанию: []

FileField

Будет заполнено случайным файлом из папки

Доступные настройки:

path - путь до папки с файлами для заполнения. По-умолчанию: "Modules.Filler.files"

extensions - список расширений для заполнения. Пример: ['zip', 'pdf']. По-умолчанию: null

ImageField

Аналогично FileField, отличается лишь путем по-умолчнию: "Modules.Filler.images"

BooleanField

true или false, всё просто

DateField, DateTimeField, TimeField

Будет заполнено случайным значением даты/времени

Доступные настройки

from - текстовое представление даты, от которой будет происходить выбор случайного значения. По-умолчанию: "-100 days"

to - текстовое представление даты, до которой будет происходить выбор случайного значения. По-умолчанию: "+100 days"

EmailField

Будет заполнено случайным email

TextField

Будет заполнено случайным текстом

Доступные настройки:

fromWords - минимальное количество слов. По-умолчанию: 20

toWords - максимальное количество слов. По-умолчанию: 100

CharField

Аналогично TextField, кол-во слов по умолчанию от 2 до 5

IntField, FloatField, DecimalField

Будет заполнено случайным значением

Доступные настройки

from - целое значание, от которого будет происходить выбор случайного значения. По-умолчанию: 0

to - целое значание, до которого будет происходить выбор случайного значения. По-умолчанию: 1000