60 lines
2.3 KiB
Markdown
60 lines
2.3 KiB
Markdown
[[_TOC_]]
|
|
|
|
This module may be used to create entities that contain sample content. This is
|
|
useful when showing off your site to a client, for example. Even if the content
|
|
is not yet available, the site can show its look and feel and behavior.
|
|
|
|
The sample entities may be created via the Web or via the included Drush commands
|
|
like `drush genc`.
|
|
|
|
#### Recommended Modules
|
|
|
|
- [Devel Images Provider](http://drupal.org/project/devel_image_provider) allows to configure external providers for images.
|
|
|
|
#### Custom plugins
|
|
|
|
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 these steps:
|
|
|
|
1. Declare your plugin with annotations:
|
|
````
|
|
/**
|
|
* Provides a ExampleDevelGenerate plugin.
|
|
*
|
|
* @DevelGenerate(
|
|
* id = "example",
|
|
* label = @Translation("example"),
|
|
* description = @Translation("Generate a given number of example elements."),
|
|
* url = "example",
|
|
* permission = "administer example",
|
|
* settings = {
|
|
* "num" = 50,
|
|
* "kill" = FALSE,
|
|
* "another_property" = "default_value"
|
|
* }
|
|
* )
|
|
*/
|
|
````
|
|
1. Implement the `settingsForm` method to create a form using the properties
|
|
from the annotations.
|
|
1. Implement the `handleDrushParams` method. It should return an array of
|
|
values.
|
|
1. Implement the `generateElements` method. You can write here your business
|
|
logic using the array of values.
|
|
|
|
#### Notes
|
|
|
|
- You can alter existing properties for every plugin by 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`.
|
|
- To give support for a new field type the field type base class should properly
|
|
implement `\Drupal\Core\Field\FieldItemInterface::generateSampleValue()`.
|
|
Devel Generate automatically uses the values returned by this method during the
|
|
generate process for generating placeholder field values. For more information
|
|
see: https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Field!FieldItemInterface.php/function/FieldItemInterface::generateSampleValue
|
|
- For Drupal 10, the webprofiler module has broken out to its own project at https://www.drupal.org/project/webprofiler
|