Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Shopware\Themes\CosmeticsShop;
- use Shopware\Components\Form as Form;
- use Doctrine\Common\Collections\ArrayCollection;
- use Shopware\Components\Theme\ConfigSet;
- class Theme extends \Shopware\Components\Theme
- {
- protected $extend = 'Responsive';
- protected $name = <<<'SHOPWARE_EOD'
- GoodDay - CosmeticsShop Theme
- SHOPWARE_EOD;
- protected $description = <<<'SHOPWARE_EOD'
- SHOPWARE_EOD;
- protected $author = <<<'SHOPWARE_EOD'
- Daniel Bohusz
- SHOPWARE_EOD;
- protected $license = <<<'SHOPWARE_EOD'
- GoodDay
- SHOPWARE_EOD;
- protected $injectBeforePlugins = true;
- /**
- * Javascript files which will be used in the theme
- *
- * @var array
- */
- protected $javascript = [
- 'src/js/custom.js'
- ];
- private function getLabel($snippetName)
- {
- $description = Shopware()->Snippets()->getNamespace('themes/CosmeticsShop/backend/config')->get($snippetName);
- return $description;
- }
- public function createConfig(Form\Container\TabContainer $container)
- {
- $tab = $this->createTab(
- 'cosmeticshop_settings',
- 'CosmeticShop settings',
- [
- 'attributes' => [
- 'autoScroll' => true
- ]
- ]
- );
- $container->addTab($tab);
- $tab->addElement($this->createCustomTabPanel());
- }
- public function createCustomTabPanel()
- {
- $tabPanel = $this->createTabPanel(
- 'custom_tab_panel',
- [
- 'attributes' => [
- 'plain' => true,
- ],
- ]
- );
- $tabPanel->addTab($this->createColorSettingsTab());
- $tabPanel->addTab($this->createFooterSettingsTab());
- return $tabPanel;
- }
- public function createColorSettingsTab(){
- $tab = $this->createTab(
- 'color_settings_tab',
- 'CosmeticShop color settings',
- [
- 'attributes' => [
- 'autoScroll' => true
- ]
- ]
- );
- $fieldSet = $this->createFieldSet(
- 'color_settings',
- 'Color Settings',
- array(
- 'attributes' => array(
- 'layout' => 'column',
- 'flex' => 0,
- 'defaults' => array(
- 'columnWidth' => 0.5,
- 'labelWidth' => 180,
- 'margin' => '2 15 2 0'
- )
- )
- )
- );
- // Create the base color picker fields
- $fieldSet->addElement(
- $this->createColorPickerField(
- 'cosmetics-light-prime',
- '@cosmetics-light-prime',
- '#fe9699'
- )
- );
- $fieldSet->addElement(
- $this->createColorPickerField(
- 'banner-border',
- '@banner-border',
- '#fe9699'
- )
- );
- $fieldSet->addElement(
- $this->createColorPickerField(
- 'banner-text-title',
- '@banner-text-title',
- '#793436'
- )
- );
- $fieldSet->addElement(
- $this->createColorPickerField(
- 'banner-text-subtitle',
- '@banner-text-subtitle',
- '#3f3e3e'
- )
- );
- $fieldSet->addElement(
- $this->createColorPickerField(
- 'product-headline',
- '@product-headline',
- '#f96a6e'
- )
- );
- $fieldSet->addElement(
- $this->createColorPickerField(
- 'line',
- '@line',
- '#8e8e8e'
- )
- );
- $fieldSet->addElement(
- $this->createColorPickerField(
- 'banner-line',
- '@banner-line',
- '#f96a6e'
- )
- );
- $fieldSet->addElement(
- $this->createColorPickerField(
- 'newsletter',
- '@newsletter',
- '#f96a6e'
- )
- );
- $tab->addElement($fieldSet);
- return $tab;
- }
- public function createFooterSettingsTab(){
- $tab = $this->createTab(
- 'color_footer_tab',
- 'CosmeticShop footer settings',
- [
- 'attributes' => [
- 'autoScroll' => true
- ]
- ]
- );
- $footerSettingsfieldSet = $this->createFieldSet(
- 'footer_settings',
- 'Footer Settings',
- array(
- 'attributes' => array(
- 'layout' => 'column',
- 'flex' => 0,
- 'defaults' => array(
- 'columnWidth' => 0.5,
- 'labelWidth' => 180,
- 'margin' => '2 15 2 0'
- )
- )
- )
- );
- // mail
- $footerSettingsfieldSet->addElement(
- $textField = $this->createTextField(
- 'cosmetics_footer_mail',
- $this->getLabel('cosmetics_footer_mail'),
- 'examplecompany.com',
- array(
- 'attributes' => array(
- 'lessCompatible' => false
- )
- )
- )
- );
- $footerSettingsfieldSet->addElement(
- $checkboxField = $this->createCheckboxField(
- 'cosmetics_footer_mail_active',
- $this->getLabel('cosmetics_footer_mail_active'),
- false
- )
- );
- // phone
- $footerSettingsfieldSet->addElement(
- $textField = $this->createTextField(
- 'cosmetics_footer_phone',
- $this->getLabel('cosmetics_footer_phone'),
- array(
- 'attributes' => array(
- 'lessCompatible' => false
- )
- )
- )
- );
- $footerSettingsfieldSet->addElement(
- $checkboxField = $this->createCheckboxField(
- 'cosmetics_footer_phone_active',
- $this->getLabel('cosmetics_footer_phone_active'),
- false
- )
- );
- // facebook
- $footerSettingsfieldSet->addElement(
- $textField = $this->createTextField(
- 'cosmetics_facebook_url',
- $this->getLabel('cosmetics_facebook_url'),
- '#',
- array(
- 'attributes' => array(
- 'lessCompatible' => false
- )
- )
- )
- );
- $footerSettingsfieldSet->addElement(
- $checkboxField = $this->createCheckboxField(
- 'cosmetics_facebook_active',
- $this->getLabel('cosmetics_facebook_active'),
- false
- )
- );
- // instagram
- $footerSettingsfieldSet->addElement(
- $textField = $this->createTextField(
- 'cosmetics_instagram_url',
- $this->getLabel('cosmetics_instagram_url'),
- '#',
- array(
- 'attributes' => array(
- 'lessCompatible' => false
- )
- )
- )
- );
- $footerSettingsfieldSet->addElement(
- $checkboxField = $this->createCheckboxField(
- 'cosmetics_instagram_active',
- $this->getLabel('cosmetics_instagram_active'),
- false
- )
- );
- // twitter
- $footerSettingsfieldSet->addElement(
- $textField = $this->createTextField(
- 'cosmetics_twitter_url',
- $this->getLabel('cosmetics_twitter_url'),
- '#',
- array(
- 'attributes' => array(
- 'lessCompatible' => false
- )
- )
- )
- );
- $footerSettingsfieldSet->addElement(
- $checkboxField = $this->createCheckboxField(
- 'cosmetics_twitter_active',
- $this->getLabel('cosmetics_twitter_active'),
- false
- )
- );
- // privacy
- $footerSettingsfieldSet->addElement(
- $checkboxField = $this->createCheckboxField(
- 'privacy_policy',
- $this->getLabel('privacy_policy'),
- false
- )
- );
- // dropdown menu
- $footerSettingsfieldSet->addElement(
- $checkboxField = $this->createCheckboxField(
- 'dropdown_menu',
- $this->getLabel('dropdown_menu'),
- false
- )
- );
- $tab->addElement($footerSettingsfieldSet);
- return $tab;
- }
- /**
- * Helper function to merge default theme colors with color schemes
- * @param ArrayCollection $collection
- */
- public function createConfigSets(ArrayCollection $collection)
- {
- $set = new ConfigSet();
- $set->setName('CosmeticsShopPink Set')->setDescription(
- ''
- )->setValues(
- [
- 'brand-primary' => '#f96a6e',
- 'brand-primary-light' => 'saturate(lighten(@brand-primary,12%), 5%)',
- 'brand-secondary' => '#3f3e3e',
- 'brand-secondary-dark' => 'darken(@brand-secondary, 15%)',
- 'gray' => '#F5F5F8',
- 'gray-light' => 'lighten(@gray, 1%)',
- 'gray-dark' => 'darken(@gray-light, 10%)',
- 'border-color' => '#8e8e8e',
- 'highlight-success' => '#2ECC71',
- 'highlight-error' => '#E74C3C',
- 'highlight-notice' => '#F1C40F',
- 'highlight-info' => '#4AA3DF',
- 'body-bg' => '#ffffff',
- 'overlay-bg' => '#000000',
- 'overlay-dark-bg' => '@overlay-bg',
- 'overlay-light-bg' => '#FFFFFF',
- 'overlay-opacity' => '0.7',
- 'text-color' => '@brand-secondary',
- 'text-color-dark' => '@brand-secondary-dark',
- 'link-color' => '@brand-primary',
- 'link-hover-color' => 'darken(@link-color, 10%)',
- 'rating-star-color' => '@highlight-notice',
- 'btn-default-top-bg' => '#FFFFFF',
- 'btn-default-bottom-bg' => '@gray-light',
- 'btn-default-hover-bg' => '#FFFFFF',
- 'btn-default-text-color' => '@text-color',
- 'btn-default-hover-text-color' => '@brand-primary',
- 'btn-default-border-color' => '@border-color',
- 'btn-default-hover-border-color' => '@brand-primary',
- 'btn-primary-top-bg' => '@brand-primary-light',
- 'btn-primary-bottom-bg' => '@brand-primary',
- 'btn-primary-hover-bg' => '@cosmetics-light-prime',
- 'btn-primary-text-color' => '#FFFFFF',
- 'btn-primary-hover-text-color' => '@btn-primary-text-color',
- 'btn-secondary-top-bg' => '@brand-secondary',
- 'btn-secondary-bottom-bg' => '@brand-secondary-dark',
- 'btn-secondary-hover-bg' => '@brand-secondary-dark',
- 'btn-secondary-text-color' => '#FFFFFF',
- 'btn-secondary-hover-text-color' => '@btn-secondary-text-color',
- 'panel-header-bg' => '@gray-light',
- 'panel-header-color' => '@text-color',
- 'panel-border' => '@border-color',
- 'panel-bg' => '#FFFFFF',
- 'label-color' => '@text-color',
- 'input-bg' => '@gray-light',
- 'input-color' => '@brand-secondary',
- 'input-placeholder-color' => 'lighten(@text-color, 15%)',
- 'input-border' => '@border-color',
- 'input-focus-bg' => '#FFFFFF',
- 'input-focus-border' => '@brand-primary',
- 'input-focus-color' => '@brand-secondary',
- 'input-error-bg' => 'desaturate(lighten(@highlight-error, 38%), 20%)',
- 'input-error-border' => '@highlight-error',
- 'input-error-color' => '@highlight-error',
- 'input-success-bg' => '#FFFFFF',
- 'input-success-border' => '@highlight-success',
- 'input-success-color' => '@brand-secondary-dark',
- 'panel-table-header-bg' => '@panel-bg',
- 'panel-table-header-color' => '@text-color-dark',
- 'table-row-bg' => '#FFFFFF',
- 'table-row-color' => '@brand-secondary',
- 'table-row-highlight-bg' => 'darken(@table-row-bg, 4%)',
- 'table-header-bg' => '@brand-secondary',
- 'table-header-color' => '#FFFFFF',
- 'badge-discount-bg' => '#793436',
- 'badge-discount-color' => '#FFFFFF',
- 'badge-newcomer-bg' => '@brand-primary',
- 'badge-newcomer-color' => '#FFFFFF',
- 'badge-recommendation-bg' => '#c65457',
- 'badge-recommendation-color' => '#FFFFFF',
- 'badge-download-bg' => '@highlight-info',
- 'badge-download-color' => '#FFFFFF',
- 'cosmetics-light-prime' => '#fe9699',
- 'banner-border' => '#fe9699',
- 'banner-text-title' => '#793436',
- 'banner-text-subtitle' => '#3f3e3e',
- 'product-headline' => '#f96a6e',
- 'line' => '#8e8e8e',
- 'banner-line' => '#f96a6e',
- 'newsletter' => '#fe9699',
- "font-base-stack" => "'Assistant', sans-serif",
- "font-base-weight" => "400",
- ]
- );
- $collection->add($set);
- $set = new ConfigSet();
- $set->setName('CosmeticsShopBlue Set')->setDescription(
- ''
- )->setValues(
- [
- 'brand-primary' => '#1f3f7c',
- 'brand-primary-light' => 'saturate(lighten(@brand-primary,12%), 5%)',
- 'brand-secondary' => '#3f3e3e',
- 'brand-secondary-dark' => 'darken(@brand-secondary, 15%)',
- 'gray' => '#F5F5F8',
- 'gray-light' => 'lighten(@gray, 1%)',
- 'gray-dark' => 'darken(@gray-light, 10%)',
- 'border-color' => '#9ca6ad',
- 'highlight-success' => '#2ECC71',
- 'highlight-error' => '#E74C3C',
- 'highlight-notice' => '#F1C40F',
- 'highlight-info' => '#4AA3DF',
- 'body-bg' => '#ffffff',
- 'overlay-bg' => '#000000',
- 'overlay-dark-bg' => '@overlay-bg',
- 'overlay-light-bg' => '#FFFFFF',
- 'overlay-opacity' => '0.7',
- 'text-color' => '@brand-secondary',
- 'text-color-dark' => '@brand-secondary-dark',
- 'link-color' => '@brand-primary',
- 'link-hover-color' => 'darken(@link-color, 10%)',
- 'rating-star-color' => '@highlight-notice',
- 'btn-default-top-bg' => '#FFFFFF',
- 'btn-default-bottom-bg' => '@gray-light',
- 'btn-default-hover-bg' => '#FFFFFF',
- 'btn-default-text-color' => '@text-color',
- 'btn-default-hover-text-color' => '@brand-primary',
- 'btn-default-border-color' => '@border-color',
- 'btn-default-hover-border-color' => '@brand-primary',
- 'btn-primary-top-bg' => '@brand-primary-light',
- 'btn-primary-bottom-bg' => '@brand-primary',
- 'btn-primary-hover-bg' => '@cosmetics-light-prime',
- 'btn-primary-text-color' => '#FFFFFF',
- 'btn-primary-hover-text-color' => '@btn-primary-text-color',
- 'btn-secondary-top-bg' => '@brand-secondary',
- 'btn-secondary-bottom-bg' => '@brand-secondary-dark',
- 'btn-secondary-hover-bg' => '@brand-secondary-dark',
- 'btn-secondary-text-color' => '#FFFFFF',
- 'btn-secondary-hover-text-color' => '@btn-secondary-text-color',
- 'panel-header-bg' => '@gray-light',
- 'panel-header-color' => '@text-color',
- 'panel-border' => '@border-color',
- 'panel-bg' => '#FFFFFF',
- 'label-color' => '@text-color',
- 'input-bg' => '@gray-light',
- 'input-color' => '@brand-secondary',
- 'input-placeholder-color' => 'lighten(@text-color, 15%)',
- 'input-border' => '@border-color',
- 'input-focus-bg' => '#FFFFFF',
- 'input-focus-border' => '@brand-primary',
- 'input-focus-color' => '@brand-secondary',
- 'input-error-bg' => 'desaturate(lighten(@highlight-error, 38%), 20%)',
- 'input-error-border' => '@highlight-error',
- 'input-error-color' => '@highlight-error',
- 'input-success-bg' => '#FFFFFF',
- 'input-success-border' => '@highlight-success',
- 'input-success-color' => '@brand-secondary-dark',
- 'panel-table-header-bg' => '@panel-bg',
- 'panel-table-header-color' => '@text-color-dark',
- 'table-row-bg' => '#FFFFFF',
- 'table-row-color' => '@brand-secondary',
- 'table-row-highlight-bg' => 'darken(@table-row-bg, 4%)',
- 'table-header-bg' => '@brand-secondary',
- 'table-header-color' => '#FFFFFF',
- 'badge-discount-bg' => '#9ca6ad',
- 'badge-discount-color' => '#FFFFFF',
- 'badge-newcomer-bg' => '#1f3f7c',
- 'badge-newcomer-color' => '#FFFFFF',
- 'badge-recommendation-bg' => '#1a2a40',
- 'badge-recommendation-color' => '#FFFFFF',
- 'badge-download-bg' => '@highlight-info',
- 'badge-download-color' => '#FFFFFF',
- 'cosmetics-light-prime' => '#1a2a40',
- 'banner-border' => '#9ca6ad',
- 'banner-text-title' => '#253759',
- 'banner-text-subtitle' => '#3f3e3e',
- 'product-headline' => '#1a2a40',
- 'line' => '#8e8e8e',
- 'banner-line' => '#9ca6ad',
- 'newsletter' => '#1a2a40',
- "font-base-stack" => "'Assistant', sans-serif",
- "font-base-weight" => "400",
- ]
- );
- $collection->add($set);
- $set = new ConfigSet();
- $set->setName('CosmeticsShopBrown Set')->setDescription(
- ''
- )->setValues(
- [
- 'brand-primary' => '#a3897e',
- 'brand-primary-light' => 'saturate(lighten(@brand-primary,12%), 5%)',
- 'brand-secondary' => '#3f3e3e',
- 'brand-secondary-dark' => 'darken(@brand-secondary, 15%)',
- 'gray' => '#F5F5F8',
- 'gray-light' => 'lighten(@gray, 1%)',
- 'gray-dark' => 'darken(@gray-light, 10%)',
- 'border-color' => '#2f343a',
- 'highlight-success' => '#2ECC71',
- 'highlight-error' => '#E74C3C',
- 'highlight-notice' => '#F1C40F',
- 'highlight-info' => '#4AA3DF',
- 'body-bg' => '#ffffff',
- 'overlay-bg' => '#000000',
- 'overlay-dark-bg' => '@overlay-bg',
- 'overlay-light-bg' => '#FFFFFF',
- 'overlay-opacity' => '0.7',
- 'text-color' => '@brand-secondary',
- 'text-color-dark' => '@brand-secondary-dark',
- 'link-color' => '@brand-primary',
- 'link-hover-color' => 'darken(@link-color, 10%)',
- 'rating-star-color' => '@highlight-notice',
- 'btn-default-top-bg' => '#FFFFFF',
- 'btn-default-bottom-bg' => '@gray-light',
- 'btn-default-hover-bg' => '#FFFFFF',
- 'btn-default-text-color' => '@text-color',
- 'btn-default-hover-text-color' => '@brand-primary',
- 'btn-default-border-color' => '@border-color',
- 'btn-default-hover-border-color' => '@brand-primary',
- 'btn-primary-top-bg' => '@brand-primary-light',
- 'btn-primary-bottom-bg' => '@brand-primary',
- 'btn-primary-hover-bg' => '@cosmetics-light-prime',
- 'btn-primary-text-color' => '#FFFFFF',
- 'btn-primary-hover-text-color' => '@btn-primary-text-color',
- 'btn-secondary-top-bg' => '@brand-secondary',
- 'btn-secondary-bottom-bg' => '@brand-secondary-dark',
- 'btn-secondary-hover-bg' => '@brand-secondary-dark',
- 'btn-secondary-text-color' => '#FFFFFF',
- 'btn-secondary-hover-text-color' => '@btn-secondary-text-color',
- 'panel-header-bg' => '@gray-light',
- 'panel-header-color' => '@text-color',
- 'panel-border' => '@border-color',
- 'panel-bg' => '#FFFFFF',
- 'label-color' => '@text-color',
- 'input-bg' => '@gray-light',
- 'input-color' => '@brand-secondary',
- 'input-placeholder-color' => 'lighten(@text-color, 15%)',
- 'input-border' => '@border-color',
- 'input-focus-bg' => '#FFFFFF',
- 'input-focus-border' => '@brand-primary',
- 'input-focus-color' => '@brand-secondary',
- 'input-error-bg' => 'desaturate(lighten(@highlight-error, 38%), 20%)',
- 'input-error-border' => '@highlight-error',
- 'input-error-color' => '@highlight-error',
- 'input-success-bg' => '#FFFFFF',
- 'input-success-border' => '@highlight-success',
- 'input-success-color' => '@brand-secondary-dark',
- 'panel-table-header-bg' => '@panel-bg',
- 'panel-table-header-color' => '@text-color-dark',
- 'table-row-bg' => '#FFFFFF',
- 'table-row-color' => '@brand-secondary',
- 'table-row-highlight-bg' => 'darken(@table-row-bg, 4%)',
- 'table-header-bg' => '@brand-secondary',
- 'table-header-color' => '#FFFFFF',
- 'badge-discount-bg' => '#a3897e',
- 'badge-discount-color' => '#FFFFFF',
- 'badge-newcomer-bg' => '#b58a6a',
- 'badge-newcomer-color' => '#FFFFFF',
- 'badge-recommendation-bg' => '#e3bf96',
- 'badge-recommendation-color' => '#FFFFFF',
- 'badge-download-bg' => '@highlight-info',
- 'badge-download-color' => '#FFFFFF',
- 'cosmetics-light-prime' => '#b58a6a',
- 'banner-border' => '#ffddb3',
- 'banner-text-title' => '#2c333d',
- 'banner-text-subtitle' => '#2c333d',
- 'product-headline' => '#a3897e',
- 'line' => '#b58a6a',
- 'banner-line' => '#a3897e',
- 'newsletter' => '#a3897e',
- "font-base-stack" => "'Assistant', sans-serif",
- "font-base-weight" => "400",
- ]
- );
- $collection->add($set);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement