3 namespace Drupal\metatag\Generator;
5 use Drupal\Console\Core\Generator\Generator;
6 use Drupal\Console\Extension\Manager;
7 use Drupal\Console\Core\Utils\TwigRenderer;
10 * Drupal Console plugin for generating a tag.
12 class MetatagTagGenerator extends Generator {
15 * An extension manager.
17 * @var \Drupal\Console\Extension\Manager
19 protected $extensionManager;
24 * @var \Drupal\Console\Core\Utils\TwigRenderer
29 * MetatagTagGenerator constructor.
31 * @param \Drupal\Console\Extension\Manager $extensionManager
32 * An extension manager.
33 * @param \Drupal\Console\Core\Utils\TwigRenderer $render
36 public function __construct(Manager $extensionManager, TwigRenderer $render) {
37 $this->extensionManager = $extensionManager;
39 $render->addSkeletonDir(__DIR__ . '/../../templates/');
40 $this->setRenderer($render);
46 * @param string $base_class
48 * @param string $module
52 * @param string $label
54 * @param string $description
56 * @param string $plugin_id
58 * @param string $class_name
60 * @param string $group
62 * @param string $weight
68 * @param bool $multiple
71 public function generate($base_class, $module, $name, $label, $description, $plugin_id, $class_name, $group, $weight, $type, $secure, $multiple) {
73 'base_class' => $base_class,
77 'description' => $description,
78 'plugin_id' => $plugin_id,
79 'class_name' => $class_name,
84 'multiple' => $multiple,
85 'prefix' => '<' . '?php',
90 $this->extensionManager->getPluginPath($module, 'metatag/Tag') . '/' . $class_name . '.php',
95 'metatag_tag.schema.yml.twig',
96 $this->extensionManager->getModule($module)->getPath() . '/config/schema/' . $module . '.metatag_tag.schema.yml',