18e6ac6c58aa06314c4beddc229d9fa3a6a120b3
[yaffs-website] / vendor / drupal / console / src / Generator / EntityBundleGenerator.php
1 <?php
2
3 /**
4  * @file
5  * Contains Drupal\Console\Generator\EntityBundleGenerator.
6  */
7
8 namespace Drupal\Console\Generator;
9
10 use Drupal\Console\Core\Generator\Generator;
11 use Drupal\Console\Extension\Manager;
12
13 class EntityBundleGenerator extends Generator
14 {
15     /**
16      * @var Manager
17      */
18     protected $extensionManager;
19
20     /**
21      * PermissionGenerator constructor.
22      *
23      * @param Manager $extensionManager
24      */
25     public function __construct(
26         Manager $extensionManager
27     ) {
28         $this->extensionManager = $extensionManager;
29     }
30
31     public function generate($module, $bundleName, $bundleTitle)
32     {
33         $parameters = [
34             'module' => $module,
35             'bundle_name' => $bundleName,
36             'bundle_title' => $bundleTitle,
37             //TODO:
38             //'learning' => $this->isLearning(),
39         ];
40
41         /**
42          * Generate core.entity_form_display.node.{ bundle_name }.default.yml
43          */
44         $this->renderFile(
45             'module/src/Entity/Bundle/core.entity_form_display.node.default.yml.twig',
46             $this->extensionManager->getModule($module)->getPath() . '/config/install/core.entity_form_display.node.' . $bundleName . '.default.yml',
47             $parameters
48         );
49
50         /**
51          * Generate core.entity_view_display.node.{ bundle_name }.default.yml
52          */
53         $this->renderFile(
54             'module/src/Entity/Bundle/core.entity_view_display.node.default.yml.twig',
55             $this->extensionManager->getModule($module)->getPath()  . '/config/install/core.entity_view_display.node.' . $bundleName . '.default.yml',
56             $parameters
57         );
58
59         /**
60          * Generate core.entity_view_display.node.{ bundle_name }.teaser.yml
61          */
62         $this->renderFile(
63             'module/src/Entity/Bundle/core.entity_view_display.node.teaser.yml.twig',
64             $this->extensionManager->getModule($module)->getPath()  . '/config/install/core.entity_view_display.node.' . $bundleName . '.teaser.yml',
65             $parameters
66         );
67
68         /**
69          * Generate field.field.node.{ bundle_name }.body.yml
70          */
71         $this->renderFile(
72             'module/src/Entity/Bundle/field.field.node.body.yml.twig',
73             $this->extensionManager->getModule($module)->getPath()  . '/config/install/field.field.node.' . $bundleName . '.body.yml',
74             $parameters
75         );
76
77         /**
78          * Generate node.type.{ bundle_name }.yml
79          */
80         $this->renderFile(
81             'module/src/Entity/Bundle/node.type.yml.twig',
82             $this->extensionManager->getModule($module)->getPath()  . '/config/install/node.type.' . $bundleName . '.yml',
83             $parameters
84         );
85     }
86 }