OXID eShop version 4.1.3

General hints for this package

  • Current release contains session handling improvements related to users whose browsers do not accept cookies.
    • session is only started and session id appended to URL only after special action or on special view init. By default these are:
      • views: register, account
      • function: tobasket, login_noredirect, tocomparelist

If you need to define some exceptional action or view or if current behaviour does not fit your requiremens you can:

  • open config.inc.php file and add/edit “$this->blForceSessionStart” parameter by setting its value to “1”. This will force session start on first page view and for users whose browsers do not accept cookies, append sid parameter to URLs;

or

  • write a module for “oxsession::_isSessionRequiredAction()” method, which must return TRUE if current action requires session to start. This allows to implement more elegant way to control session start.
  • CSS changes:
    • Some unused, deprecated or faulty CSS background images were cleaned up.
    • Few positioning and icon CSS errors were fixed
  • Default theme colors were changed to:
 EE:          PE:          CE:          Green:       Dark:
#ffffff      #ffffff      #ffffff      #ffffff      #ffffff
#efefef      #efefef      #efefef      #efefef      #d2d2d2
#5e5e5e      #5e5e5e      #5e5e5e      #5e5e5e      #5d5c61
#000000      #000000      #000000      #000000      #3a3a3a
#014d7f      #d11104      #d11104      #59ba13      #131313

Installation

See http://www.oxid-esales.com/en/resources/help-faq/faq/how-update-one-release-another

Templates

For this patch, some slight template changes are required. Please see /templ_docu/index.html inside the package.

Fixed Bugs

  • 0000955: [Files & Source code & Database] each call on oxDelivery::getDeliveryPrice() changes the Price
  • 0000921: [Products] When LoadVariants is switched off in admin, fromPrices in article-listings are not affected by currency- or vat.-chamges
  • 0001019: [Currencies] If currency is changed the price of articles with variants is not calculated correct.
  • 0000912: [Caching] Variants with stock = 0 can’t display in details.tpl
  • 0000911: [Discounts] Discounts of variant prices were not shown in the category view, but in the details view
  • 0000884: [Discounts] discount information changes does not affect shop until cookies are cleared
  • 0000892: [Import & Export] When importing some of the columns are not determined automatically
  • 0000977: [PDF invoice] Generation of invoice number restarts with 1 and ends when reaching 1000
  • 0000922: [GUI & Navigation & Sorting] If user browser does not accept cookies and browses shop, for each click new session is started
  • 0001003: [Content & CMS pages] Problems with MySQL version 5.0.37
  • 0001014: [Admin area] System requirements are checked in each tab in Admin area
  • 0000889: [Admin area] “Reset SEO Ids” button cleans non static URLs from oxseo table
  • 0000844: [SEO] Dots and commas are deleted from title, META description and META keywords
  • 0000966: [SEO] languages link in manufacturers and vendors are not seo
  • 0000958: [SEO] seo links for tags should be created the same way as for vendors or price categories
  • 0000893: [SEO] Unable to delete SEO meta keywords/description

You may find the complete list of bugfixes in OXID eSales bugtracker.

New features in this revision

Important information for developers

Recent changes on oxSession class:

  • New methods:
oxSession::_sessionStart() - initialize session data (calls php::session_start());
oxSession::_forceSessionStart() - returns true if shop is browsed not by search engine and config option blForceSessionStart = 1/true;
oxSession::_isSessionRequiredAction() - tests if current action (class or function) requires session;
oxSession::isSidNeeded() - checks if cookies are not available. Returns TRUE of sid should be appended to URLs;
oxSession::processUrl() - if oxSession::isSidNeeded() returns TRUE appends URL with sid parameter.
  • Removed methods:
oxSession::_checkMandatoryCookieSupport().

To fetch root manufacturer/vendor do not use oxManufacturer::getRootManufacturer(), oxVendor::getRootVendor() (they are deprecated), use regular “load( $sOxid )” instead and pass “root” (case sensitive) as OXID.

Since this release oxArticle::getLink() can return URL for price category and tags. To set returning link type use oxArticle::setLinkType( $iType ). Currently there are 5 link types supported:

define( 'OXARTICLE_LINKTYPE_CATEGORY', 0 );
define( 'OXARTICLE_LINKTYPE_VENDOR', 1 );
define( 'OXARTICLE_LINKTYPE_MANUFACTURER', 2 );
define( 'OXARTICLE_LINKTYPE_PRICECATEGORY', 3 );
define( 'OXARTICLE_LINKTYPE_TAG', 4 );

New/improved methods for oxSeoEncoderArticle class:

oxSeoEncoderArticle::_getArticleTagUri() - returns SEO URI for passed article and active tag;
oxSeoEncoderArticle::_getArticlePriceCategoryUri() - returns SEO URI for passed article and price category;
oxSeoEncoderArticle::getArticleUrl() - now additionally returns price category and tag URLs.

(To define type of URL you need pass correct third parameter. Values defined in previous chapter.)

Introduced SEO encoder for tags – oxSeoEncoderTag class. New methods:

oxSeoEncoderTag::getTagUri() - returns SEO URI for tag;
oxSeoEncoderTag::getStdTagUri() - returns standard (dynamic form) tag URI;
oxSeoEncoderTag::getTagUrl() - returns full URL for passed tag;
oxSeoEncoderTag::getTagPageUrl() - returns full URL for passed tags page.

Removed oxArticle::_assignLinks(), which was called in oxArticle::assign() method. Now URLs are created only on demand, so use getters:

oxArticle::getMoreDetailLink() - returns product details link;
oxArticle::getToBasketLink() - returns "to basket" link.


0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *