custom/plugins/CogiCmsLayouts/src/CogiCmsLayouts.php line 13

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Cogi\CmsLayouts;
  3. use Shopware\Core\Framework\Plugin;
  4. use Shopware\Core\Framework\Context;
  5. use Shopware\Core\Framework\Plugin\Context\InstallContext;
  6. use Shopware\Core\Framework\Plugin\Context\UninstallContext;
  7. use Shopware\Core\Framework\Plugin\Context\UpdateContext;
  8. use Cogi\CmsLayouts\Core\CustomFieldWizard;
  9. class CogiCmsLayouts extends Plugin
  10. {
  11.     /**
  12.      * @param InstallContext $installContext
  13.      */
  14.     public function install(InstallContext $installContext): void
  15.     {
  16.         parent::install($installContext);
  17.         $this->installCustomFields($installContext->getContext());
  18.     }
  19.     /**
  20.      * @param UpdateContext $installContext
  21.      */
  22.     public function update(UpdateContext $updateContext): void
  23.     {
  24.         parent::update($updateContext);
  25.         $this->installCustomFields($updateContext->getContext());
  26.     }
  27.     /**
  28.      * @param UninstallContext $uninstallContext
  29.      */
  30.     public function uninstall(UninstallContext $uninstallContext): void
  31.     {
  32.         try {
  33.             $customFieldWizard = new CustomFieldWizard('cogi_cms_layouts'$this->container$uninstallContext->getContext());
  34.             $customFieldWizard->uninstall();
  35.         } catch (\Exception $e) {
  36.             // Something went wrong
  37.         }
  38.         parent::uninstall($uninstallContext);
  39.     }
  40.     /**
  41.      * @param $context Context
  42.      */
  43.     protected function installCustomFields(Context $context)
  44.     {
  45.         try {
  46.             $customFieldWizard = new CustomFieldWizard('cogi_cms_layouts'$this->container$context);
  47.             $customFieldWizard
  48.                 ->addFieldSet(
  49.                     'cms_block',
  50.                     [
  51.                         'de-DE' => 'CMS-Layouts Sondereinstellungen',
  52.                         'en-GB' => 'CMS-Layouts additional settings'
  53.                     ],
  54.                     ['cms_block']
  55.                 )
  56.                 ->addField(
  57.                     'cms_block''grid_gap''text',
  58.                     [
  59.                         'de-DE' => 'Abstand zwischen Kacheln',
  60.                         'en-GB' => 'Grid gap'
  61.                     ]
  62.                 )
  63.                 ->install();
  64.         } catch (\Exception $e) {
  65.             // Something went wrong
  66.         }
  67.     }
  68. }