This changelog references changes done in Shopware 5.0 patch versions.
View all changes from v5.0.3...v5.0.4
- Change file extension of
Shopware_Components_Convert_Excel::generateXMLto .xls - Fixed jsonrenderer for backend order batchprocessing
View all changes from v5.0.2...v5.0.3
- The variant API resource now supports the getList method. It will return all variants with prices and attributes. You can optionally calculate the gross price by using the "considerTaxInput" parameter.
- The getList method of the articles API resource now returns additionally the attributes of an article.
- Change event argument property
nametovouchernameinShopware_Modules_Basket_AddVoucher_FilterSqlinsBasket.phpdue to reserved word. - Support for batch user deleting in Backend UserManager
- Added
createMediaFieldto Emotion Component Model - Added open graph and twitter meta tags to a new block
frontend_index_header_meta_tags_opengraphin theheader.tpl
View all changes from v5.0.1...v5.0.2
- Method
createMenuItemin plugin bootstrap now results in an duplicate error when passing an existing label with the same parent - Removed
Shopware_Controllers_Backend_Order::getStatisticActionand statistics in the order backend module. - It's no longer possible to have spaces in article numbers. Existing articles with spaces in their numbers will still work, but the article cannot be changed without fixing the number.
- Change structure of
build-databasetarget inbuild/build.xmlto allow a more fine grained build process. - Introduce new configuration option
snippet.showSnippetPlaceholder. Empty snippets are now hidden by default. IfshowSnippetPlaceholderistruesnippet placeholders will be shown. - Removed table
s_emarketing_vouchers_cashed. - 'Shopware.form.field.ArticleSearch' search using the "variants" option is deprecated. Use "configurator" to load configurator articles or "searchVariants" to load article variants with the correct additional text and ordernumber.
- Added column
addedto the tables_campaigns_mailaddresseswhich holds the date of the newsletter registration. It will be displayed in the newsletter administration under "Recipients" as the "Double-Opt-In date" column. - Removed the expert layout and the corresponding mail form inside the batch processing window of the order backend module.
- Added support for attributes in backend module site
- Added a lot more jQuery plugin events.
- Marked some jQuery plugin events as deprecated which will be removed in the version 5.1. They were replaced with more conventional names:
- plugin/collapseCart/afterRemoveArticle => plugin/swCollapseCart/onRemoveArticleFinished
- plugin/collapseCart/afterLoadCart => plugin/swCollapseCart/onLoadCartFinished
- plugin/collapseCart/onMouseLeave => plugin/swCollapseCart/onMouseLeave
- plugin/collapseCart/onCloseButton => plugin/swCollapseCart/onCloseButton
- plugin/collapseCart/onRemoveArticle => plugin/swCollapseCart/onRemoveArticle
- plugin/collapseCart/onMenuOpen => plugin/swCollapseCart/onMenuOpen
- plugin/collapseCart/onLoadCart => plugin/swCollapseCart/onLoadCart
- plugin/collapseCart/onCloseMenu => plugin/swCollapseCart/onCloseMenu
- plugin/collapsePanel/onOpen => plugin/swCollapsePanel/onOpen
- plugin/collapsePanel/onClose => plugin/swCollapsePanel/onClose
- plugin/filterComponent/onChange => plugin/swFilterComponent/onChange
- plugin/emotionLoader/loadEmotion => plugin/swEmotionLoader/onLoadEmotion
- plugin/emotionLoader/initEmotion => plugin/swEmotionLoader/onInitEmotion
- plugin/emotionLoader/showEmotion => plugin/swEmotionLoader/onShowEmotion
- plugin/emotionLoader/hideEmotion => plugin/swEmotionLoader/onHideEmotion
- plugin/emotionLoader/showFallbackContent => plugin/swEmotionLoader/onShowFallbackContent
- plugin/emotionLoader/hideFallbackContent => plugin/swEmotionLoader/onHideFallbackContent
- plugin/emotion/initElements => plugin/swEmotion/onInitElements
- plugin/emotion/initFullscreen => plugin/swEmotion/onInitFullscreen
- plugin/emotion/removeFullscreen => plugin/swEmotion/onRemoveFullscreen
- plugin/emotion/initMasonryGrid => plugin/swEmotion/onInitMasonryGrid
- plugin/emotion/initScaleGrid => plugin/swEmotion/onInitScaleGrid
- plugin/emotion/registerEvents => plugin/swEmotion/onRegisterEvents
- plugin/imageSlider/updateTransform => plugin/swImageSlider/onUpdateTransform
- plugin/imageSlider/slide => plugin/swImageSlider/onSlide
- plugin/imageSlider/slideNext => plugin/swImageSlider/onSlideNext
- plugin/imageSlider/slidePrev => plugin/swImageSlider/onSlidePrev
- plugin/menuScroller/updateResize => plugin/swMenuScroller/onUpdateResize
- plugin/offcanvasMenu/beforeOpenMenu => plugin/swOffcanvasMenu/onBeforeOpenMenu
- plugin/offCanvasMenu/openMenu => plugin/swOffcanvasMenu/onOpenMenu
- plugin/offCanvasMenu/closeMenu => plugin/swOffcanvasMenu/onCloseMenu
- plugin/-PLUGIN_NAME-/init => plugin/-PLUGIN_NAME-/onInit (PluginBase)
- plugin/-PLUGIN_NAME-/destroy => plugin/-PLUGIN_NAME-/onDestroy (PluginBase)
- plugin/-PLUGIN_NAME-/on => plugin/-PLUGIN_NAME-/onRegisterEvent (PluginBase)
- plugin/-PLUGIN_NAME-/off => plugin/-PLUGIN_NAME-/onRemoveEvent (PluginBase)
- plugin/productSlider/trackItems => plugin/swProductSlider/onTrackItems
- plugin/productSlider/trackArrows => plugin/swProductSlider/onTrackArrows
- plugin/productSlider/itemsLoaded => plugin/swProductSlider/onLoadItemsSuccess
- plugin/productSlider/loadItems => plugin/swProductSlider/onLoadItems
- plugin/productSlider/createContainer => plugin/swProductSlider/onCreateContainer
- plugin/productSlider/createArrows => plugin/swProductSlider/onCreateArrows
- plugin/productSlider/slideNext => plugin/swProductSlider/onSlideNext
- plugin/productSlider/slidePrev => plugin/swProductSlider/onSlidePrev
- plugin/productSlider/slideToElement => plugin/swProductSlider/onSlideToElement
- plugin/productSlider/slide => plugin/swProductSlider/onSlide
- plugin/productSlider/autoSlide => plugin/swProductSlider/onAutoSlide
- plugin/productSlider/stopAutoSlide => plugin/swProductSlider/onStopAutoSlide
- plugin/productSlider/scrollNext => plugin/swProductSlider/onScrollNext
- plugin/productSlider/scrollPrev => plugin/swProductSlider/onScrollPrev
- plugin/productSlider/autoScroll => plugin/swProductSlider/onAutoScroll
- plugin/productSlider/stopAutoScroll => plugin/swProductSlider/onStopAutoScroll
- plugin/productSlider/buffer => plugin/swProductSlider/onBuffer
- plugin/rangeSlider/changeMin => plugin/swRangeSlider/onSetMin
- plugin/rangeSlider/changeMax => plugin/swRangeSlider/onSetMax
- plugin/rangeSlider/reset => plugin/swRangeSlider/onReset
- plugin/rangeSlider/onChange => plugin/swRangeSlider/onEndDrag
- Added new validation rules for snippets
- Use
bin/console sw:snippets:validate <your-plugin-snippets-path>to check the validity of your snippets. - Defining a snippet value in multiple lines is deprecated.
- All snippet values that don't pass the validation should be refactored.
- Use
- The method
getSeoArticleQueryinsRewriteTable.phpwas changed to select the translations for the article attributes.
View all changes from v5.0.0...v5.0.1
- Create
sw:theme:dump:configurationcommand to generate watch files for theme compiling - Rename \Shopware\Components\Theme\Compiler::preCompile to \Shopware\Components\Theme\Compiler::compile
- Change the following \Shopware\Components\Theme\Compiler functions visibility to private:
- compilePluginCss
- clearThemeCache
- buildConfig
- compilePluginLess
- compilePluginCss
- compressPluginJavascript
- clearDirectory
- createThemeJavascriptFile
- Changed \Shopware\Components\Theme\PathResolver functions: getJsFilePaths and getCssFilePaths
- Renamed to singular naming, getJsFilePath and getCssFilePath
- Returning directly the
defaultfile path
- Add themes/Gruntfile.js for local compiling.
- \Shopware\Bundle\SearchBundle\Condition\HasPriceCondition marked as deprecated.
- Add \Shopware\Bundle\SearchBundle\StoreFrontCriteriaFactory::createBaseCriteria function to create a default criteria with all validation conditions.
- Moved the mixins
primary-gradient,secondary-gradientandwhite-gradientback to the Responsive theme- We moved the variable declaration of
remScaleFactorto the Bare theme. - If you have created a custom theme based on the Bare theme and used the mentioned mixins, you need to modify the used variables in the mixin to get it working.
- The
icon-elementmixin can now be found in the Responsive theme as well.
- We moved the variable declaration of
- \sArticles::sGetProductByOrdernumber result is now equals with the \sArticles::sGetPromotionById result.
- Add console command
sw:refresh:search:indexto manually regenerate the search index. The optional parameter--clear-tablecan be used to clear the index tables before regenerating the data again. - Remove
pricefield override in AjaxSearch controller. - Include
frontend/listing/product-box/product-price.tpltemplate in ajax search to display product prices. - \Shopware\Bundle\SearchBundleDBAL\ConditionHandler\HasPriceConditionHandler now joins the prices as a 1:1 association for a performance improvement.
- sCategories::sGetCategoryContent function returns no more the category articleCount. Variable is unused.
- sCategories::sGetCategoryIdByArticleId function use now the s_articles_categories table.
- Add __redirect parameter in frontend language switcher. Each language switcher requires now an additionally post parameter to redirect to the new shop
<input type="hidden" name="__redirect" value="1"> - SEO URL generation variable "statistic" has been translated and corrected to "static"
- Theme config elements can now define, over the attributes array, if they are less compatible. Example:
attributes => ['lessCompatible' => false], default is set to true. - Implement plugin bootstrap helper functions: addHttpCacheRoute and removeHttpCacheRoute, to add and remove http cache routes.
- Refactor getRandomArticle function of sArticles. Shopware_Modules_Articles_GetPromotionById_FilterSqlRandom event removed.
Mark VAT ID number as requiredmoved toLogin / RegistrationinBasic Settings. All other VAT ID validation options were removed. If you need VAT ID validation functionalities, please use the VAT ID Validation plugin available on the store.sAdmin::sValidateVat()removed
- Removed supplier description on article detail page to prevent duplicated content for google remote crawling
- Fix duplicate name parameter for backend extjs stores inside the config module. Repository class name sent before as
nameparameter. Now the stores uses_repositoryClassas parameter. - Removed shopware_storefront.product_gateway (\Shopware\Bundle\StoreFrontBundle\Gateway\ProductGatewayInterface).
- \Shopware\Bundle\StoreFrontBundle\Service\Core\ProductService uses now the ListProductService to load the product data and converts the product structs by loaded list products.
- Removed
\Shopware\Bundle\StoreFrontBundle\Gateway\DBAL\Hydrator\ProductHydrator::hydrateProductfunction. - Removed \Shopware\Bundle\StoreFrontBundle\Struct\ListProduct::STATE_TRANSLATED constant.
- Removed Service
guzzle_http_client, useguzzle_http_client_factoryinstead. - Added support for Bundle of CA Root Certificates. See: http://curl.haxx.se/docs/caextract.html.
- Removed
setFieldandsetModefunction in \Shopware\Bundle\SearchBundle\Facet\ProductAttributeFacet. - Removed unnecessary theme variable prefix for less compiler. Each theme config variable prefixed with "theme" . ucfirst($key) which generates @themeBrandPrimary. This variables were remapped inside responsive theme.
- New orders will no longer set
s_order.transactionIDautomatically from POST data. 3rd party plugins can still use this value as before. - Fix translation API, rename all
localeIdreferences toshopId. Create / update / delete withlocaleIdare still supported as legacy. \Shopware\Models\Translation\Translationnow correctly relates toShopmodel instead ofLocale.- widgets/recommendations - boughtAction & viewedAction calls no more the sGetPromotionById function.
- Added emotion positioning number for ordering emotions by position number if there are more emotions on one page
- Replaced
closeOverlaywithopenOverlayoption in the loading indicator to improve the simplicity. - Removed overlay options in the modal box and loading indicator jQuery plugin.
- Overlay jQuery plugin now only provides the closeOnClick, onClick and onClose options. To style the overlay, use the corresponding less file.
- Removed unused methods:
Shopware_Controllers_Backend_Config::getTemplateListActionShopware_Controllers_Backend_Config::refreshTemplateListShopware_Controllers_Backend_Config::saveTemplateAction
- Removed unused files:
themes/Backend/ExtJs/backend/config/view/form/template.jsthemes/Backend/ExtJs/backend/config/view/template/detail.jsthemes/Backend/ExtJs/backend/config/view/template/preview.jsthemes/Backend/ExtJs/backend/config/view/template/view.jsthemes/Backend/ExtJs/backend/config/store/form/template.jsthemes/Backend/ExtJs/backend/config/store/model/template.jsthemes/Backend/ExtJs/backend/config/store/controller/template.js
- Removed classes:
ConfigIframe.phpbackend controllerViewport.phpfrontend controller
- Removed template files:
backend\index\iframe.tpl
- Removed commands
sw:store:download:updateandsw:store:licenseplugin. - Added
sw:store:downloadcommand to download install and updates of plugins. - Added
sw:store:list:integratedcommand to list all shopware 5 integrated plugins. - Shopware.model.Container provides now the raw record value as id parameter to the searchAssociationAction to request the whole record on form load.
- Added way to early exit the dispatch.
- After
Enlight_Controller_Front_RouteShutdowna response containing a redirect will not enter the dispatch loop.
- After
HttpCacheplugin is no longer handled by the Plugin manager. Use thePerformancewindow to enable/configure the Http cache instead- \Shopware\Models\Emotion\Repository::getListQuery function replaced by getListingQuery.
- Rename shopware_searchdbal.product_number_search to shopware_search.product_number_search. Use shopware_search.product_number_search service for number searchs.
- Remove aliases from bundle services. Example: list_product_service is now directly set to the old list_product_service_core
- Extend ProductAttributeFacet with different FacetResult properties, to allow full FacetResult configuration over the facet.
- Out of stock articles and variants are now not included in the product feed if the
Do not show on sale products that are out of stockoption is enabled - IonCube Loader version requirement bumped to 4.6.0 or higher
- Refactored routing component
- Removed classes:
Enlight_Controller_Router_DefaultEnlight_Controller_Router_EventArgs
- Removed events:
Enlight_Controller_Router_FilterAssembleParamsEnlight_Controller_Router_FilterUrlEnlight_Controller_Router_Assemble
- Removed methods:
Shopware_Plugins_Core_Router_Bootstrap::onFilterAssembleShopware_Plugins_Core_Router_Bootstrap::onFilterUrlShopware_Plugins_Core_Router_Bootstrap::onAssembleShopware_Plugins_Frontend_RouterRewrite_Bootstrap::onAfterSendResponseShopware_Plugins_Frontend_RouterRewrite_Bootstrap::onRouteShopware_Plugins_Frontend_RouterRewrite_Bootstrap::onAssembleShopware_Plugins_Frontend_RouterRewrite_Bootstrap::sRewriteQuery
- Removed classes:
- Shopware.grid.Panel executes now a local store search if no read url configured in the assigned store.
- Shopware.grid.Panel has now the RowEditing plugin inside the local variable rowEditor.
- Deprecated classes:
Zend_RestZend_HttpEnlight_Components_Adodb(also accessed asShopware()->Adodb()or$system->sDB_CONNECTION) will be removed in SW 5.1Shopware_Components_Search_Adapter_Defaultis now deprecated, use\Shopware\Bundle\SearchBundle\ProductNumberSearchZend_Validate_EmailAddress
- Deprecated methods/variables:
Shopware_Controllers_Frontend_Account::ajaxLoginAction()is deprecatedShopware_Controllers_Frontend_Account::loginAction()usage to load a login page is deprecated. UseShopware_Controllers_Frontend_Register::indexAction()instead for both registration and loginsSystem::sSubShopsExport::sGetMultishop()sExport::sLanguagesExport::sMultishop
- Deprecated configuration variables from
Basic settings:basketHeaderColorbasketHeaderFontColorbasketTableColordetailModalpaymentEditingInCheckoutPageshowbundlemainarticle
- Deprecated tables/columns:
s_core_multilanguage. Table will be removed in SW 5.1. Previously unused fieldsmainID,flagstorefront,flagbackend,separate_numbers,scoped_registrationandnavigationare no longer loaded from the database
- Removed classes:
Enlight_Components_CurrencyEnlight_Components_Formand subclassesEnlight_Components_LocaleEnlight_Components_Menuand subclassesEnlight_Components_Siteand subclassesEnlight_Components_Test_Constraint_ArrayCountEnlight_Components_Test_Database_TestCaseEnlight_Components_Test_Selenium_TestCaseEnlight_Components_Test_TestSuiteEnlight_Extensions_Benchmark_BootstrapEnlight_Extensions_Debug_BootstrapEnlight_Extensions_ErrorHandler_BootstrapEnlight_Extensions_Log_BootstrapEnlight_Extensions_Router_BootstrapEnlight_Extensions_RouterSymfony_BootstrapEnlight_Extensions_Site_BootstrapEnlight_Components_Log(also accessed asShopware->Log())
- Removed methods/variables:
sArticles::sGetAllArticlesInCategory()sSystem::sSubShopssSystem::sLanguageData. Please useShopware()->Shop()insteadsSystem::sLanguage. Please useShopware()->Shop()->getId()insteadShopware_Plugins_Core_ControllerBase_Bootstrap::getLanguages()Shopware_Plugins_Core_ControllerBase_Bootstrap::getCurrencies()sExport::sGetLanguage()Shopware_Controllers_Backend_Article::getConfiguratorPriceSurchargeRepository()Shopware_Controllers_Backend_Article::saveConfiguratorPriceSurchargeAction()Shopware_Controllers_Backend_Article::deleteConfiguratorPriceSurchargeAction()Shopware_Controllers_Backend_Article::getArticlePriceSurcharges()Shopware_Controllers_Backend_Article::getSurchargeByOptionId()sArticles::sGetArticlesAverangeVotesArticles::getCategoryFilterssArticles::getFilterSortModesArticles::addFilterTranslationsArticles::sGetArticleConfigTranslationsArticles::sGetArticlesByNamesArticles::sGetConfiguratorImagesArticles::sCheckIfConfigsArticles::getCheapestVariantsArticles::calculateCheapestBasePriceDatasArticles::displayFiltersOnArticleDetailPagesArticles::getFilterQuerysArticles::addArticleCountSelectsArticles::addActiveFilterConditionsArticles::displayFilterArticleCountsArticles::sGetLastArticlessArticles::sGetCategoryPropertiessArticles::sGetArticlesVotesEnlight_Controller_Front::returnResponse()Shopware_Plugins_Core_Cron_Bootstrap::onAfterSendResponse()\Shopware\Models\User\User::setAdmin()\Shopware\Models\User\User::getAdmin()\Shopware\Models\User\User::setSalted()\Shopware\Models\User\User::getSalted()\Shopware\Models\Banner\Banner::setLiveShoppingId()\Shopware\Models\Banner\Banner::getLiveShoppingId()sArticles::getPromotionNumberByMode('premium')sArticles::sGetPromotions()sMarketing::sCampaignsGetDetail()sMarketing::sCampaignsGetList()\Shopware\Models\Plugin\Plugin::isDummy()\Shopware\Models\Plugin\Plugin::disableDummy()- Removed
sArticles::getPromotionNumberByMode('image')andsArticles::getPromotionNumberByMode('gfx')support
- Removed events:
Shopware_Modules_Articles_GetFilterQueryShopware_Modules_Article_GetFilterSortModeShopware_Modules_Article_GetCategoryFiltersEnlight_Controller_Front_SendResponseEnlight_Controller_Front_AfterSendResponseShopware_Modules_Articles_sGetProductByOrdernumber_FilterSqlShopware_Modules_Articles_GetPromotions_FilterSQL
- Removed Smarty vars:
$sArticle.sNavigationfor product detail page
- Removed configuration variables from
Basic settings:useDefaultControllerAlwaysarticlelimitconfigcustomfieldsconfigmaxcombinationsdisplayFilterArticleCountignoreshippingfreeforsurchargesliveinstockmailer_encodingredirectDownloadredirectnotfoundseorelcanonicalseoremovewhitespacestaxNumberdeactivateNoInstock
- Removed database table/columns:
s_core_rewrites_cms_groupss_core_auth.admins_core_auth.salteds_order_basket.liveshoppingIDs_order_basket.liveshoppingIDs_order_basket.liveshoppingIDs_emarketing_banners.liveshoppingIDs_core_sessions.expirerefs_core_sessions.createds_core_sessions_backend.createds_emarketing_promotions*s_core_plugins.capability_dummys_articles_details.impressions
- The new Shopware core selects all required data for
sGetArticleById,sGetPromotionByIdandsGetArticlesByCategory. The following events and internal functions are no longer used in these functions:sGetPromotionByIdeventsShopware_Modules_Articles_GetPromotionById_FilterSql
sGetPromotionByIdfunctionssGetTranslationsGetArticlePropertiessGetCheapestPricesCalculatingPricecalculateCheapestBasePriceDatagetArticleListingCover
sGetArticleByIdeventsShopware_Modules_Articles_GetArticleById_FilterSQL
sGetArticleByIdfunctionssGetTranslationsGetPricegroupDiscountsGetPromotionById(for similar and related products)sCheckIfEsdsGetPricegroupDiscountsCalculatingPricesGetCheapestPricesGetArticleConfigcalculateReferencePricesGetArticlePicturessGetArticlesVotessGetArticlesAverangeVotesGetArticleProperties
sGetArticlesByCategoryeventsShopware_Modules_Articles_sGetArticlesByCategory_FilterSqlShopware_Modules_Articles_sGetArticlesByCategory_FilterLoopStartShopware_Modules_Articles_sGetArticlesByCategory_FilterLoopEnd
sGetArticlesByCategoryfunctionssGetSupplierByIdsGetCheapestPricesCalculatingPricecalculateCheapestBasePriceData
- Removed plugin
Shopware_Plugins_Frontend_RouterOld_Bootstrap - Moved
engine/core/class/*toengine/Shopware/Core/* - Merged
_defaulttemplate into the_emotiontemplate - Removed the template directory
_defaultand all its dependencies - Added the ability to show campaign banners in blog categories
- Refactored the template structure of the compare functionality. The plugin now uses based on a widget.
- Added new block
frontend_listing_box_article_actions_comparein thelisting/box_article.tpl
- Added new block
- Removed support for flash banners. The associated template block
frontend_listing_swf_banneris marked as deprecated - Removed the template files for the feed functionality, which was marked as deprecated in SW 3.5
- Add new optional address fields to the register account and checkout process
- Added global messages template component to display e.g. error or success messages
- Added global css classes for different device viewports
- The registration and checkout workflows have been redesigned for the new template
- New jQuery plugin helper which provides all the basic operations every jQuery plugin needs to do
- Added several javascript libraries that enhance the supported features of the IE 8 and above
- Added
controller_actionandcontroller_namesmarty functions that return the correspondent variable values - The sitemap.xml uses now a smarty template
- Added
Turnover by device typein the backend statistics module - Added device type details to
ImpressionsandVisitorsin the backend statistics module
- Added
- Added
secureUninstallmethod and capability for plugins. When 'secureUninstall' capability is set, the user will be asked to select one of the uninstall methods:- (new)
Bootstrap::secureUninstall()should be remove only non-user data - (old)
Bootstrap::uninstall()current logic, should remove plugin and user data
- (new)
- The
ArticleListwas merged with the formerMultiEditplugin. Plugins hooking theArticleListController or extending theArticleListbackend module should be reviewed - When using
selectionconfigurator type, shipping estimations will only be displayed when the user selects a value for all groups - It's no longer possible to disable variant support for article that still have variants
- Added a new Theme Manager 2.0 with the possibility to create custom themes from the backend
- Themes now support specific snippets that are used exclusively in the theme to which they belong
- Shop configuration no longer contains the template selection.
- The snippet module in the backend now supports editing multiple translations for a single snippet at once
- Forms: elements of type
text2now support;as a separator between labels for the first and second field:- Responsive template: labels are used separately as
placeholderattribute for eachinputelement - legacy templates:
;is replaced with a/and used in a singlelabelelement (old behaviour)
- Responsive template: labels are used separately as
street numberfields were removed from interfaces and database- Existing values were merged into the
streetfield streetfields were enlarged to 255 chars to accommodate this.- The API still accepts
street numbervalues on write operations. The values are internally merged into thestreetfield. This is legacy support, and will be removed in the future. - Read operations on the API no longer return a
street numberfield.
- Existing values were merged into the
- The configuration for the thumbnail size of the product images in the "last seen products" module no longer affects the responsive template. The size now changes by screen size.
- Changed behavior of the
selectionconfigurator. Configurator options which have none available product variant disabled now in the select-tag. The new snippetDetailConfigValueNotAvailablecan be used to append additional text after the value name. - Variant's
additional textfield is now automatically generated using the configurator group options. This can be optionally disabled. - The
sBasket::sGetNotesfunction has been refactored with the new Shopware service classes and no longer calls thesGetPromotionByIdfunction. - The article slider now supports sorting by price (asc and desc) and category filtering
Shopware_Controllers_Widgets_Emotion::emotionTopSellerActionandShopware_Controllers_Widgets_Emotion::emotionNewcomerActionare now deprecated and should be replaced byShopware_Controllers_Widgets_Emotion::emotionArticleSliderAction
- Removed
tableandtable_factoryfrom container. - The old table configurator was removed and replaced by the new image configurator in the emotion and responsive template.
- Template inheritance using
{extends file="[default]backend/..."}is no longer supported and should be replaced by{extends file="parent:backend/..."} - Added Guzzle.
- Added HTTP client
Shopware\Components\HttpClient\HttpClientInterface. - Can be fetched from the container using the key
http_client. - Deprecated Zend Framework components
Zend_RestandZend_Httpwill be removed in the next minor release.
- Added HTTP client
- Increased minimum required PHP version to PHP >= 5.4.0.
- Increased minimum required MySQL version to MySQl >= 5.5.0.
- When duplicating articles in the backend, attributes and translations will also be copied
- When applying main data to variants, translations will also be overwritten, if selected
- It is now possible to rename variant configurator options
- It is now possible to add translations to configurator templates, which will then be used when generating variants
- Removed legacy
excuteParentmethod alias from generated hook proxy files - Restructured cache directories. The whole
/cachedirectory should be writable now - Added two new settings to handle 404 responses:
PageNotFoundDestinationextends the previous behaviour by adding support for Shopping worlds pagesPageNotFoundCodeadded to configure the HTTP error code when requesting non-existent pages
- Removed
Trusted Shopsfrom the basic settings. Functionality can now be found inTrusted Shops Excellenceplugin - Added
sArticles::getProductNavigation, product navigation is rendered asynchronous via ajax call to\Shopware_Controllers_Widgets_Listing::productNavigationAction - Add
isFamilyFriendlycore setting to enable or disable the correspondent meta tag. - Add new SEO fields to the forms module.
- Add new SEO templates in the core settings for the form and the site data.
- Added
Theme cache warm upmodal window and functionality:- On cache clear
- On performance settings
- On theme change
- On theme settings change
- On plugin install, by adding
themeto the optional caches array returned ininstall()
- Added
http cache warmermodal window in the performance module and console commandsw:warm:http:cache - Deprecate Legacy API
Shopware->Api(), will be removed in SW 5.1 - Removed unused
/backend/documenttemplates and several unusedShopware_Controllers_Backend_Documentactions, methods and variables - Performance recommendations now accept a
warningstate (state was converted from boolean to integer) - Removed support for
engine/Shopware/Configs/Custom.php- Use
config.phporconfig_$environment.phpe.g.config_production.php
- Use
- The MailTemplates now have global header and footer fields in configuration -> storefront -> email settings
- Header for Plaintext
- Header for HTML
- Footer for Plaintext
- Footer for HTML
- Refactored price surcharge for variants
s_article_configurator_price_surchargesdatabase table was fully restructured and renamed tos_article_configurator_price_variations. Existing data is migrated on update- Existing related ExtJs classes and events removed
- Existing price variation backend controller actions and methods removed
Shopware\Models\Article\Configurator\PriceSurchargedreplaced byShopware\Models\Article\Configurator\PriceVariation
- Replace
orderbydefaultconfiguration bydefaultListingSorting. Theorderbydefaultconfiguration worked with a plain sql input which is no longer possible. ThedefaultListingSortingcontains now one of the defaultsSortparameters of a listing. - Add configuration for each listing facet, which allows to disable each facet.
- Move performance filter configuration into the category navigation item.
- Uniform the sorting identifier in the search and listing. Search relevance id changed from 6 to 7 and search rating sorting changed from 2 to 7.
- Generated listing links in the
sGetArticlesByCategoryfunction removed. The listing parameters are build now over a html form.sNumberPagesvalue removedcategoryParamsvalue removedsPerPagecontains now the page limitsPagesvalue removed
- The listing filters are now selected in the
sArticles::getListingFacetsand assigned to the template as structs. - Replaced "evaluation" sorting of the search result with the listing "popularity" sorting.
- The search filters are now selected in the
getFacetsfunction of the frontend search controller. - The search filters are now assigned as structs to the template.
Shopware_Components_Search_Adapter_Defaultis now deprecated, use\Shopware\Bundle\SearchBundle\ProductNumberSearch.- The search term is handled in the
SearchTermConditionHandler. - This handler can be overwritten by custom handler. Custom handlers can be registered with the
Shopware_Search_Gateway_DBAL_Collect_Condition_Handlersevent.
- The search term is handled in the
- sGetArticleById result no longer contains the sConfiguratorSelection property. sConfiguratorSelection previously contained the selected variant data, which can now be accessed directly in the first level of the sGetArticleById result.
- sConfigurator class exist no more. The configurator data can now selected over the Shopware\Bundle\StoreFrontBundle\Service\Core\ConfiguratorService.php. To modify the configurator data you can use the sGetArticleById events.
sCategories::sGetCategoriesno longer returns the articleCount and the position of each category. Categories always sorted by the position and filtered by the active flag.- Removed config option
front.returnResponse, which was hardcoded totruesince SW 4.2 - Added global JavaScript StateManager Singleton to handle different states based on registered breakpoints.
- Added new default states to the state manager
xsthat ranges from 0 to 479 pixels viewport widthsthat ranges from 480 to 767 pixels viewport widthmthat ranges from 768 to 1023 pixels viewport widthlthat ranges from 1024 to 1259 pixels viewport widthxlthat ranges from 1260 to 5160 pixels viewport width
- Moved
frontend/detail/similar.tpltofrontend/detail/tabs/similar.tpl - Removed
frontend/checkout/ajax_add_article_slider_item.tpl - Removed
frontend/listing/box_crossselling.tpl - Removed
widgets/recommendation/item.tpl - Added
frontend/listing/product-box/box--product-slider.tpl- This file should be used as an product slider item template
- Following template files include the new product slider template
frontend/listing/product-box/box--product-slider.tplfrontend/checkout/ajax_add_article_slider.tplincludes it instead offrontend/checkout/ajax_add_article_slider_item.tplfrontend/detail/tabs/related.tplincludes it instead offrontend/listing/box_article.tplwidgets/recommendation/bought.tplincludes it instead ofwidgets/recommendation/item.tplwidgets/recommendation/viewed.tplincludes it instead ofwidgets/recommendation/item.tplwidgets/emotion/slide_articles.tplincludes it instead of its own implementation
- Block named
frontend_detail_index_similar_viewed_slideris now in thewidgets/recommendation/viewed.tplinstead offrontend/detail/index.tpl - Block named
frontend_detail_index_also_bought_slideris now in thewidgets/recommendation/bought.tplinstead offrontend/detail/index.tpl - Renamed
ENVtoSHOPWARE_ENVto avoid accidentally setENVvariable, please update your .htaccess if you use a custom envirenment or you are using the staging plugin - Removed Facebook Plugin from core (
Shopware_Plugins_Frontend_Facebook_Bootstrap). Will be released as plugin on Github. - Removed Google Plugin from core (
Shopware_Plugins_Frontend_Google_Bootstrap). Will be released as plugin on Github. - All downloaded dummy plugins are now installed in the
engine/Shopware/Plugins/Communitydirectory. - Install, update, uninstall function of a plugin supports now a "message" return parameter which allows to display different messages.
- New commands:
sw:cron:listandsw:cron:run - Running cronjobs using
php shopware.php backend/cronis not recommended and should be seen as deprecated sVoteAverangeandaverangeproperties of article and blog data structures have been renamed to fix the typo in their names.- Old versions are kept for compatibility reasons, but are deprecated and will be removed
- Please notice that the new variable might not always have the same value (10 based vs 5 based ratings)
- Added VRRL Plugin to Core. Service articles can be identified by article attributes. The field can be configured by general settings
- Support text which is assigned to an checkbox element in the emotion world module will now be transformed to a box label
- Added category selection for blog emotion widget
- Changed default sorting of pictures in the backend's Media Manager. Newer pictures are now displayed first.
widgets/campaignis now included in the HTTP cache's default configuration- Email validation is now done using the
egulias/email-validatorlibrary. - Removed
frontend/detail/ajax.tpl - Added
frontend/detail/product_quick_view.tpl - Added
\Shopware\Controllers\Frontend\Detail::productQuickViewActionto retrieve a detail template with minimal information - Added configuration
showEsdto show/hide the ESD-Downloads in the customer accounts menu. (default = true) - Article image album sizes have been changed to match the requirements of the new template (only new installations)
- Removed
srcproperty of article images. Each images contains now athumbnailsproperty which all thumbnails. *srcproperty is restored for old templates. - Default value for controllers in which to display tag clouds no longer includes homepage.
sSelfCanonicalis deprecated. Use thecanonicalParamsarray instead- Change array structure of thumbnail images in emotions, product detail pages, product listings, blog pages.
- Enable and disable function of a plugin bootstrap can now return same parameter as install, uninstall.
- Added automatic APC detection for the general cache.