merge rel_3.x to trunk
This commit is contained in:
commit
1ca54a1744
Binary file not shown.
@ -173,21 +173,25 @@
|
|||||||
[{/if}]
|
[{/if}]
|
||||||
|
|
||||||
[{* bounce optimization*}]
|
[{* bounce optimization*}]
|
||||||
setTimeout('_gaq.push([\'_trackEvent\', \'NoBounce\', \'Over defined seconds\'])',[{$oD3GASettings->getValue('iSendNoBounceEventTime')}]);
|
[{block name="d3ga_bounceoptimization"}]
|
||||||
|
[{if $oD3GASettings->getValue('blUseBounceRateOptimization')}]
|
||||||
|
setTimeout('_gaq.push([\'_trackEvent\', \'NoBounce\', \'Over defined seconds\'])',[{$iD3GASendNoBounceEventTime}]);
|
||||||
|
|
||||||
[{if $oD3GASettings->getValue('blSendNoBounceEventScroll')}]
|
[{if $oD3GASettings->getValue('blSendNoBounceEventScroll')}]
|
||||||
window.addEventListener ?
|
window.addEventListener ?
|
||||||
window.addEventListener('scroll', testScroll, false) :
|
window.addEventListener('scroll', testScroll, false) :
|
||||||
window.attachEvent('onscroll', testScroll);
|
window.attachEvent('onscroll', testScroll);
|
||||||
|
|
||||||
var scrollCount = 0;
|
var scrollCount = 0;
|
||||||
function testScroll() {
|
function testScroll() {
|
||||||
++scrollCount;
|
++scrollCount;
|
||||||
if (scrollCount == 2) {
|
if (scrollCount == 2) {
|
||||||
_gaq.push(['_trackEvent', 'window', 'scrolled']);
|
_gaq.push(['_trackEvent', 'window', 'scrolled']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[{/if}]
|
[{/if}]
|
||||||
|
[{/if}]
|
||||||
|
[{/block}]
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||||
|
@ -2,18 +2,20 @@
|
|||||||
[{capture name="d3GATrackCode"}]
|
[{capture name="d3GATrackCode"}]
|
||||||
[{strip}]
|
[{strip}]
|
||||||
[{if $oD3GASettings->getValue('blD3GAUseOptOut')}]
|
[{if $oD3GASettings->getValue('blD3GAUseOptOut')}]
|
||||||
<script type="text/javascript">
|
[{block name="d3ga_optoutscript"}]
|
||||||
var gaProperty = '[{$oD3GASettings->getValue('sD3GAId')}]';
|
<script type="text/javascript">
|
||||||
var disableStr = 'ga-disable-' + gaProperty;
|
var gaProperty = '[{$oD3GASettings->getValue('sD3GAId')}]';
|
||||||
if (document.cookie.indexOf(disableStr + '=true') > -1) {
|
var disableStr = 'ga-disable-' + gaProperty;
|
||||||
window[disableStr] = true;
|
if (document.cookie.indexOf(disableStr + '=true') > -1) {
|
||||||
}
|
window[disableStr] = true;
|
||||||
|
}
|
||||||
|
|
||||||
function gaOptout() {
|
function gaOptout() {
|
||||||
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
|
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
|
||||||
window[disableStr] = true;
|
window[disableStr] = true;
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
[{/block}]
|
||||||
[{/if}]
|
[{/if}]
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@ -52,42 +54,48 @@
|
|||||||
[{/if}]
|
[{/if}]
|
||||||
|
|
||||||
[{* bounce optimization*}]
|
[{* bounce optimization*}]
|
||||||
setTimeout('ga(\'send\', \'event\', \'NoBounce\', \'Over defined seconds\')',[{$oD3GASettings->getValue('iSendNoBounceEventTime')}]);
|
[{block name="d3ga_bounceoptimization"}]
|
||||||
|
[{if $oD3GASettings->getValue('blUseBounceRateOptimization')}]
|
||||||
|
setTimeout('ga(\'send\', \'event\', \'NoBounce\', \'Over defined seconds\')',[{$iD3GASendNoBounceEventTime}]);
|
||||||
|
|
||||||
[{if $oD3GASettings->getValue('blSendNoBounceEventScroll')}]
|
[{if $oD3GASettings->getValue('blSendNoBounceEventScroll')}]
|
||||||
window.addEventListener ?
|
window.addEventListener ?
|
||||||
window.addEventListener('scroll', testScroll, false) :
|
window.addEventListener('scroll', testScroll, false) :
|
||||||
window.attachEvent('onscroll', testScroll);
|
window.attachEvent('onscroll', testScroll);
|
||||||
|
|
||||||
var scrollCount = 0;
|
var scrollCount = 0;
|
||||||
function testScroll() {
|
function testScroll() {
|
||||||
++scrollCount;
|
++scrollCount;
|
||||||
if (scrollCount == 2) {
|
if (scrollCount == 2) {
|
||||||
ga('send', 'event', 'window', 'scrolled');
|
ga('send', 'event', 'window', 'scrolled');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[{/if}]
|
[{/if}]
|
||||||
|
[{/if}]
|
||||||
|
[{/block}]
|
||||||
|
|
||||||
ga('send', 'pageview' [{$sD3GASendPageViewParameter}]);
|
ga('send', 'pageview' [{$sD3GASendPageViewParameter}]);
|
||||||
|
|
||||||
[{include file="d3ga_universal_ecommerce.tpl"}]
|
[{include file="d3ga_universal_ecommerce.tpl"}]
|
||||||
|
|
||||||
[{if $oD3GASettings->getValue('blD3GATrackPageLoadTime')}]
|
[{if $oD3GASettings->getValue('blD3GATrackPageLoadTime')}]
|
||||||
var perfData = window.performance.timing;
|
[{block name="d3ga_trackpageloadtime"}]
|
||||||
var pageLoadTime = perfData.domComplete - perfData.navigationStart;
|
var perfData = window.performance.timing;
|
||||||
var loadTime = "";
|
var pageLoadTime = perfData.domComplete - perfData.navigationStart;
|
||||||
|
var loadTime = "";
|
||||||
|
|
||||||
if (pageLoadTime < 1000) { loadTime = "0-1 seconds"; }
|
if (pageLoadTime < 1000) { loadTime = "0-1 seconds"; }
|
||||||
else if (pageLoadTime < 2000) { loadTime = "1-2 seconds"; }
|
else if (pageLoadTime < 2000) { loadTime = "1-2 seconds"; }
|
||||||
else if (pageLoadTime < 3000) { loadTime = "2-3 seconds"; }
|
else if (pageLoadTime < 3000) { loadTime = "2-3 seconds"; }
|
||||||
else if (pageLoadTime < 4000) { loadTime = "3-4 seconds"; }
|
else if (pageLoadTime < 4000) { loadTime = "3-4 seconds"; }
|
||||||
else if (pageLoadTime < 5000) { loadTime = "4-5 seconds"; }
|
else if (pageLoadTime < 5000) { loadTime = "4-5 seconds"; }
|
||||||
else if (pageLoadTime < 6000) { loadTime = "5-6 seconds"; }
|
else if (pageLoadTime < 6000) { loadTime = "5-6 seconds"; }
|
||||||
else if (pageLoadTime < 10000) { loadTime = "6-10 seconds"; }
|
else if (pageLoadTime < 10000) { loadTime = "6-10 seconds"; }
|
||||||
else { loadTime = "10+ seconds"; }
|
else { loadTime = "10+ seconds"; }
|
||||||
|
|
||||||
ga('set', 'metric1', loadTime);
|
ga('set', 'metric1', loadTime);
|
||||||
[{*ga('send', 'event', 'Page Load Time', loadTime, {'nonInteraction': true});*}]
|
[{*ga('send', 'event', 'Page Load Time', loadTime, {'nonInteraction': true});*}]
|
||||||
|
[{/block}]
|
||||||
[{/if}]
|
[{/if}]
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var gts = gts || [];
|
var gts = gts || [];
|
||||||
|
|
||||||
gts.push(["id", "[{$oD3GASettings->getValue('sD3GATSId')}]"]);
|
|
||||||
gts.push(["badge_position", "BOTTOM_RIGHT"]);
|
|
||||||
gts.push(["locale", "[{$sD3CurrentGTSLang}]"]);
|
|
||||||
[{if $oD3GASettings->getValue('sD3GATSShoppingActive')}]
|
[{if $oD3GASettings->getValue('sD3GATSShoppingActive')}]
|
||||||
|
gts.push(["id", "[{$oD3GASettings->getValue('sD3GATSId')}]"]);
|
||||||
|
gts.push(["badge_position", "BOTTOM_RIGHT"]);
|
||||||
|
gts.push(["locale", "[{$sD3CurrentGTSLang}]"]);
|
||||||
[{if $sD3GATSProdId}]
|
[{if $sD3GATSProdId}]
|
||||||
gts.push(["google_base_offer_id", "[{$sD3GATSProdId}]"]);
|
gts.push(["google_base_offer_id", "[{$sD3GATSProdId}]"]);
|
||||||
[{/if}]
|
[{/if}]
|
||||||
|
@ -40,7 +40,7 @@ $aModule = array(
|
|||||||
'Trusted Shops account to your shop.',
|
'Trusted Shops account to your shop.',
|
||||||
),
|
),
|
||||||
'thumbnail' => 'picture.png',
|
'thumbnail' => 'picture.png',
|
||||||
'version' => '3.3.0.0',
|
'version' => '3.3.1.0',
|
||||||
'author' => 'D³ Data Development (Inh. Thomas Dartsch)',
|
'author' => 'D³ Data Development (Inh. Thomas Dartsch)',
|
||||||
'email' => 'support@shopmodule.com',
|
'email' => 'support@shopmodule.com',
|
||||||
'url' => 'http://www.oxidmodule.com/',
|
'url' => 'http://www.oxidmodule.com/',
|
||||||
|
@ -53,6 +53,7 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
|||||||
$oParentView->addTplParam('sD3GASendPageViewParameter', $this->d3getSendPageViewParameters());
|
$oParentView->addTplParam('sD3GASendPageViewParameter', $this->d3getSendPageViewParameters());
|
||||||
$oParentView->addTplParam('sD3CurrentShopUrl', $this->d3GetCreateCurrentShopUrl());
|
$oParentView->addTplParam('sD3CurrentShopUrl', $this->d3GetCreateCurrentShopUrl());
|
||||||
$oParentView->addTplParam('blD3GAIsMobile', $this->d3isMobile());
|
$oParentView->addTplParam('blD3GAIsMobile', $this->d3isMobile());
|
||||||
|
$oParentView->addTplParam('iD3GASendNoBounceEventTime', $this->d3GetSendNoBounceEventTime());
|
||||||
|
|
||||||
if ($oSet->getValue('sD3GATSActive') && $oSet->getValue('sD3GATSShoppingActive')) {
|
if ($oSet->getValue('sD3GATSActive') && $oSet->getValue('sD3GATSShoppingActive')) {
|
||||||
$aInfos = $this->d3GATSGetProdInfos();
|
$aInfos = $this->d3GATSGetProdInfos();
|
||||||
@ -142,10 +143,12 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
|||||||
$aLanguages = oxRegistry::getLang()->getLanguageArray(null, true, true);
|
$aLanguages = oxRegistry::getLang()->getLanguageArray(null, true, true);
|
||||||
reset($aLanguages);
|
reset($aLanguages);
|
||||||
foreach ($aLanguages as $oVal) {
|
foreach ($aLanguages as $oVal) {
|
||||||
$aUrls = $this->_d3AddLanguageUrlsToList($aLanguageUrls, $oVal, $aSslLanguageUrls, $aUrls);
|
$this->_d3AddLanguageUrlsToList($aLanguageUrls, $oVal, $aSslLanguageUrls, $aUrls);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->_d3UnsetCurrentUrl($aUrls);
|
||||||
|
|
||||||
return $aUrls;
|
return $aUrls;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -157,23 +160,45 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function _d3AddLanguageUrlsToList($aLanguageUrls, $oVal, $aSslLanguageUrls, $aUrls)
|
protected function _d3AddLanguageUrlsToList($aLanguageUrls, $oVal, $aSslLanguageUrls, &$aUrls)
|
||||||
{
|
{
|
||||||
$blIsSsl = oxRegistry::getConfig()->isSsl();
|
$blIsSsl = oxRegistry::getConfig()->isSsl();
|
||||||
|
|
||||||
if ($this->_d3CheckLanguageUrlsToList($aLanguageUrls, $oVal, $blIsSsl)) {
|
if ($this->_d3CheckLanguageUrlsToList($aLanguageUrls, $oVal, $blIsSsl)) {
|
||||||
$sUrl = str_replace('http://', '', $aLanguageUrls[$oVal->id]);
|
$sUrl = $this->_d3GANormalizeUrl($aLanguageUrls[$oVal->id]);
|
||||||
$aUrls[] = "'" . $sUrl . "'";
|
$aUrls[md5($sUrl)] = "'" . $sUrl . "'";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->_d3CheckLanguageUrlsToList($aSslLanguageUrls, $oVal, !$blIsSsl)) {
|
if ($this->_d3CheckLanguageUrlsToList($aSslLanguageUrls, $oVal, !$blIsSsl)) {
|
||||||
$sSslUrl = str_replace('https://', '', $aSslLanguageUrls[$oVal->id]);
|
$sSslUrl = $this->_d3GANormalizeUrl($aLanguageUrls[$oVal->id]);
|
||||||
$aUrls[] = "'" . $sSslUrl . "'";
|
$aUrls[md5($sSslUrl)] = "'" . $sSslUrl . "'";
|
||||||
}
|
}
|
||||||
|
|
||||||
return $aUrls;
|
return $aUrls;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $sUrl
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
protected function _d3GANormalizeUrl($sUrl)
|
||||||
|
{
|
||||||
|
$sPattern = "^http(s?)://";
|
||||||
|
/** @var d3str $oD3Str */
|
||||||
|
$oD3Str = oxNew('d3str');
|
||||||
|
|
||||||
|
return preg_replace('@'.$sPattern.'@', '', $oD3Str->untrailingslashit($sUrl));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $aUrls
|
||||||
|
*/
|
||||||
|
protected function _d3UnsetCurrentUrl(&$aUrls)
|
||||||
|
{
|
||||||
|
unset($aUrls[md5($this->_d3GANormalizeUrl(oxRegistry::getConfig()->getCurrentShopUrl()))]);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $aLanguageUrls
|
* @param $aLanguageUrls
|
||||||
* @param $oVal
|
* @param $oVal
|
||||||
@ -293,7 +318,8 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
|||||||
public function d3GetGTSLang()
|
public function d3GetGTSLang()
|
||||||
{
|
{
|
||||||
$aHomeCountries = oxRegistry::getConfig()->getConfigParam('aHomeCountry');
|
$aHomeCountries = oxRegistry::getConfig()->getConfigParam('aHomeCountry');
|
||||||
$sHomeCountryId = $aHomeCountries[array_keys($aHomeCountries)[0]];
|
$aKeys = array_keys($aHomeCountries);
|
||||||
|
$sHomeCountryId = $aHomeCountries[current($aKeys)];
|
||||||
/** @var oxcountry $oCountry */
|
/** @var oxcountry $oCountry */
|
||||||
$oCountry = oxNew('oxcountry');
|
$oCountry = oxNew('oxcountry');
|
||||||
$oCountry->load($sHomeCountryId);
|
$oCountry->load($sHomeCountryId);
|
||||||
@ -326,7 +352,6 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
|||||||
return array('aArtIdList' => $aArticleIds);
|
return array('aArtIdList' => $aArticleIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $aArticleIds
|
* @param array $aArticleIds
|
||||||
*
|
*
|
||||||
@ -335,7 +360,9 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
|||||||
public function d3GATSGetProdIdList($aArticleIds)
|
public function d3GATSGetProdIdList($aArticleIds)
|
||||||
{
|
{
|
||||||
if (count($aArticleIds)) {
|
if (count($aArticleIds)) {
|
||||||
return $aArticleIds[array_keys($aArticleIds)[0]];
|
$aKeys = array_keys($aArticleIds);
|
||||||
|
|
||||||
|
return $aArticleIds[current($aKeys)];
|
||||||
} else {
|
} else {
|
||||||
return "not_set";
|
return "not_set";
|
||||||
}
|
}
|
||||||
@ -540,4 +567,18 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function d3GetSendNoBounceEventTime()
|
||||||
|
{
|
||||||
|
$iTime = d3_cfg_mod::get($this->_sModId)->getValue('iSendNoBounceEventTime');
|
||||||
|
|
||||||
|
if (isset($iTime) && is_int($iTime)) {
|
||||||
|
return $iTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 10000;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -114,6 +114,11 @@ class d3_thankyou_googleanalytics extends d3_thankyou_googleanalytics_parent
|
|||||||
*/
|
*/
|
||||||
protected function _d3GAgetEstimatedDate($sModCfgVarName, $iTimestamp)
|
protected function _d3GAgetEstimatedDate($sModCfgVarName, $iTimestamp)
|
||||||
{
|
{
|
||||||
|
// change shipping time for not on stock articles
|
||||||
|
if ($sModCfgVarName == 'iEstShippingTimeValue' && $this->hasOutOfStockArticles()) {
|
||||||
|
$sModCfgVarName = 'iEstShippingTimeValueOutOfStock';
|
||||||
|
}
|
||||||
|
|
||||||
$iTimeValue = d3_cfg_mod::get($this->_sModCfgId)->getValue($sModCfgVarName);
|
$iTimeValue = d3_cfg_mod::get($this->_sModCfgId)->getValue($sModCfgVarName);
|
||||||
|
|
||||||
for ($i = 0; $i < $iTimeValue; $i++) {
|
for ($i = 0; $i < $iTimeValue; $i++) {
|
||||||
@ -174,16 +179,7 @@ class d3_thankyou_googleanalytics extends d3_thankyou_googleanalytics_parent
|
|||||||
*/
|
*/
|
||||||
public function d3GAhasBackorderPreorder()
|
public function d3GAhasBackorderPreorder()
|
||||||
{
|
{
|
||||||
if (oxRegistry::getConfig()->getConfigParam('blUseStock')) {
|
return $this->hasOutOfStockArticles() ? 'Y' : 'N';
|
||||||
/** @var oxorderarticle $oOrderArticle */
|
|
||||||
foreach ($this->getOrder()->getOrderArticles() as $oOrderArticle) {
|
|
||||||
if ($this->_d3GAhasArticleBackorderPreorder($oOrderArticle)) {
|
|
||||||
return 'Y';
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
return 'N';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -210,14 +206,12 @@ class d3_thankyou_googleanalytics extends d3_thankyou_googleanalytics_parent
|
|||||||
*/
|
*/
|
||||||
public function d3GAhasDigitalGoods()
|
public function d3GAhasDigitalGoods()
|
||||||
{
|
{
|
||||||
if (oxRegistry::getConfig()->getConfigParam('blUseStock')) {
|
/** @var oxorderarticle $oOrderArticle */
|
||||||
/** @var oxorderarticle $oOrderArticle */
|
foreach ($this->getOrder()->getOrderArticles() as $oOrderArticle) {
|
||||||
foreach ($this->getOrder()->getOrderArticles() as $oOrderArticle) {
|
if ($this->_d3GAhasArticleDigitalGoods($oOrderArticle)) {
|
||||||
if ($this->_d3GAhasArticleDigitalGoods($oOrderArticle)) {
|
return 'Y';
|
||||||
return 'Y';
|
}
|
||||||
}
|
};
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
return 'N';
|
return 'N';
|
||||||
}
|
}
|
||||||
@ -277,4 +271,20 @@ class d3_thankyou_googleanalytics extends d3_thankyou_googleanalytics_parent
|
|||||||
|
|
||||||
return $oOrderArticle->getFieldData(d3_cfg_mod::get($this->_sModCfgId)->getValue('sD3GATSShoppingArtId'));
|
return $oOrderArticle->getFieldData(d3_cfg_mod::get($this->_sModCfgId)->getValue('sD3GATSShoppingArtId'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function hasOutOfStockArticles()
|
||||||
|
{
|
||||||
|
if (oxRegistry::getConfig()->getConfigParam('blUseStock')) {
|
||||||
|
foreach ($this->getOrder()->getOrderArticles() as $oOrderArticle) {
|
||||||
|
if ($this->_d3GAhasArticleBackorderPreorder($oOrderArticle)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,11 +13,10 @@
|
|||||||
*
|
*
|
||||||
* For further informations, see <http://www.gnu.org/licenses/>.
|
* For further informations, see <http://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
* @link http://www.oxidmodule.com
|
* @link http://www.oxidmodule.com
|
||||||
* @link http://www.shopmodule.com
|
* @link http://www.shopmodule.com
|
||||||
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class d3_oxorder_googleanalytics extends d3_oxorder_googleanalytics_parent
|
class d3_oxorder_googleanalytics extends d3_oxorder_googleanalytics_parent
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -57,40 +56,21 @@ class d3_oxorder_googleanalytics extends d3_oxorder_googleanalytics_parent
|
|||||||
*
|
*
|
||||||
* @return null|void
|
* @return null|void
|
||||||
*/
|
*/
|
||||||
protected function _setOrderArticles( $aArticleList )
|
protected function _setOrderArticles($aArticleList)
|
||||||
{
|
{
|
||||||
parent::_setOrderArticles($aArticleList);
|
parent::_setOrderArticles($aArticleList);
|
||||||
|
|
||||||
/** @var d3_oxbasketitem_googleanalytics $oBasketItem */
|
/** @var d3_oxbasketitem_googleanalytics $oBasketItem */
|
||||||
foreach ($aArticleList as $oBasketItem) {
|
foreach ($aArticleList as $oBasketItem) {
|
||||||
$oOrderArticle = $this->_d3getOrderArticleFromBasketItem($oBasketItem);
|
/** @var oxorderarticle $oOrderArticle */
|
||||||
if ($oOrderArticle) {
|
foreach ($this->_oArticles as $sArticleId => $oOrderArticle) {
|
||||||
$aContent['d3_galocator'] = $oBasketItem->d3GetLocatorTitle();
|
$blArtIdMatch = $oOrderArticle->getFieldData('oxartid') == $oBasketItem->getProductId();
|
||||||
$oOrderArticle->assign($aContent);
|
$blAmountMatch = $oOrderArticle->getFieldData('oxamount') == $oBasketItem->getAmount();
|
||||||
$oOrderArticle->save();
|
$blPersParamMatch = (null == $oBasketItem->getPersParams() || $oOrderArticle->getFieldData('oxpersparam') == $oBasketItem->getPersParams());
|
||||||
|
if ($blArtIdMatch && $blAmountMatch && $blPersParamMatch) {
|
||||||
|
$this->_oArticles->offsetGet($sArticleId)->assign(array('d3_galocator' => $oBasketItem->d3GetLocatorTitle()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param oxbasketitem $oBasketItem
|
|
||||||
*
|
|
||||||
* @return false|oxorderarticle
|
|
||||||
*/
|
|
||||||
protected function _d3getOrderArticleFromBasketItem($oBasketItem)
|
|
||||||
{
|
|
||||||
$aPersParams = $oBasketItem->getPersParams();
|
|
||||||
|
|
||||||
/** @var oxorderarticle $oOrderArticle */
|
|
||||||
foreach ($this->_oArticles as $sArticleId => $oOrderArticle) {
|
|
||||||
if ($oOrderArticle->getFieldData('oxartid') == $oBasketItem->getProductId() &&
|
|
||||||
$oOrderArticle->getFieldData('oxamount') == $oBasketItem->getAmount() &&
|
|
||||||
(null == $aPersParams || $oOrderArticle->getFieldData('oxpersparam') == $aPersParams)
|
|
||||||
) {
|
|
||||||
return $this->_oArticles->offsetGet($sArticleId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -21,18 +21,18 @@ class d3_googleanalytics_update extends d3install_updatebase
|
|||||||
|
|
||||||
public $sModName = 'Google Services Schnittstelle';
|
public $sModName = 'Google Services Schnittstelle';
|
||||||
|
|
||||||
public $sModVersion = '3.3.0.0';
|
public $sModVersion = '3.3.1.0';
|
||||||
|
|
||||||
public $sModRevision = '196';
|
public $sModRevision = '214';
|
||||||
|
|
||||||
// heredoc syntax using for class members is available from PHP 5.3 up
|
// heredoc syntax using for class members is available from PHP 5.3 up
|
||||||
public $sBaseConf =
|
public $sBaseConf =
|
||||||
"2kGUVVXMXJZNUlFdkwvcCtzTEJ1QkxvSW1HSm5zV3M4a1UxTU90VEtBaGNIeTZKSGVPRXJ6MDc0UTk4O
|
"U88cS9acWI1SStIK2FRa1hienV0TW43N1djMUFrQTBmdEpsKzF4U2t3M3h6Wk1KcnI4bjFFZ3pUWFgxY
|
||||||
FpodEtKUEZuc2hxSDZnUEhaQmtqRFBoN3dqN21ncm9zY1FGaEdqUE15T0JoSGllSU8rWVZUbWhHSnpxM
|
XNCc2VDSHIzSTFDN2xURkIxSUZuMG12cnQ3ajJKWEozRmNoZ2Y3TVRkK2hsSFFCU3BXcEh1ekdQcnR2V
|
||||||
UNXSnpyUm1GYWZaN092Rkw1T2tEZXliTml4OFFlRTZGWnY5emxKa0JjV1VTZ2I5T2FETklZOEwyd2Rnc
|
S9yL3QzT0NuZm1LNHQ2R3RCOHlzekIrTjFJTjhucm0rY29WeTEzeFgzc3Y5MkFUYlh3ZkFuc3ByRkZYT
|
||||||
FF3S3pHMklCbkZyVGNvQkIvUDlQWENNTHBJQmNPKzBvSFZnUUxVSTVYOUU3OW9YeWJqRkxZZUs5YjFSS
|
2ZSWVYvaHpJY3A5Ky85cDJnYTkrc3l6MXgzK0NTcmY2MTZDV0hIMmFuRmJ1MzFHSnNJUEFDLzUvSGxWT
|
||||||
XNCYTJ0SzNZZ1J4bUFNK25HM1FkQ3NxLzRvWkYwYjVvdXZKNXdWV0FZT0FPemsyRjI5TGJUbWZJMnU2Q
|
DRNWEFybDE3SGJXdjJNS1R1a0lPejFqZFVMN3JzMWYrRElYY2t0RTdQUmN6bnJmdDNaNnR1SndaSjcza
|
||||||
nc9";
|
kk9";
|
||||||
|
|
||||||
public $sRequirements = '';
|
public $sRequirements = '';
|
||||||
|
|
||||||
|
@ -112,6 +112,9 @@ $aLang = array(
|
|||||||
'</p>',
|
'</p>',
|
||||||
|
|
||||||
'D3_GOOGLEANALYTICS_BOUNCEOPT' => 'Absprungdaten optimieren',
|
'D3_GOOGLEANALYTICS_BOUNCEOPT' => 'Absprungdaten optimieren',
|
||||||
|
'D3_GOOGLEANALYTICS_BOUNCEOPT_SWITCH' => 'Absprungdaten-Optimierung aktivieren',
|
||||||
|
'D3_GOOGLEANALYTICS_BOUNCEOPT_SWITCH_DESC' => 'Analytics wertet jeden Benutzer, der nicht '.
|
||||||
|
'innerhalb der Seite einen Link anklickt, als Abbrecher. Mit dieser Option kann der Wert optimiert werden.',
|
||||||
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT1' => 'Seitenbesucher nicht als Abbrecher werten nach',
|
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT1' => 'Seitenbesucher nicht als Abbrecher werten nach',
|
||||||
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT2' => 'Millisekunden (1000 = 1 Sekunde)',
|
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT2' => 'Millisekunden (1000 = 1 Sekunde)',
|
||||||
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT_DESC' => '<p>Analytics wertet alle Seitenbucher, die '.
|
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT_DESC' => '<p>Analytics wertet alle Seitenbucher, die '.
|
||||||
@ -331,15 +334,27 @@ $aLang = array(
|
|||||||
'in den Quelltext Ihres Shops ein. Ob Sie das Gütesiegel im Shop sehen, entscheidet jedoch nur Google intern. '.
|
'in den Quelltext Ihres Shops ein. Ob Sie das Gütesiegel im Shop sehen, entscheidet jedoch nur Google intern. '.
|
||||||
'Sind Sie der Meinung, das Siegel sollte angezeigt werden, wenden Sie sich bitte an Ihren Betreuer bei Google.',
|
'Sind Sie der Meinung, das Siegel sollte angezeigt werden, wenden Sie sich bitte an Ihren Betreuer bei Google.',
|
||||||
'D3_GOOGLEANALYTICS_TS_ID' => 'Konto-ID',
|
'D3_GOOGLEANALYTICS_TS_ID' => 'Konto-ID',
|
||||||
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER' => 'Zeitraum vom Bestelleingang bis zum Versand',
|
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER' => 'Zeitraum vom Bestelleingang bis zum Versand '.
|
||||||
|
'bei lagernden Artikeln',
|
||||||
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DAYS' => 'Werktag(e)',
|
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DAYS' => 'Werktag(e)',
|
||||||
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DESC' => '<p>Google teilt Ihrem Kunden per Mail mit, '.
|
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DESC' => '<p>Google teilt Ihrem Kunden per Mail mit, '.
|
||||||
'nach welchem Zeitraum ausgehend vom Bestelleingang die bestellten Artikel versendet werden. Geben Sie hier '.
|
'nach welchem Zeitraum ausgehend vom Bestelleingang die bestellten Artikel versendet werden. Geben Sie hier '.
|
||||||
'den für Normalfälle größten Zeitraum bis zum Versand in Tagen an (z.B. 3 bei "1 bis 3 Tage"). Nach dem '.
|
'den für am Lager befindlicher Artikel im Normalfall größten Zeitraum bis zum Versand in Tagen an (z.B. 3 bei '.
|
||||||
'voraussichtlichen Versanddatum erhält der Kunde eine Umfrage zum abgeschlossenen Kauf.</p><p>Fällt der '.
|
'"1 bis 3 Tage"). Nach dem voraussichtlichen Versanddatum erhält der Kunde eine Umfrage zum abgeschlossenen '.
|
||||||
'errechnete Termin auf ein Wochenende oder einen festen Feiertag, wird der nächstmögliche Termin verwendet. '.
|
'Kauf.</p><p>Fällt der errechnete Termin auf ein Wochenende oder einen festen Feiertag, wird der '.
|
||||||
'Bewegliche und regionale Feiertage werden nicht berücksichtigt. Um die Liste der Ausnahmen anzupassen, '.
|
'nächstmögliche Termin verwendet. Bewegliche und regionale Feiertage werden nicht berücksichtigt. Um die '.
|
||||||
'erweitern Sie die Überladung der thankyou-Klasse entsprechend.</p>',
|
'Liste der Ausnahmen anzupassen, erweitern Sie die Überladung der thankyou-Klasse entsprechend.</p><p>Die '.
|
||||||
|
'Unterscheidung zwischen lagernden und nicht lagernden Artikeln wird nur bei aktivierter '.
|
||||||
|
'Lagerstandsverwaltung getroffen. Sonst werden alle Artikel als "lagernd" angesehen.</p>',
|
||||||
|
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_OUTOFSTOCK' => 'Zeitraum vom Bestelleingang bis zum Versand '.
|
||||||
|
'bei <b>nicht</b> lagernden Artikeln',
|
||||||
|
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTEROUTOFSTOCK_DESC' => '<p>Google teilt Ihrem Kunden per Mail mit, '.
|
||||||
|
'nach welchem Zeitraum ausgehend vom Bestelleingang die bestellten Artikel versendet werden. Geben Sie hier '.
|
||||||
|
'den für <b>nicht</b> am Lager befindlicher Artikel im Normalfall größten Zeitraum bis zum Versand in Tagen '.
|
||||||
|
'an (z.B. 3 bei "1 bis 3 Tage"). Nach dem voraussichtlichen Versanddatum erhält der Kunde eine Umfrage zum '.
|
||||||
|
'abgeschlossenen Kauf.</p><p>Fällt der errechnete Termin auf ein Wochenende oder einen festen Feiertag, '.
|
||||||
|
'wird der nächstmögliche Termin verwendet. Bewegliche und regionale Feiertage werden nicht berücksichtigt. '.
|
||||||
|
'Um die Liste der Ausnahmen anzupassen, erweitern Sie die Überladung der thankyou-Klasse entsprechend.</p>',
|
||||||
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER' => 'Zeitraum vom Versand bis zur Lieferung beim '.
|
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER' => 'Zeitraum vom Versand bis zur Lieferung beim '.
|
||||||
'Empfänger',
|
'Empfänger',
|
||||||
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER_DAYS' => 'Werktag(e)',
|
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER_DAYS' => 'Werktag(e)',
|
||||||
|
@ -112,6 +112,9 @@ $aLang = array(
|
|||||||
'</p>',
|
'</p>',
|
||||||
|
|
||||||
'D3_GOOGLEANALYTICS_BOUNCEOPT' => 'Bounce rate optimzation',
|
'D3_GOOGLEANALYTICS_BOUNCEOPT' => 'Bounce rate optimzation',
|
||||||
|
'D3_GOOGLEANALYTICS_BOUNCEOPT_SWITCH' => 'Absprungdaten-Optimierung aktivieren',
|
||||||
|
'D3_GOOGLEANALYTICS_BOUNCEOPT_SWITCH_DESC' => 'Analytics wertet jeden Benutzer, der nicht '.
|
||||||
|
'innerhalb der Seite einen Link anklickt, als Abbrecher. Mit dieser Option kann der Wert optimiert werden.',
|
||||||
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT1' => 'Seitenbesucher nicht als Abbrecher werten nach',
|
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT1' => 'Seitenbesucher nicht als Abbrecher werten nach',
|
||||||
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT2' => 'Millisekunden (1000 = 1 Sekunde)',
|
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT2' => 'Millisekunden (1000 = 1 Sekunde)',
|
||||||
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT_DESC' => '<p>Analytics wertet alle Seitenbucher, die '.
|
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT_DESC' => '<p>Analytics wertet alle Seitenbucher, die '.
|
||||||
@ -331,15 +334,27 @@ $aLang = array(
|
|||||||
'in den Quelltext Ihres Shops ein. Ob Sie das Gütesiegel im Shop sehen, entscheidet jedoch nur Google intern. '.
|
'in den Quelltext Ihres Shops ein. Ob Sie das Gütesiegel im Shop sehen, entscheidet jedoch nur Google intern. '.
|
||||||
'Sind Sie der Meinung, das Siegel sollte angezeigt werden, wenden Sie sich bitte an Ihren Betreuer bei Google.',
|
'Sind Sie der Meinung, das Siegel sollte angezeigt werden, wenden Sie sich bitte an Ihren Betreuer bei Google.',
|
||||||
'D3_GOOGLEANALYTICS_TS_ID' => 'account id',
|
'D3_GOOGLEANALYTICS_TS_ID' => 'account id',
|
||||||
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER' => 'Zeitraum vom Bestelleingang bis zum Versand',
|
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER' => 'Zeitraum vom Bestelleingang bis zum Versand '.
|
||||||
|
'bei lagernden Artikeln',
|
||||||
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DAYS' => 'Werktag(e)',
|
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DAYS' => 'Werktag(e)',
|
||||||
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DESC' => '<p>Google teilt Ihrem Kunden per Mail mit, '.
|
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DESC' => '<p>Google teilt Ihrem Kunden per Mail mit, '.
|
||||||
'nach welchem Zeitraum ausgehend vom Bestelleingang die bestellten Artikel versendet werden. Geben Sie hier '.
|
'nach welchem Zeitraum ausgehend vom Bestelleingang die bestellten Artikel versendet werden. Geben Sie hier '.
|
||||||
'den für Normalfälle größten Zeitraum bis zum Versand in Tagen an (z.B. 3 bei "1 bis 3 Tage"). Nach dem '.
|
'den für am Lager befindlicher Artikel im Normalfall größten Zeitraum bis zum Versand in Tagen an (z.B. 3 bei '.
|
||||||
'voraussichtlichen Versanddatum erhält der Kunde eine Umfrage zum abgeschlossenen Kauf.</p><p>Fällt der '.
|
'"1 bis 3 Tage"). Nach dem voraussichtlichen Versanddatum erhält der Kunde eine Umfrage zum abgeschlossenen '.
|
||||||
'errechnete Termin auf ein Wochenende oder einen festen Feiertag, wird der nächstmögliche Termin verwendet. '.
|
'Kauf.</p><p>Fällt der errechnete Termin auf ein Wochenende oder einen festen Feiertag, wird der '.
|
||||||
'Bewegliche und regionale Feiertage werden nicht berücksichtigt. Um die Liste der Ausnahmen anzupassen, '.
|
'nächstmögliche Termin verwendet. Bewegliche und regionale Feiertage werden nicht berücksichtigt. Um die '.
|
||||||
'erweitern Sie die Überladung der thankyou-Klasse entsprechend.</p>',
|
'Liste der Ausnahmen anzupassen, erweitern Sie die Überladung der thankyou-Klasse entsprechend.</p><p>Die '.
|
||||||
|
'Unterscheidung zwischen lagernden und nicht lagernden Artikeln wird nur bei aktivierter '.
|
||||||
|
'Lagerstandsverwaltung getroffen. Sonst werden alle Artikel als "lagernd" angesehen.</p>',
|
||||||
|
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_OUTOFSTOCK' => 'Zeitraum vom Bestelleingang bis zum Versand '.
|
||||||
|
'bei <b>nicht</b> lagernden Artikeln',
|
||||||
|
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTEROUTOFSTOCK_DESC' => '<p>Google teilt Ihrem Kunden per Mail mit, '.
|
||||||
|
'nach welchem Zeitraum ausgehend vom Bestelleingang die bestellten Artikel versendet werden. Geben Sie hier '.
|
||||||
|
'den für <b>nicht</b> am Lager befindlicher Artikel im Normalfall größten Zeitraum bis zum Versand in Tagen '.
|
||||||
|
'an (z.B. 3 bei "1 bis 3 Tage"). Nach dem voraussichtlichen Versanddatum erhält der Kunde eine Umfrage zum '.
|
||||||
|
'abgeschlossenen Kauf.</p><p>Fällt der errechnete Termin auf ein Wochenende oder einen festen Feiertag, '.
|
||||||
|
'wird der nächstmögliche Termin verwendet. Bewegliche und regionale Feiertage werden nicht berücksichtigt. '.
|
||||||
|
'Um die Liste der Ausnahmen anzupassen, erweitern Sie die Überladung der thankyou-Klasse entsprechend.</p>',
|
||||||
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER' => 'Zeitraum vom Versand bis zur Lieferung beim '.
|
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER' => 'Zeitraum vom Versand bis zur Lieferung beim '.
|
||||||
'Empfänger',
|
'Empfänger',
|
||||||
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER_DAYS' => 'Werktag(e)',
|
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER_DAYS' => 'Werktag(e)',
|
||||||
|
@ -231,6 +231,16 @@
|
|||||||
[{oxmultilang ident="D3_GOOGLEANALYTICS_BOUNCEOPT"}]
|
[{oxmultilang ident="D3_GOOGLEANALYTICS_BOUNCEOPT"}]
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<label for="blUseBounceRateOptimization">[{oxmultilang ident="D3_GOOGLEANALYTICS_BOUNCEOPT_SWITCH"}]</label>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
<input type="hidden" name="value[blUseBounceRateOptimization]" value="0">
|
||||||
|
<input id="blUseBounceRateOptimization" class="edittext ext_edittext" type="checkbox" value="1" [{if $edit->getValue('blUseBounceRateOptimization')}]checked[{/if}] name="value[blUseBounceRateOptimization]">
|
||||||
|
[{oxinputhelp ident="D3_GOOGLEANALYTICS_BOUNCEOPT_SWITCH_DESC"}]
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>
|
<dt>
|
||||||
<label for="iSendNoBounceEventTime">[{oxmultilang ident="D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT1"}]</label>
|
<label for="iSendNoBounceEventTime">[{oxmultilang ident="D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT1"}]</label>
|
||||||
|
@ -137,6 +137,16 @@
|
|||||||
[{oxinputhelp ident="D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DESC"}]
|
[{oxinputhelp ident="D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DESC"}]
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<label for="iEstShippingTimeValueOutOfStock">[{oxmultilang ident="D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_OUTOFSTOCK"}]</label>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
<input id="iEstShippingTimeValueOutOfStock" type="text" name="value[iEstShippingTimeValueOutOfStock]" class="edittext ext_edittext" size="3" maxlength="5" value="[{if $edit->getValue('iEstShippingTimeValueOutOfStock')}][{$edit->getValue('iEstShippingTimeValueOutOfStock')}][{else}]1[{/if}]" [{$readonly}]>
|
||||||
|
[{oxmultilang ident="D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DAYS"}]
|
||||||
|
[{oxinputhelp ident="D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTEROUTOFSTOCK_DESC"}]
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>
|
<dt>
|
||||||
<label for="iEstDeliveryTimeValue">[{oxmultilang ident="D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER"}]</label>
|
<label for="iEstDeliveryTimeValue">[{oxmultilang ident="D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER"}]</label>
|
||||||
|
Binary file not shown.
@ -43,7 +43,7 @@ class requConfig
|
|||||||
|
|
||||||
public $sModId = 'd3_googleanalytics';
|
public $sModId = 'd3_googleanalytics';
|
||||||
|
|
||||||
public $sModVersion = '3.3.0.0';
|
public $sModVersion = '3.3.1.0';
|
||||||
|
|
||||||
/********************** check configuration section ************************/
|
/********************** check configuration section ************************/
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ class requConfig
|
|||||||
'hasMaxPhpVersion' => array(
|
'hasMaxPhpVersion' => array(
|
||||||
'blExec' => 0,
|
'blExec' => 0,
|
||||||
'aParams' => array(
|
'aParams' => array(
|
||||||
'version' => '5.4.200'
|
'version' => '5.6.200'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ class requConfig
|
|||||||
'blExec' => 1,
|
'blExec' => 1,
|
||||||
'aParams' => array(
|
'aParams' => array(
|
||||||
'from' => '5.2.0',
|
'from' => '5.2.0',
|
||||||
'to' => '5.4.200',
|
'to' => '5.6.200',
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
@ -132,7 +132,9 @@ class requConfig
|
|||||||
),
|
),
|
||||||
|
|
||||||
// benötigt Modul-Connector
|
// benötigt Modul-Connector
|
||||||
'hasModCfg' => array('blExec' => 1),
|
'hasModCfg' => array(
|
||||||
|
'blExec' => 1
|
||||||
|
),
|
||||||
|
|
||||||
// benötigt mindestens diese Erweiterungen / Version lt. d3_cfg_mod (kaskadierbar (siehe "Desc1"))
|
// benötigt mindestens diese Erweiterungen / Version lt. d3_cfg_mod (kaskadierbar (siehe "Desc1"))
|
||||||
'hasMinModCfgVersion' => array(
|
'hasMinModCfgVersion' => array(
|
||||||
@ -1239,7 +1241,7 @@ class requTranslations
|
|||||||
'Shopedition.</div>'.
|
'Shopedition.</div>'.
|
||||||
'<div>Bei Fragen wenden Sie sich bitte an <a href="mailto:support@shopmodule.com">'.
|
'<div>Bei Fragen wenden Sie sich bitte an <a href="mailto:support@shopmodule.com">'.
|
||||||
'support@shopmodule.com</a>.</div>',
|
'support@shopmodule.com</a>.</div>',
|
||||||
'hasZendLoaderOptimizer' => 'Zend Optimizer (PHP 5.2) oder Zend Guard Loader (PHP 5.3, 5.4) '.
|
'hasZendLoaderOptimizer' => 'Zend Optimizer (PHP 5.2) oder Zend Guard Loader (PHP 5.3, 5.4, 5.5, 5.6) '.
|
||||||
'installiert',
|
'installiert',
|
||||||
'hasZendLoaderOptimizer_DESC' => '<div>Das Modul erfordert (je nach PHP-Version) den Zend Optimizer '.
|
'hasZendLoaderOptimizer_DESC' => '<div>Das Modul erfordert (je nach PHP-Version) den Zend Optimizer '.
|
||||||
'bzw. den Zend Guard Loader.</div>'.
|
'bzw. den Zend Guard Loader.</div>'.
|
||||||
@ -1380,7 +1382,7 @@ class requTranslations
|
|||||||
'fulfilled. The module can\'t installed or executed.</div>'.
|
'fulfilled. The module can\'t installed or executed.</div>'.
|
||||||
'<div>The [+] button show details for all tested directories. If you have any questions, please '.
|
'<div>The [+] button show details for all tested directories. If you have any questions, please '.
|
||||||
'contact us at support@shopmodule.com.</div>',
|
'contact us at support@shopmodule.com.</div>',
|
||||||
'hasZendLoaderOptimizer' => 'Zend Optimizer (PHP 5.2) or Zend Guard Loader (PHP 5.3, 5.4) installed',
|
'hasZendLoaderOptimizer' => 'Zend Optimizer (PHP 5.2) or Zend Guard Loader (PHP 5.3, 5.4, 5.5, 5.6) installed',
|
||||||
'hasZendLoaderOptimizer_DESC' => '<div>requirement check result</div>'.
|
'hasZendLoaderOptimizer_DESC' => '<div>requirement check result</div>'.
|
||||||
'<div><div class="squ_bullet" style="background-color: green;"></div> This requirement is '.
|
'<div><div class="squ_bullet" style="background-color: green;"></div> This requirement is '.
|
||||||
'fulfilled.</div>'.
|
'fulfilled.</div>'.
|
||||||
@ -1987,7 +1989,7 @@ class requTests
|
|||||||
function_exists('zend_optimizer_version')
|
function_exists('zend_optimizer_version')
|
||||||
) || (
|
) || (
|
||||||
version_compare(phpversion(), '5.3.0', '>=') &&
|
version_compare(phpversion(), '5.3.0', '>=') &&
|
||||||
version_compare(phpversion(), '5.4.900', '<') &&
|
version_compare(phpversion(), '5.6.900', '<') &&
|
||||||
function_exists('zend_loader_version')
|
function_exists('zend_loader_version')
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
|
@ -1,11 +1,21 @@
|
|||||||
|
=> 3.3.1.0
|
||||||
|
- Lieferzeitangabe kann nun für lagernde und nicht lagernde Artikel getrennt angegeben werden
|
||||||
|
- Domainliste bei Verwendung mehrerer Shop-Domains korrigiert
|
||||||
|
- Schalter für Absprungratenermittlung integriert
|
||||||
|
- "Zertifizierte Händler"-Variablen werden nur gezeigt, wenn "Zertifizierter Händler" aktiv ist
|
||||||
|
- JS-Fehler bei unkonfigurierter Absprung-Zeit korrigiert
|
||||||
|
|
||||||
|
=> 3.3.0.1
|
||||||
|
- Kompatibilität zu Egate Media PayPal verbessert
|
||||||
|
|
||||||
=> 3.3.0.0
|
=> 3.3.0.0
|
||||||
- Google Zertifierte Händler eingefügt
|
- Google Zertifizierte Händler eingefügt
|
||||||
- Hilfetexte erweitert
|
- Hilfetexte erweitert
|
||||||
- Integration ins Mobile-Theme
|
- Integration ins Mobile-Theme
|
||||||
- Optimierung der Transaktionsübergaben
|
- Optimierung der Transaktionsübergaben
|
||||||
- getrackte Absprungrate optimiert
|
- getrackte Absprungrate optimiert
|
||||||
- Konfigurationsvariablen korrgiert
|
- Konfigurationsvariablen korrigiert
|
||||||
- Fehler bei "toBasket" auf Detailseie ohne Kategorieangabe korrigert
|
- Fehler bei "toBasket" auf Detailseite ohne Kategorieangabe korrigiert
|
||||||
|
|
||||||
=> 3.2.1.0
|
=> 3.2.1.0
|
||||||
- neue Option "Opt Out anzeigen lassen"
|
- neue Option "Opt Out anzeigen lassen"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user