OXID eShop version 4.5.0

General hints for this package

  • According to our workshop with Trusted Shops and Shoplupe, the OpenID-feature was removed. There will be a module instead a bit later.
  • Look & Feel was removed as well as this feature was old-fashioned and outdated. Also, for some adapted templates, it was dangerous to leave it in the admin area because this feature could overwrite the css file. You will find Look & Feel as an extension as well a bit later.
  • In the first step of the installation routine, you will now be asked for the installation language as well as for the standard shop language. Only this language will be activated in your shop installation. Of course, you can activate more languages later from the admin panel. The reason: in the past, many shop owners forgot to de-activate the language they didn’t need and in the result, the wrong content was delivered to clients with a different browser language.
  • In the second step of the installation routine, you can now select your default delivery country. Only this country will be active in your shop. Of course, you can activate more delivery countries via the admin panel. This change was made by a request of Trusted Shops.

Installation

See http://www.oxid-esales.com/en/support-services/documentation-and-help/oxid-eshop/installation/oxid-eshop-update-installation.html

Please note, that the structure of the folders changed for the template ‘basic’ as well as we removed some deprecated code. A script will help you sorting it out automatically. This script is included in the usual UpdateApp.

Templates

The template handling was changed massively. We introduced a new template set (theme) called ‘azure’ besides the basic theme you already know. You can switch the themes from admin panel now. Please gather more information from this screen cast:

http://wiki.oxidforge.org/Screencasts/Smarty_Template_Handling

Some admin templates were changed slightly due to bug fixes. Please find detailed information about template changes in directory “templ_docu/index.html” of this package.

Please remember the Template Override System we introduced with version 4.2.0. This system will help you saving a lot of time and work while updating your system.

Fixed Bugs

  • 0002082: Use the cart total as calculation basis for discount on payment
  • 0002255: Item Discounts add multiple times when editing Orders
  • 0002061: display price per unit in list view
  • 0002460: If “Display Variants in Assignment Lists in eShop admin” setting is activated, assignement popups aren’t scrollable anymore
  • 0002473: Remove duplicate option for Compare list activation
  • 0001954: Some SEO links formated incorrectly, like “…oxid-oxid-oxid-oxid-…”
  • 0002277: Fix oxSeoEncoder::markAsExpired()
  • 0002263: Session Problems with Facebook activated in CE/PE/EE
  • 0001985: “About Us” not reachable without being logged in if Private Sales Login is active
  • 0002712: VAT ID check URL changed again

You may find the complete list of bugfixes in our bugtracking system: https://bugs.oxid-esales.com/changelog_page.php.

New Features

Important information for developers

Bug #1706 fix introduces new changes in shop:

  1. SEO meta data (keywords, description) are moved to oxobject2seodata table;
  2. old object meta data (previously kept in oxseo table) is concatenated, only ONE language specific meta info record for all object views is written.
  3. oxSeonEncoder::_saveToDb() now does not accept keywords/description parameters. They are written/updated by oxSeonEncoder::addSeoEntry() method (please take a look at the source code documentation for more details).

Config options per module support

  • OXMODULE column is appended to oxConfig DB table, which allows to separate module config options from the ones of the OXID eShop base.
  • NOTE: During the runtime, the separated config options are *not* loaded automatically, and may only be loaded (overriding active options) by using the protected oxConfig method _loadVarsFromDb.
  • Currently this functionality is only used to support multiple themes, where OXMODULE field is theme:<theme name> and is loaded for the active theme only.
  • Also, the oxConfigDisplay table is created, which holds the info how to display the option in the admin GUI. It allows to add and manage config options without changes in admin template files – only the DB entries to oxConfig and oxConfigDisplay tables, with addition of providing language constants in <themedir>/<lang>/theme_options.php, are required.

Improvements in handling multiple languages

Architecture changes:

  • each multilanguage table will be splitted to multiple tables if language limit is reached. The additional tables will contain only the OXID field and multilanguage fields for specific language sets e.g. (languages from 8th to 15th);
  • the extra tables are named after the core table with language set suffix e.g. oxarticles_set1;
  • each language has its own DB view for each DB table, e.g. oxv_oxarticles_de, oxv_oxarticles_en;
  • to select all multilanguage fields (e.g. when setEnableMultilang(false)) there will also be views, joining all language set tables e.g. oxv_oxarticles. These views are basically large joins on OXID, which are slower, but contain whole object as one dataset – usually used for exporting data, and not in eShop frontend.

Most important API changes:

  • getLangTableName( $sTable, $iLangId ) – returns the table for given language fields.
  • getViewName( $sTable, $iLangId = null, $sShopId = null ) – changed to support multilanguage tables.
  • oxI18n::getViewName() – returns view name by object language.
  • oxBase::getSqlFieldName() – replaced by oxI18n::getUpdateSqlFieldName() as such functionality is only needed when updating multilingual object. (select fields are handled by DB views).

Changes regarding list sorting/filtering in admin

Filter and sorting data is send/received as multidimentional array. Sorting array:

Data filter array:

Due to this change templates (basic) were changed also:

  • Sorting:

  • Filtering:

Also custom templates should include filter data:

New/highly updated methods for admin list administration (you should review your own code if it possibly covers mentioned places):

Removed:

Category list performance update

Reworked sorting of categories tree to use initial SQL based sorting. This makes additional sorting previously implemented as php class methods deprecated and saves 30% performance for loading categories tree.

API changes

Removed:

Deprecated and not used internally:

Removed methods:

Updated method:

Changes in long descriptions smarty parsing:

  • introduced [{oxeval var=[(accepts oxField/string)] }] smarty function, which should be called in templates to process long descriptions containing smarty tags;
  • long description fields are not automaticaly processed by smarty, thus saving from non admin does not break original content;
  • introduced new getters which returns smarty processed long description data:

Changes in session regeneration

Since this release session id is regenerated after user logs in, session regeneration is forced in oxcmp_user::_afterLogin():

Override Support for theme blocks in modules

The new theme ‘azure’ has a set of predefined blocks, that can be overwritten by any module. The block definitions in templates (and usage in modules) are Smarty3 syntax compatible.

More info: http://wiki.oxidforge.org/Tutorials/Customize_OXID_eShop_With_oxBlocks

Implemented theme options getter and usage in templates

More info: http://wiki.oxidforge.org/Tutorials/Understanding_theme_management_in_OXID_eShop_from_4.5.0

The thumbnail picture of category will be multilingual for Version 4.5.0.

For this we added multilingual fields oxthumb_1, oxthumb_2 and oxthumb_3 in oxcategory table. Changes:

  1. For new shop install: if you want to show category picture in top of selected category list, you will have to assign this picture for all languages.
  2. For shops, who will update to 4.5.0: your assigned thumbnail will be automatically updated to all languages when you’ll run UpdateApp. So, nothing changes for you.

Cache hit count now is not recorded

this way DB is not accessed on every cache request, thus increasing caching efficiency.

 

0.00 avg. rating (0% score) - 0 votes