Bachir Soussi Chiadmi 027aa99b32 a few more base modules 7 years ago
..
drush 027aa99b32 a few more base modules 7 years ago
src 027aa99b32 a few more base modules 7 years ago
tests 027aa99b32 a few more base modules 7 years ago
README.txt 027aa99b32 a few more base modules 7 years ago
devel_generate.batch.inc 027aa99b32 a few more base modules 7 years ago
devel_generate.info.yml 027aa99b32 a few more base modules 7 years ago
devel_generate.module 027aa99b32 a few more base modules 7 years ago
devel_generate.permissions.yml 027aa99b32 a few more base modules 7 years ago
devel_generate.routing.yml 027aa99b32 a few more base modules 7 years ago
devel_generate.services.yml 027aa99b32 a few more base modules 7 years ago

README.txt

This module creates the "DevelGenerate" plugin type.

All you need to do to provide a new instance for "DevelGenerate" plugin type
is to create your class extending "DevelGenerateBase" and following the next steps.

1 - Declaring your plugin with annotations:

/**
* Provides a ExampleDevelGenerate plugin.
*
* @DevelGenerate(
* id = "example",
* label = @Translation("example"),
* description = @Translation("Generate a given number of example elements. Optionally delete current example elements."),
* url = "example",
* permission = "administer example",
* settings = {
* "num" = 50,
* "kill" = FALSE,
* "another_property" = "default_value"
* }
* )
*/

2 - Implement "settingsForm" method to create a form using the properties from annotations.

3 - Implement "handleDrushParams" method. It should return an array of values.

4 - Implement "generateElements" method. You can write here your business logic
using the array of values.

Notes:

You can alter existing properties for every plugin implementing hook_devel_generate_info_alter.

DevelGenerateBaseInterface details base wrapping methods that most DevelGenerate implementations
will want to directly inherit from Drupal\devel_generate\DevelGenerateBase.

DevelGenerateFieldBaseInterface details base wrapping methods that most class implementations
for supporting new field types will want to directly inherit from Drupal\devel_generate\DevelGenerateFieldBase.
So to give support for a new field type should be enough to create a class called
"DevelGenerateFieldNewfieldtype" extending DevelGenerateFieldBase and to implement "generateValues" method.