<?php declare(strict_types=1);
namespace ImnxxLandingpageNavi;
use Shopware\Core\Framework\Plugin;
use Shopware\Core\Framework\Plugin\Context\InstallContext;
use Shopware\Core\System\CustomField\CustomFieldTypes;
use Shopware\Core\Framework\Uuid\Uuid;
class ImnxxLandingpageNavi extends Plugin
{
public function install(InstallContext $installContext): void
{
$customFieldSetRepository = $this->container->get('custom_field_set.repository');
$customFieldSetRepository->create([
[
'name' => 'imnxx_landingpage_navi',
'config' => [
'label' => [
'de-DE' => 'LP Navigation'
]
],
'customFields' => [
[
'name' => 'imnxx_landingpage_navi_show',
'type' => CustomFieldTypes::SWITCH,
'config' => [
'label' => [
'de-DE' => 'Navigation anzeigen (imnxx_landingpage_navi_show)'
],
'type' => 'switch',
'customFieldType' => 'switch',
'customFieldPosition' => 0
]
],
[
'name' => 'imnxx_landingpage_navi_hightlight_background',
'type' => CustomFieldTypes::COLORPICKER,
'config' => [
'label' => [
'de-DE' => 'Highlight Hintergrundfarbe für diese Kategorie (imnxx_landingpage_navi_hightlight_background)'
],
'type' => 'colorpicker',
'customFieldType' => 'colorpicker',
'customFieldPosition' => 1
]
],
[
'name' => 'imnxx_landingpage_navi_hightlight_color',
'type' => CustomFieldTypes::COLORPICKER,
'config' => [
'label' => [
'de-DE' => 'Highlight Schriftfarbe für diese Kategorie (imnxx_landingpage_navi_hightlight_color)'
],
'type' => 'colorpicker',
'customFieldType' => 'colorpicker',
'customFieldPosition' => 1
]
],
[
'name' => 'imnxx_landingpage_navi_header_img',
'type' => CustomFieldTypes::MEDIA,
'config' => [
'label' => [
'de-DE' => 'Header Bild (imnxx_landingpage_navi_header_img)'
],
'type' => 'media',
'customFieldType' => 'media',
'componentName' => 'sw-media-field',
'customFieldPosition' => 2
]
],
[
'name' => 'imnxx_landingpage_navi_header_img_tablet',
'type' => CustomFieldTypes::MEDIA,
'config' => [
'label' => [
'de-DE' => 'Header Bild Tablet (imnxx_landingpage_navi_header_img_tablet)'
],
'type' => 'media',
'customFieldType' => 'media',
'componentName' => 'sw-media-field',
'customFieldPosition' => 3
]
],
[
'name' => 'imnxx_landingpage_navi_header_img_mobile',
'type' => CustomFieldTypes::MEDIA,
'config' => [
'label' => [
'de-DE' => 'Header Bild Mobile (imnxx_landingpage_navi_header_img_mobile)'
],
'type' => 'media',
'customFieldType' => 'media',
'componentName' => 'sw-media-field',
'customFieldPosition' => 4
]
],
[
'name' => 'imnxx_landingpage_navi_header_img_url',
'type' => CustomFieldTypes::TEXT,
'config' => [
'label' => [
'de-DE' => 'Header Bild URL (imnxx_landingpage_navi_header_img_url)'
],
'type' => 'text',
'customFieldType' => 'text',
'componentName' => 'sw-media-field',
'customFieldPosition' => 5
]
],
[
'name' => 'imnxx_landingpage_navi_background',
'type' => CustomFieldTypes::COLORPICKER,
'config' => [
'label' => [
'de-DE' => 'Navigation Background Farbe (imnxx_landingpage_navi_background)'
],
'type' => 'colorpicker',
'customFieldType' => 'colorpicker',
'customFieldPosition' => 6
]
],
[
'name' => 'imnxx_landingpage_navi_hover_background',
'type' => CustomFieldTypes::COLORPICKER,
'config' => [
'label' => [
'de-DE' => 'Navigation Background Farbe beim hover (imnxx_landingpage_navi_hover_background)'
],
'type' => 'colorpicker',
'customFieldType' => 'colorpicker',
'customFieldPosition' => 7
]
],
[
'name' => 'imnxx_landingpage_navi_color',
'type' => CustomFieldTypes::COLORPICKER,
'config' => [
'label' => [
'de-DE' => 'Navigation Text Farbe (imnxx_landingpage_navi_color)'
],
'type' => 'colorpicker',
'customFieldType' => 'colorpicker',
'customFieldPosition' => 8
]
],
[
'name' => 'imnxx_landingpage_navi_hover_color',
'type' => CustomFieldTypes::COLORPICKER,
'config' => [
'label' => [
'de-DE' => 'Navigation Text Farbe beim hover (imnxx_landingpage_navi_hover_color)'
],
'type' => 'colorpicker',
'customFieldType' => 'colorpicker',
'customFieldPosition' => 9
]
],
[
'name' => 'imnxx_landingpage_navi_font_family',
'type' => CustomFieldTypes::TEXT,
'config' => [
'label' => [
'de-DE' => 'Navigation font family (imnxx_landingpage_navi_font_family)'
],
'type' => 'text',
'customFieldType' => 'text',
'customFieldPosition' => 10
]
],
[
'name' => 'imnxx_landingpage_navi_font_size',
'type' => CustomFieldTypes::NUMBER,
'config' => [
'label' => [
'de-DE' => 'Navigation font size in px (imnxx_landingpage_navi_font_size)'
],
'type' => 'number',
'customFieldType' => 'number',
'customFieldPosition' => 11
]
],
[
'name' => 'imnxx_landingpage_navi_font_weight',
'type' => CustomFieldTypes::SELECT,
'config' => [
'label' => [
'de-DE' => 'Navigation font weight (imnxx_landingpage_navi_font_weight)'
],
'type' => 'select',
'customFieldType' => 'select',
'customFieldPosition' => 12,
'options' => [
[
'label' => ['de-DE' => 'normal'],
'value' => 'normal'
],
[
'label' => ['de-DE' => 'lighter'],
'value' => 'lighter'
],
[
'label' => ['de-DE' => 'bold'],
'value' => 'bold'
]
]
]
],
[
'name' => 'imnxx_landingpage_navi_logo',
'type' => CustomFieldTypes::MEDIA,
'config' => [
'label' => [
'de-DE' => 'Logo (imnxx_landingpage_navi_logo)'
],
'type' => 'media',
'customFieldType' => 'media',
'componentName' => 'sw-media-field',
'customFieldPosition' => 13
]
],
[
'name' => 'imnxx_landingpage_navi_logo_height',
'type' => CustomFieldTypes::TEXT,
'config' => [
'label' => [
'de-DE' => 'Logo Höhe in px (imnxx_landingpage_navi_logo_height)'
],
'type' => 'text',
'customFieldType' => 'text',
'componentName' => 'sw-media-field',
'customFieldPosition' => 14
]
],
[
'name' => 'imnxx_landingpage_navi_logo_url',
'type' => CustomFieldTypes::TEXT,
'config' => [
'label' => [
'de-DE' => 'Logo URL (imnxx_landingpage_navi_logo_url)'
],
'type' => 'text',
'customFieldType' => 'text',
'componentName' => 'sw-media-field',
'customFieldPosition' => 15
]
],
[
'name' => 'imnxx_landingpage_navi_flowing_text_font_family',
'type' => CustomFieldTypes::TEXT,
'config' => [
'label' => [
'de-DE' => 'Fließtext font family (imnxx_landingpage_navi_flowing_text_font_family)'
],
'type' => 'text',
'customFieldType' => 'text',
'componentName' => 'sw-media-field',
'customFieldPosition' => 16
]
],
[
'name' => 'imnxx_landingpage_navi_padding',
'type' => CustomFieldTypes::TEXT,
'config' => [
'label' => [
'de-DE' => 'Navi Innenabstand - Padding (imnxx_landingpage_navi_padding)'
],
'helpText' => [
'de-DE' => 'Vier Zahlen (Oben, Rechts, Unten, Links), zwei (Vertikal, Horizontal) oder nur eine (in alle 4 Richtungen). Jeweils mit px oder rem. Ohne Angabe bei "1rem 0".'
],
'type' => 'text',
'customFieldType' => 'text',
'componentName' => 'sw-media-field',
'customFieldPosition' => 17
]
],
[
'name' => 'imnxx_landingpage_navi_menu_margin',
'type' => CustomFieldTypes::TEXT,
'config' => [
'label' => [
'de-DE' => 'Menü Abstand nach unten - margin-bottom (imnxx_landingpage_navi_menu_margin)'
],
'helpText' => [
'de-DE' => 'Kommt zu dem Navi Innenabstand dazu. Angabe mit px oder rem.'
],
'type' => 'text',
'customFieldType' => 'text',
'componentName' => 'sw-media-field',
'customFieldPosition' => 17
]
]
],
'relations' => [
[
// 'id' => Uuid::randomHex(),
'entityName' => 'category'
]
]
]
], $installContext->getContext());
}
}