Merge branch 'rel_3.x' of http://phab.d3data.local/source/GoogleServices into rel_3.x
This commit is contained in:
commit
e95c18d8c0
@ -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.4.0.0',
|
'version' => '3.4.0.1',
|
||||||
'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/',
|
||||||
|
@ -31,7 +31,10 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
|||||||
'details' => 'product',
|
'details' => 'product',
|
||||||
'oxwarticledetails' => 'product',
|
'oxwarticledetails' => 'product',
|
||||||
'basket' => 'cart',
|
'basket' => 'cart',
|
||||||
'order' => 'purchase',
|
'user' => 'cart',
|
||||||
|
'payment' => 'cart',
|
||||||
|
'order' => 'cart',
|
||||||
|
'thankyou' => 'purchase',
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -302,19 +305,29 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Indicates the type of page that the tag is on. Valid values:
|
||||||
|
*
|
||||||
|
* home - Used on the home page or landing page of your site.
|
||||||
|
* searchresults - Used on pages where the results of a user's search are displayed.
|
||||||
|
* category - Used on pages that list multiple items within a category, for example a page showing all shoes in a given style.
|
||||||
|
* product - Used on individual product pages.
|
||||||
|
* cart - Used on the cart/basket/checkout page.
|
||||||
|
* purchase - Used on the page shown once a user has purchased (and so converted), for example a "Thank You" or confirmation page.
|
||||||
|
* other - Used where the page does not fit into the other types of page, for example a "Contact Us" or "About Us" page.
|
||||||
|
*
|
||||||
|
* @link https://developers.google.com/adwords-remarketing-tag/parameters#retail-sites
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function d3GetGAPageType()
|
public function d3GetGAPageType()
|
||||||
{
|
{
|
||||||
$oCurrentView = oxRegistry::getConfig()->getActiveView();
|
$oCurrentView = oxRegistry::getConfig()->getActiveView();
|
||||||
|
|
||||||
if (is_array($this->aD3GAPageTypes) &&
|
$key = strtolower($oCurrentView->getClassName());
|
||||||
isset($this->aD3GAPageTypes[strtolower($oCurrentView->getClassName())])
|
if (array_key_exists($key, $this->aD3GAPageTypes)) {
|
||||||
) {
|
return $this->aD3GAPageTypes[$key];
|
||||||
return $this->aD3GAPageTypes[strtolower($oCurrentView->getClassName())];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return 'Siteview';
|
return 'other';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,326 +1,328 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This Software is the property of Data Development and is protected
|
* This Software is the property of Data Development and is protected
|
||||||
* by copyright law - it is NOT Freeware.
|
* by copyright law - it is NOT Freeware.
|
||||||
*
|
*
|
||||||
* Any unauthorized use of this software without a valid license
|
* Any unauthorized use of this software without a valid license
|
||||||
* is a violation of the license agreement and will be prosecuted by
|
* is a violation of the license agreement and will be prosecuted by
|
||||||
* civil and criminal law.
|
* civil and criminal law.
|
||||||
*
|
*
|
||||||
* http://www.shopmodule.com
|
* http://www.shopmodule.com
|
||||||
*
|
*
|
||||||
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||||
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
||||||
* @link http://www.oxidmodule.com
|
* @link http://www.oxidmodule.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class d3_googleanalytics_update extends d3install_updatebase
|
class d3_googleanalytics_update extends d3install_updatebase
|
||||||
{
|
{
|
||||||
public $sModKey = 'd3_googleanalytics';
|
public $sModKey = 'd3_googleanalytics';
|
||||||
|
|
||||||
public $sModName = 'Google Services Schnittstelle';
|
public $sModName = 'Google Services Schnittstelle';
|
||||||
|
|
||||||
public $sModVersion = '3.4.0.0';
|
public $sModVersion = '3.4.0.1';
|
||||||
|
|
||||||
public $sModRevision = '242';
|
public $sModRevision = '242';
|
||||||
|
|
||||||
// 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 =
|
||||||
"ZJ0MzB1N2F3em43V1dqWXkvVnc1WXVOeStnMU95aHM2d1BiZEJlbGVhbzNIcE5nTVJxQlZYOEFwU2RrK
|
"--------------------------------------------------------------------------------
|
||||||
2dBSUlQNm43Ly9ldkNZUlFEemNNNmVvVXlTNWRwSVp5RGk4UGxKb2xTckQ4U2pRWUZKVFR1bWx3N0dRU
|
47PWGtBQVFQVEFDOXp0V0VxUG1nRHZzUUpHYmlxTlVDRzNWay9yTHExYytvbXZiN0oxc0JBY3liMTRlO
|
||||||
3FzbThEOGNqSWcvZDFXNVJhSlUydEFwejZ2OFRRektPai9nNVcvWGJURGV2SGJpTkZxMjBOM1pXMkJRU
|
FdDTGk3K3ExU2RSUUFaL1c2U1huUkt4ckpmWmtpNERmNnk4dVpXaFJ2N0NIMjlDSFhRSnpwY0ZnRWdjT
|
||||||
jVoN1dybnBhTlFWQ0s2Lzh4NjMvZXZMMlJHV21LTnNJcDBIWngxSkJVM3hDODZ4bzBaWS9zRHZ1WC9jY
|
ERSZTRObXczSjBCY2VUREtrbUs4ZDhQUXEwN3pTemo1eHBEcG9ieDhzL1lSUjBZZlFXQXNUVXNteUZNc
|
||||||
UtkNFB6WEdzR2NLMG8yWGpMdG9XTmZsQ0lCNkdGSzZ1N0JRMFVlV3JhRXhtZ2tNUi9pd3hsMDIwRlNHY
|
FN2aUExeEVsSU1IK0l4NFY2eEl6LzBZSlFjSkNIWEFXeG1JNGd6SXorK0FDc2xHblZEVmxNaEQ1dnROd
|
||||||
np5bjJIQjE5aGIycW4wSGpCQXI5alVwYmJreTBRS3NMckNQODZvYXJnZjdBPT0=";
|
U5jbUNKaUszK3JlOEt0YTNlL0k4QU9KUVNjSGNweDJBeDF4NGQ1T2tWbWJ2TDBSeWNsRXJCNEtBNzlOb
|
||||||
|
FZKZXVRN1RMRWpHeUF6eGlCeXdIUHRnMlZzRDN3SEZnRUdIY05SUFZNcjRBPT0=
|
||||||
public $sRequirements = '';
|
--------------------------------------------------------------------------------";
|
||||||
|
|
||||||
public $sBaseValue = 'TyUzQTglM0ElMjJzdGRDbGFzcyUyMiUzQTMwJTNBJTdCcyUzQTIxJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FUeXBlJTIyJTNCcyUzQTklM0ElMjJ1bml2ZXJzYWwlMjIlM0JzJTNBMTklM0ElMjJkM19jZmdfbW9kX19zRDNHQUlkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMjklM0ElMjJkM19jZmdfbW9kX19ibEQzR0FBbm9ueW1pemVJUCUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0EyNyUzQSUyMmQzX2NmZ19tb2RfX2lEM0dBU2FtcGxlUmF0ZSUyMiUzQnMlM0EzJTNBJTIyMTAwJTIyJTNCcyUzQTM1JTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBVHJhY2tQYWdlTG9hZFRpbWUlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzYlM0ElMjJkM19jZmdfbW9kX19pRDNHQVNpdGVTcGVlZFNhbXBsZVJhdGUlMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBMzIlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FVc2VSZW1hcmtldGluZyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNlbmRFQ29tbWVyY2UlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMjYlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FVc2VOZXR0byUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQUFsbG93RG9tYWluTGlua2VyJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTMwJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXREb21haW5OYW1lJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzAlM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENvb2tpZVBhdGglMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENsaWVudEluZm8lMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzIlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FTZXREZXRlY3RGbGFzaCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzMiUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldERldGVjdFRpdGxlJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBVXNlQ3VzdG9tVmFycyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNCUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENhbXBhaWduVHJhY2slMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzAlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FTZXRDYW1wTm9LZXklMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMjklM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENhbXBJZEtleSUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXRDYW1wTmFtZUtleSUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMzJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXRDYW1wTWVkaXVtS2V5JTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzMlM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENhbXBTb3VyY2VLZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBU2V0Q2FtcFRlcm1LZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzNCUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBU2V0Q2FtcENvbnRlbnRLZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzOSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENvbnZlcnNpb25UcmFja2luZyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNSUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBQWRXb3JkQ29udmVyc2lvbklkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzglM0ElMjJkM19jZmdfbW9kX19zRDNHQUFkV29yZENvbnZlcnNpb25MYWJlbCUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMyJTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBU2V0UmVtYXJrZXRpbmclMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBNDAlM0ElMjJkM19jZmdfbW9kX19zRDNHQVJlbWFya2V0aW5nQ29udmVyc2lvbklkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBNDMlM0ElMjJkM19jZmdfbW9kX19zRDNHQVJlbWFya2V0aW5nQ29udmVyc2lvbkxhYmVsJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0IlN0Q=';
|
public $sRequirements = '';
|
||||||
|
|
||||||
protected $_aUpdateMethods = array(
|
public $sBaseValue = 'TyUzQTglM0ElMjJzdGRDbGFzcyUyMiUzQTMwJTNBJTdCcyUzQTIxJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FUeXBlJTIyJTNCcyUzQTklM0ElMjJ1bml2ZXJzYWwlMjIlM0JzJTNBMTklM0ElMjJkM19jZmdfbW9kX19zRDNHQUlkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMjklM0ElMjJkM19jZmdfbW9kX19ibEQzR0FBbm9ueW1pemVJUCUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0EyNyUzQSUyMmQzX2NmZ19tb2RfX2lEM0dBU2FtcGxlUmF0ZSUyMiUzQnMlM0EzJTNBJTIyMTAwJTIyJTNCcyUzQTM1JTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBVHJhY2tQYWdlTG9hZFRpbWUlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzYlM0ElMjJkM19jZmdfbW9kX19pRDNHQVNpdGVTcGVlZFNhbXBsZVJhdGUlMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBMzIlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FVc2VSZW1hcmtldGluZyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNlbmRFQ29tbWVyY2UlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMjYlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FVc2VOZXR0byUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQUFsbG93RG9tYWluTGlua2VyJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTMwJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXREb21haW5OYW1lJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzAlM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENvb2tpZVBhdGglMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENsaWVudEluZm8lMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzIlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FTZXREZXRlY3RGbGFzaCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzMiUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldERldGVjdFRpdGxlJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBVXNlQ3VzdG9tVmFycyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNCUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENhbXBhaWduVHJhY2slMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzAlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FTZXRDYW1wTm9LZXklMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMjklM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENhbXBJZEtleSUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXRDYW1wTmFtZUtleSUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMzJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXRDYW1wTWVkaXVtS2V5JTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzMlM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENhbXBTb3VyY2VLZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBU2V0Q2FtcFRlcm1LZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzNCUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBU2V0Q2FtcENvbnRlbnRLZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzOSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENvbnZlcnNpb25UcmFja2luZyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNSUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBQWRXb3JkQ29udmVyc2lvbklkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzglM0ElMjJkM19jZmdfbW9kX19zRDNHQUFkV29yZENvbnZlcnNpb25MYWJlbCUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMyJTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBU2V0UmVtYXJrZXRpbmclMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBNDAlM0ElMjJkM19jZmdfbW9kX19zRDNHQVJlbWFya2V0aW5nQ29udmVyc2lvbklkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBNDMlM0ElMjJkM19jZmdfbW9kX19zRDNHQVJlbWFya2V0aW5nQ29udmVyc2lvbkxhYmVsJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0IlN0Q=';
|
||||||
array(
|
|
||||||
'check' => 'checkModCfgItemExist',
|
protected $_aUpdateMethods = array(
|
||||||
'do' => 'updateModCfgItemExist'
|
array(
|
||||||
),
|
'check' => 'checkModCfgItemExist',
|
||||||
array(
|
'do' => 'updateModCfgItemExist'
|
||||||
'check' => 'checkFields',
|
),
|
||||||
'do' => 'fixFields'
|
array(
|
||||||
),
|
'check' => 'checkFields',
|
||||||
array(
|
'do' => 'fixFields'
|
||||||
'check' => 'checkContentGANoticeItemExist',
|
),
|
||||||
'do' => 'updateContentGANoticeItemExist'
|
array(
|
||||||
),
|
'check' => 'checkContentGANoticeItemExist',
|
||||||
array(
|
'do' => 'updateContentGANoticeItemExist'
|
||||||
'check' => 'checkModCfgSameRevision',
|
),
|
||||||
'do' => 'updateModCfgSameRevision'
|
array(
|
||||||
),
|
'check' => 'checkModCfgSameRevision',
|
||||||
);
|
'do' => 'updateModCfgSameRevision'
|
||||||
|
),
|
||||||
public $aFields = array(
|
);
|
||||||
'D3_GALOCATOR' => array(
|
|
||||||
'sTableName' => 'oxorderarticles',
|
public $aFields = array(
|
||||||
'sFieldName' => 'D3_GALOCATOR',
|
'D3_GALOCATOR' => array(
|
||||||
'sType' => 'VARCHAR(255)',
|
'sTableName' => 'oxorderarticles',
|
||||||
'blNull' => false,
|
'sFieldName' => 'D3_GALOCATOR',
|
||||||
'sDefault' => '',
|
'sType' => 'VARCHAR(255)',
|
||||||
'sComment' => '',
|
'blNull' => false,
|
||||||
'sExtra' => '',
|
'sDefault' => '',
|
||||||
'blMultilang' => false,
|
'sComment' => '',
|
||||||
),
|
'sExtra' => '',
|
||||||
);
|
'blMultilang' => false,
|
||||||
|
),
|
||||||
protected $_aRefreshMetaModuleIds = array('d3_googleanalytics');
|
);
|
||||||
|
|
||||||
/**
|
protected $_aRefreshMetaModuleIds = array('d3_googleanalytics');
|
||||||
* @return bool
|
|
||||||
*/
|
/**
|
||||||
public function checkModCfgItemExist()
|
* @return bool
|
||||||
{
|
*/
|
||||||
$blRet = false;
|
public function checkModCfgItemExist()
|
||||||
foreach ($this->getShopList() as $oShop) {
|
{
|
||||||
/** @var $oShop oxshop */
|
$blRet = false;
|
||||||
$aWhere = array(
|
foreach ($this->getShopList() as $oShop) {
|
||||||
'oxmodid' => $this->sModKey,
|
/** @var $oShop oxshop */
|
||||||
'oxnewrevision' => $this->sModRevision,
|
$aWhere = array(
|
||||||
'oxshopid' => $oShop->getId(),
|
'oxmodid' => $this->sModKey,
|
||||||
);
|
'oxnewrevision' => $this->sModRevision,
|
||||||
|
'oxshopid' => $oShop->getId(),
|
||||||
$blRet = $this->_checkTableItemNotExist('d3_cfg_mod', $aWhere);
|
);
|
||||||
|
|
||||||
if ($blRet) {
|
$blRet = $this->_checkTableItemNotExist('d3_cfg_mod', $aWhere);
|
||||||
return $blRet;
|
|
||||||
}
|
if ($blRet) {
|
||||||
}
|
return $blRet;
|
||||||
|
}
|
||||||
return $blRet;
|
}
|
||||||
}
|
|
||||||
|
return $blRet;
|
||||||
/**
|
}
|
||||||
* @return bool
|
|
||||||
*/
|
/**
|
||||||
public function updateModCfgItemExist()
|
* @return bool
|
||||||
{
|
*/
|
||||||
$blRet = false;
|
public function updateModCfgItemExist()
|
||||||
|
{
|
||||||
if ($this->checkModCfgItemExist()) {
|
$blRet = false;
|
||||||
foreach ($this->getShopList() as $oShop) {
|
|
||||||
/** @var $oShop oxshop */
|
if ($this->checkModCfgItemExist()) {
|
||||||
$aWhere = array(
|
foreach ($this->getShopList() as $oShop) {
|
||||||
'oxmodid' => $this->sModKey,
|
/** @var $oShop oxshop */
|
||||||
'oxshopid' => $oShop->getId(),
|
$aWhere = array(
|
||||||
'oxnewrevision' => $this->sModRevision,
|
'oxmodid' => $this->sModKey,
|
||||||
);
|
'oxshopid' => $oShop->getId(),
|
||||||
|
'oxnewrevision' => $this->sModRevision,
|
||||||
if ($this->_checkTableItemNotExist('d3_cfg_mod', $aWhere)) {
|
);
|
||||||
// update don't use this property
|
|
||||||
unset($aWhere['oxnewrevision']);
|
if ($this->_checkTableItemNotExist('d3_cfg_mod', $aWhere)) {
|
||||||
|
// update don't use this property
|
||||||
$aInsertFields = array(
|
unset($aWhere['oxnewrevision']);
|
||||||
'OXID' => array(
|
|
||||||
'content' => "md5('" . $this->sModKey . " " . $oShop->getId() . "')",
|
$aInsertFields = array(
|
||||||
'force_update' => false,
|
'OXID' => array(
|
||||||
'use_quote' => false,
|
'content' => "md5('" . $this->sModKey . " " . $oShop->getId() . "')",
|
||||||
),
|
'force_update' => false,
|
||||||
'OXSHOPID' => array(
|
'use_quote' => false,
|
||||||
'content' => $oShop->getId(),
|
),
|
||||||
'force_update' => false,
|
'OXSHOPID' => array(
|
||||||
'use_quote' => true,
|
'content' => $oShop->getId(),
|
||||||
),
|
'force_update' => false,
|
||||||
'OXMODID' => array(
|
'use_quote' => true,
|
||||||
'content' => $this->sModKey,
|
),
|
||||||
'force_update' => true,
|
'OXMODID' => array(
|
||||||
'use_quote' => true,
|
'content' => $this->sModKey,
|
||||||
),
|
'force_update' => true,
|
||||||
'OXNAME' => array(
|
'use_quote' => true,
|
||||||
'content' => $this->sModName,
|
),
|
||||||
'force_update' => true,
|
'OXNAME' => array(
|
||||||
'use_quote' => true,
|
'content' => $this->sModName,
|
||||||
),
|
'force_update' => true,
|
||||||
'OXACTIVE' => array(
|
'use_quote' => true,
|
||||||
'content' => "0",
|
),
|
||||||
'force_update' => false,
|
'OXACTIVE' => array(
|
||||||
'use_quote' => false,
|
'content' => "0",
|
||||||
),
|
'force_update' => false,
|
||||||
'OXBASECONFIG' => array(
|
'use_quote' => false,
|
||||||
'content' => $this->sBaseConf,
|
),
|
||||||
'force_update' => true,
|
'OXBASECONFIG' => array(
|
||||||
'use_quote' => true,
|
'content' => $this->sBaseConf,
|
||||||
),
|
'force_update' => true,
|
||||||
'OXINSTALLDATE' => array(
|
'use_quote' => true,
|
||||||
'content' => "NOW()",
|
),
|
||||||
'force_update' => true,
|
'OXINSTALLDATE' => array(
|
||||||
'use_quote' => false,
|
'content' => "NOW()",
|
||||||
),
|
'force_update' => true,
|
||||||
'OXVERSION' => array(
|
'use_quote' => false,
|
||||||
'content' => $this->sModVersion,
|
),
|
||||||
'force_update' => true,
|
'OXVERSION' => array(
|
||||||
'use_quote' => true,
|
'content' => $this->sModVersion,
|
||||||
),
|
'force_update' => true,
|
||||||
'OXSHOPVERSION' => array(
|
'use_quote' => true,
|
||||||
'content' => oxRegistry::getConfig()->getEdition(),
|
),
|
||||||
'force_update' => true,
|
'OXSHOPVERSION' => array(
|
||||||
'use_quote' => true,
|
'content' => oxRegistry::getConfig()->getEdition(),
|
||||||
),
|
'force_update' => true,
|
||||||
'OXREQUIREMENTS' => array(
|
'use_quote' => true,
|
||||||
'content' => $this->sRequirements,
|
),
|
||||||
'force_update' => true,
|
'OXREQUIREMENTS' => array(
|
||||||
'use_quote' => true,
|
'content' => $this->sRequirements,
|
||||||
),
|
'force_update' => true,
|
||||||
'OXVALUE' => array(
|
'use_quote' => true,
|
||||||
'content' => $this->sBaseValue,
|
),
|
||||||
'force_update' => false,
|
'OXVALUE' => array(
|
||||||
'use_quote' => true,
|
'content' => $this->sBaseValue,
|
||||||
),
|
'force_update' => false,
|
||||||
'OXNEWREVISION' => array(
|
'use_quote' => true,
|
||||||
'content' => $this->sModRevision,
|
),
|
||||||
'force_update' => true,
|
'OXNEWREVISION' => array(
|
||||||
'use_quote' => true,
|
'content' => $this->sModRevision,
|
||||||
),
|
'force_update' => true,
|
||||||
);
|
'use_quote' => true,
|
||||||
$aRet = $this->_updateTableItem2('d3_cfg_mod', $aInsertFields, $aWhere);
|
),
|
||||||
$blRet = $aRet['blRet'];
|
);
|
||||||
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
$aRet = $this->_updateTableItem2('d3_cfg_mod', $aInsertFields, $aWhere);
|
||||||
$this->setUpdateBreak(false);
|
$blRet = $aRet['blRet'];
|
||||||
|
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
||||||
if ($this->getStepByStepMode()) {
|
$this->setUpdateBreak(false);
|
||||||
break;
|
|
||||||
}
|
if ($this->getStepByStepMode()) {
|
||||||
}
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return $blRet;
|
}
|
||||||
}
|
|
||||||
|
return $blRet;
|
||||||
/**
|
}
|
||||||
* @return bool
|
|
||||||
*/
|
/**
|
||||||
public function checkContentGANoticeItemExist()
|
* @return bool
|
||||||
{
|
*/
|
||||||
$blRet = false;
|
public function checkContentGANoticeItemExist()
|
||||||
foreach ($this->getShopList() as $oShop) {
|
{
|
||||||
/** @var $oShop oxshop */
|
$blRet = false;
|
||||||
$aWhere = array(
|
foreach ($this->getShopList() as $oShop) {
|
||||||
'oxloadid' => 'Analytics_Security_Informations',
|
/** @var $oShop oxshop */
|
||||||
'oxshopid' => $oShop->getId(),
|
$aWhere = array(
|
||||||
);
|
'oxloadid' => 'Analytics_Security_Informations',
|
||||||
|
'oxshopid' => $oShop->getId(),
|
||||||
$blRet = $this->_checkTableItemNotExist('oxcontents', $aWhere);
|
);
|
||||||
|
|
||||||
if ($blRet) {
|
$blRet = $this->_checkTableItemNotExist('oxcontents', $aWhere);
|
||||||
return $blRet;
|
|
||||||
}
|
if ($blRet) {
|
||||||
}
|
return $blRet;
|
||||||
|
}
|
||||||
return $blRet;
|
}
|
||||||
}
|
|
||||||
|
return $blRet;
|
||||||
/**
|
}
|
||||||
* @return bool
|
|
||||||
*/
|
/**
|
||||||
public function updateContentGANoticeItemExist()
|
* @return bool
|
||||||
{
|
*/
|
||||||
$blRet = false;
|
public function updateContentGANoticeItemExist()
|
||||||
|
{
|
||||||
if ($this->checkContentGANoticeItemExist()) {
|
$blRet = false;
|
||||||
foreach ($this->getShopList() as $oShop) {
|
|
||||||
/** @var $oShop oxshop */
|
if ($this->checkContentGANoticeItemExist()) {
|
||||||
$aWhere = array(
|
foreach ($this->getShopList() as $oShop) {
|
||||||
'oxloadid' => 'Analytics_Security_Informations',
|
/** @var $oShop oxshop */
|
||||||
'oxshopid' => $oShop->getId(),
|
$aWhere = array(
|
||||||
);
|
'oxloadid' => 'Analytics_Security_Informations',
|
||||||
|
'oxshopid' => $oShop->getId(),
|
||||||
if ($this->_checkTableItemNotExist('oxcontents', $aWhere)) {
|
);
|
||||||
$aInsertFields = array(
|
|
||||||
'OXID' => array(
|
if ($this->_checkTableItemNotExist('oxcontents', $aWhere)) {
|
||||||
'content' => "md5(RAND())",
|
$aInsertFields = array(
|
||||||
'force_update' => false,
|
'OXID' => array(
|
||||||
),
|
'content' => "md5(RAND())",
|
||||||
'OXLOADID' => array(
|
'force_update' => false,
|
||||||
'content' => "'Analytics_Security_Informations'",
|
),
|
||||||
'force_update' => true,
|
'OXLOADID' => array(
|
||||||
),
|
'content' => "'Analytics_Security_Informations'",
|
||||||
'OXSHOPID' => array(
|
'force_update' => true,
|
||||||
'content' => "'" . $oShop->getId() . "'",
|
),
|
||||||
'force_update' => true,
|
'OXSHOPID' => array(
|
||||||
),
|
'content' => "'" . $oShop->getId() . "'",
|
||||||
'OXSNIPPET' => array(
|
'force_update' => true,
|
||||||
'content' => "'1'",
|
),
|
||||||
'force_update' => false,
|
'OXSNIPPET' => array(
|
||||||
),
|
'content' => "'1'",
|
||||||
'OXTYPE' => array(
|
'force_update' => false,
|
||||||
'content' => "'0'",
|
),
|
||||||
'force_update' => false,
|
'OXTYPE' => array(
|
||||||
),
|
'content' => "'0'",
|
||||||
'OXACTIVE' => array(
|
'force_update' => false,
|
||||||
'content' => "'1'",
|
),
|
||||||
'force_update' => false,
|
'OXACTIVE' => array(
|
||||||
),
|
'content' => "'1'",
|
||||||
'OXACTIVE_1' => array(
|
'force_update' => false,
|
||||||
'content' => "'1'",
|
),
|
||||||
'force_update' => false,
|
'OXACTIVE_1' => array(
|
||||||
),
|
'content' => "'1'",
|
||||||
'OXPOSITION' => array(
|
'force_update' => false,
|
||||||
'content' => "''",
|
),
|
||||||
'force_update' => false,
|
'OXPOSITION' => array(
|
||||||
),
|
'content' => "''",
|
||||||
'OXTITLE' => array(
|
'force_update' => false,
|
||||||
'content' => "'Analytics Datenschutz Information'",
|
),
|
||||||
'force_update' => false,
|
'OXTITLE' => array(
|
||||||
),
|
'content' => "'Analytics Datenschutz Information'",
|
||||||
'OXCONTENT' => array(
|
'force_update' => false,
|
||||||
'content' => "'<p>Diese Website benutzt Google Analytics, einen Webanalysedienst der Google\r\n\r\nInc. ("Google"). Google Analytics verwendet sog. "Cookies", Textdateien, die auf\r\n\r\nIhrem Computer gespeichert werden und die eine Analyse der Benutzung der Website\r\n\r\ndurch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre\r\n\r\nBenutzung dieser Website (einschließlich Ihrer IP-Adresse<span style=\"color: #800000\">, die jedoch mit der Methode _anonymizeIp() anonymisiert wird, so dass Sie nicht mehr einem Anschluss\r\n\r\nzugeordnet werden kann</span>) wird an einen Server von Google in den USA\r\n\r\nübertragen und dort gespeichert. Google wird diese Informationen benutzen, um\r\n\r\nIhre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten für\r\n\r\ndie Websitebetreiber zusammenzustellen und um weitere mit der Websitenutzung und\r\n\r\nder Internetnutzung verbundene Dienstleistungen zu erbringen. Auch wird Google\r\n\r\ndiese Informationen gegebenenfalls an Dritte übertragen, sofern dies gesetzlich\r\n\r\nvorgeschrieben oder soweit Dritte diese Daten im Auftrag von Google verarbeiten.\r\n\r\nGoogle wird in keinem Fall Ihre IP-Adresse mit anderen Daten von Google in\r\n\r\nVerbindung bringen. Sie können die Installation der Cookies durch eine\r\n\r\nentsprechende Einstellung Ihrer Browser Software verhindern; wir weisen Sie\r\n\r\njedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche\r\n\r\nFunktionen dieser Website vollumfänglich nutzen können. Durch die Nutzung dieser\r\n\r\nWebsite erklären Sie sich mit der Bearbeitung der über Sie erhobenen Daten durch\r\n\r\nGoogle in der zuvor beschriebenen Art und Weise und zu dem zuvor benannten Zweck\r\n\r\neinverstanden.</p>\r\n<p><span style=\"color: #800000\">Sie können der Erhebung der\r\n\r\nDaten durch Google-Analytics mit Wirkung für die Zukunft widersprechen, indem\r\n\r\nsie ein Deaktivierungs-Add-on (<a href=\"http://tools.google.com/dlpage/gaoptout?hl=de\" title=\"\">http://tools.google.com/dlpage/gaoptout?hl=de</a>)\r\n\r\nfür Ihren Browser installieren.</span></p>'",
|
),
|
||||||
'force_update' => false,
|
'OXCONTENT' => array(
|
||||||
),
|
'content' => "'<p>Diese Website benutzt Google Analytics, einen Webanalysedienst der Google\r\n\r\nInc. ("Google"). Google Analytics verwendet sog. "Cookies", Textdateien, die auf\r\n\r\nIhrem Computer gespeichert werden und die eine Analyse der Benutzung der Website\r\n\r\ndurch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre\r\n\r\nBenutzung dieser Website (einschließlich Ihrer IP-Adresse<span style=\"color: #800000\">, die jedoch mit der Methode _anonymizeIp() anonymisiert wird, so dass Sie nicht mehr einem Anschluss\r\n\r\nzugeordnet werden kann</span>) wird an einen Server von Google in den USA\r\n\r\nübertragen und dort gespeichert. Google wird diese Informationen benutzen, um\r\n\r\nIhre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten für\r\n\r\ndie Websitebetreiber zusammenzustellen und um weitere mit der Websitenutzung und\r\n\r\nder Internetnutzung verbundene Dienstleistungen zu erbringen. Auch wird Google\r\n\r\ndiese Informationen gegebenenfalls an Dritte übertragen, sofern dies gesetzlich\r\n\r\nvorgeschrieben oder soweit Dritte diese Daten im Auftrag von Google verarbeiten.\r\n\r\nGoogle wird in keinem Fall Ihre IP-Adresse mit anderen Daten von Google in\r\n\r\nVerbindung bringen. Sie können die Installation der Cookies durch eine\r\n\r\nentsprechende Einstellung Ihrer Browser Software verhindern; wir weisen Sie\r\n\r\njedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche\r\n\r\nFunktionen dieser Website vollumfänglich nutzen können. Durch die Nutzung dieser\r\n\r\nWebsite erklären Sie sich mit der Bearbeitung der über Sie erhobenen Daten durch\r\n\r\nGoogle in der zuvor beschriebenen Art und Weise und zu dem zuvor benannten Zweck\r\n\r\neinverstanden.</p>\r\n<p><span style=\"color: #800000\">Sie können der Erhebung der\r\n\r\nDaten durch Google-Analytics mit Wirkung für die Zukunft widersprechen, indem\r\n\r\nsie ein Deaktivierungs-Add-on (<a href=\"http://tools.google.com/dlpage/gaoptout?hl=de\" title=\"\">http://tools.google.com/dlpage/gaoptout?hl=de</a>)\r\n\r\nfür Ihren Browser installieren.</span></p>'",
|
||||||
'OXCATID' => array(
|
'force_update' => false,
|
||||||
'content' => "''",
|
),
|
||||||
'force_update' => false,
|
'OXCATID' => array(
|
||||||
),
|
'content' => "''",
|
||||||
'OXFOLDER' => array(
|
'force_update' => false,
|
||||||
'content' => "'CMSFOLDER_USERINFO'",
|
),
|
||||||
'force_update' => false,
|
'OXFOLDER' => array(
|
||||||
),
|
'content' => "'CMSFOLDER_USERINFO'",
|
||||||
);
|
'force_update' => false,
|
||||||
$aRet = $this->_updateTableItem2('oxcontents', $aInsertFields, $aWhere);
|
),
|
||||||
$blRet = $aRet['blRet'];
|
);
|
||||||
|
$aRet = $this->_updateTableItem2('oxcontents', $aInsertFields, $aWhere);
|
||||||
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
$blRet = $aRet['blRet'];
|
||||||
$this->setUpdateBreak(false);
|
|
||||||
|
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
||||||
if ($this->getStepByStepMode()) {
|
$this->setUpdateBreak(false);
|
||||||
break;
|
|
||||||
}
|
if ($this->getStepByStepMode()) {
|
||||||
}
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return $blRet;
|
}
|
||||||
}
|
|
||||||
|
return $blRet;
|
||||||
/**
|
}
|
||||||
* @return bool
|
|
||||||
*/
|
/**
|
||||||
public function checkModCfgSameRevision()
|
* @return bool
|
||||||
{
|
*/
|
||||||
return $this->_checkModCfgSameRevision($this->sModKey);
|
public function checkModCfgSameRevision()
|
||||||
}
|
{
|
||||||
|
return $this->_checkModCfgSameRevision($this->sModKey);
|
||||||
/**
|
}
|
||||||
* @return bool
|
|
||||||
*/
|
/**
|
||||||
public function updateModCfgSameRevision()
|
* @return bool
|
||||||
{
|
*/
|
||||||
$blRet = false;
|
public function updateModCfgSameRevision()
|
||||||
|
{
|
||||||
if ($this->checkModCfgSameRevision($this->sModKey)) {
|
$blRet = false;
|
||||||
$aRet = $this->_updateModCfgSameRevision($this->sModKey);
|
|
||||||
|
if ($this->checkModCfgSameRevision($this->sModKey)) {
|
||||||
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
$aRet = $this->_updateModCfgSameRevision($this->sModKey);
|
||||||
$this->setUpdateBreak(false);
|
|
||||||
$blRet = $aRet['blRet'];
|
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
||||||
}
|
$this->setUpdateBreak(false);
|
||||||
|
$blRet = $aRet['blRet'];
|
||||||
return $blRet;
|
}
|
||||||
}
|
|
||||||
}
|
return $blRet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
[{strip}]
|
[{strip}]
|
||||||
[{if $oD3GASettings->getValue('blD3GASetCampaignTrack') && $oD3GASettings->getValue('sD3GACampaignCode') &&
|
[{if $oD3GASettings->getValue('blD3GASetCampaignTrack') && $oD3GASettings->getValue('sD3GACampaignCode') &&
|
||||||
(false == $oD3GASettings->getValue('blD3GASetCampaignOnThankyouOnly') || $oViewConf->getActiveClassName() == 'thankyou')}]
|
(false == $oD3GASettings->getValue('blD3GASetCampaignOnThankyouOnly') || $oViewConf->getActiveClassName() == 'thankyou')}]
|
||||||
|
|
||||||
[{$oD3GASettings->getValue('sD3GACampaignCode')}]
|
[{$oD3GASettings->getValue('sD3GACampaignCode')}]
|
||||||
|
|
||||||
[{/if}]
|
[{/if}]
|
||||||
[{/strip}]
|
[{/strip}]
|
@ -1,37 +1,37 @@
|
|||||||
[{if $oD3GASettings->getValue('blD3GASetRemarketing') &&
|
[{if $oD3GASettings->getValue('blD3GASetRemarketing') &&
|
||||||
$oD3GASettings->getValue('sD3GARemarketingConversionId')}]
|
$oD3GASettings->getValue('sD3GARemarketingConversionId')}]
|
||||||
|
|
||||||
[{block name="UniversalAdwordsRemarketing"}]
|
[{block name="UniversalAdwordsRemarketing"}]
|
||||||
[{*-- Google Code für ein Remarketing-Tag --
|
[{*-- Google Code für ein Remarketing-Tag --
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
Remarketing-Tags dürfen nicht mit personenbezogenen Daten verknüpft oder auf Seiten platziert werden,
|
Remarketing-Tags dürfen nicht mit personenbezogenen Daten verknüpft oder auf Seiten platziert werden,
|
||||||
die sensiblen Kategorien angehören. Weitere Informationen und Anleitungen zur Einrichtung des Tags
|
die sensiblen Kategorien angehören. Weitere Informationen und Anleitungen zur Einrichtung des Tags
|
||||||
erhalten Sie unter: http://google.com/ads/remarketingsetup
|
erhalten Sie unter: http://google.com/ads/remarketingsetup
|
||||||
---------------------------------------------------*}]
|
---------------------------------------------------*}]
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var google_tag_params = {
|
var google_tag_params = {
|
||||||
ecomm_prodid: [{$sD3GARemarketingProdId}],
|
ecomm_prodid: [{$sD3GARemarketingProdId}],
|
||||||
ecomm_pagetype: '[{$sD3GARemarketingPageType}]',
|
ecomm_pagetype: '[{$sD3GARemarketingPageType}]',
|
||||||
ecomm_totalvalue: '[{$sD3GARemarketingPrice}]'
|
ecomm_totalvalue: [{$sD3GARemarketingPrice}]
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* <![CDATA[ */
|
/* <![CDATA[ */
|
||||||
var google_conversion_id = [{$oD3GASettings->getValue('sD3GARemarketingConversionId')}];
|
var google_conversion_id = [{$oD3GASettings->getValue('sD3GARemarketingConversionId')}];
|
||||||
[{if $oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]
|
[{if $oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]
|
||||||
var google_conversion_label = "[{$oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]";
|
var google_conversion_label = "[{$oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]";
|
||||||
[{/if}]
|
[{/if}]
|
||||||
var google_custom_params = window.google_tag_params;
|
var google_custom_params = window.google_tag_params;
|
||||||
var google_remarketing_only = true;
|
var google_remarketing_only = true;
|
||||||
/* ]]> */
|
/* ]]> */
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
|
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
|
||||||
</script>
|
</script>
|
||||||
<noscript>
|
<noscript>
|
||||||
<div style="display:inline;">
|
<div style="display:inline;">
|
||||||
<img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/[{$oD3GASettings->getValue('sD3GARemarketingConversionId')}]/?value=0[{if $oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]&label=[{$oD3GASettings->getValue('sD3GARemarketingConversionLabel')}][{/if}]&guid=ON&script=0"/>
|
<img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/[{$oD3GASettings->getValue('sD3GARemarketingConversionId')}]/?value=0[{if $oD3GASettings->getValue('sD3GARemarketingConversionLabel')}]&label=[{$oD3GASettings->getValue('sD3GARemarketingConversionLabel')}][{/if}]&guid=ON&script=0"/>
|
||||||
</div>
|
</div>
|
||||||
</noscript>
|
</noscript>
|
||||||
[{/block}]
|
[{/block}]
|
||||||
[{/if}]
|
[{/if}]
|
@ -1,87 +1,87 @@
|
|||||||
[{block name="UniversalTrustedStoreBadge"}]
|
[{block name="UniversalTrustedStoreBadge"}]
|
||||||
[{* https://support.google.com/trustedstoresmerchant/answer/6063080?hl=de&ref_topic=6063044 *}]
|
[{* https://support.google.com/trustedstoresmerchant/answer/6063080?hl=de&ref_topic=6063044 *}]
|
||||||
<!-- BEGIN: Google Certified Shops -->
|
<!-- BEGIN: Google Certified Shops -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var gts = gts || [];
|
var gts = gts || [];
|
||||||
|
|
||||||
[{if $oD3GASettings->getValue('sD3GATSShoppingActive')}]
|
[{if $oD3GASettings->getValue('sD3GATSShoppingActive')}]
|
||||||
gts.push(["id", "[{$oD3GASettings->getValue('sD3GATSId')}]"]);
|
gts.push(["id", "[{$oD3GASettings->getValue('sD3GATSId')}]"]);
|
||||||
gts.push(["badge_position", "BOTTOM_RIGHT"]);
|
gts.push(["badge_position", "BOTTOM_RIGHT"]);
|
||||||
gts.push(["locale", "[{$sD3CurrentGTSLang}]"]);
|
gts.push(["locale", "[{$sD3CurrentGTSLang}]"]);
|
||||||
[{if $sD3GATSProdId}]
|
[{if $sD3GATSProdId}]
|
||||||
gts.push(["google_base_offer_id", "[{$sD3GATSProdId}]"]);
|
gts.push(["google_base_offer_id", "[{$sD3GATSProdId}]"]);
|
||||||
[{/if}]
|
[{/if}]
|
||||||
gts.push(["google_base_subaccount_id", "[{$oD3GASettings->getValue('sD3GATSShoppingAccountId')}]"]);
|
gts.push(["google_base_subaccount_id", "[{$oD3GASettings->getValue('sD3GATSShoppingAccountId')}]"]);
|
||||||
gts.push(["google_base_country", "[{$oD3GASettings->getValue('sD3GATSShoppingCountry')|upper}]"]);
|
gts.push(["google_base_country", "[{$oD3GASettings->getValue('sD3GATSShoppingCountry')|upper}]"]);
|
||||||
gts.push(["google_base_language", "[{$oD3GASettings->getValue('sD3GATSShoppingLanguage')|lower}]"]);
|
gts.push(["google_base_language", "[{$oD3GASettings->getValue('sD3GATSShoppingLanguage')|lower}]"]);
|
||||||
[{/if}]
|
[{/if}]
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
var gts = document.createElement("script");
|
var gts = document.createElement("script");
|
||||||
gts.type = "text/javascript";
|
gts.type = "text/javascript";
|
||||||
gts.async = true;
|
gts.async = true;
|
||||||
gts.src = "https://www.googlecommerce.com/trustedstores/api/js";
|
gts.src = "https://www.googlecommerce.com/trustedstores/api/js";
|
||||||
var s = document.getElementsByTagName("script")[0];
|
var s = document.getElementsByTagName("script")[0];
|
||||||
s.parentNode.insertBefore(gts, s);
|
s.parentNode.insertBefore(gts, s);
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<!-- END: Google Certified Shops -->
|
<!-- END: Google Certified Shops -->
|
||||||
[{/block}]
|
[{/block}]
|
||||||
|
|
||||||
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
|
[{if $oViewConf->getActiveClassName() == 'thankyou'}]
|
||||||
[{block name="UniversalTrustedStoreOrderInfo"}]
|
[{block name="UniversalTrustedStoreOrderInfo"}]
|
||||||
[{* https://support.google.com/trustedstoresmerchant/answer/6063087?hl=de&ref_topic=6063044 *}]
|
[{* https://support.google.com/trustedstoresmerchant/answer/6063087?hl=de&ref_topic=6063044 *}]
|
||||||
|
|
||||||
[{assign var="oOrder" value=$oView->getOrder()}]
|
[{assign var="oOrder" value=$oView->getOrder()}]
|
||||||
[{assign var="oOrderCurrency" value=$oOrder->getOrderCurrency()}]
|
[{assign var="oOrderCurrency" value=$oOrder->getOrderCurrency()}]
|
||||||
[{assign var="oUser" value=$oOrder->getOrderUser()}]
|
[{assign var="oUser" value=$oOrder->getOrderUser()}]
|
||||||
[{assign var="oUserCountry" value=$oView->d3GAGetUserCountry()}]
|
[{assign var="oUserCountry" value=$oView->d3GAGetUserCountry()}]
|
||||||
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
|
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
|
||||||
[{assign var="sTotal" value=$oOrder->getOrderNetSum()}] [{* // total - required - has to be gross sum *}]
|
[{assign var="sTotal" value=$oOrder->getOrderNetSum()}] [{* // total - required - has to be gross sum *}]
|
||||||
[{else}]
|
[{else}]
|
||||||
[{assign var="sTotal" value=$oOrder->getTotalOrderSum()}] [{* // total - required *}]
|
[{assign var="sTotal" value=$oOrder->getTotalOrderSum()}] [{* // total - required *}]
|
||||||
[{/if}]
|
[{/if}]
|
||||||
|
|
||||||
<!-- START Google Trusted Stores Order -->
|
<!-- START Google Trusted Stores Order -->
|
||||||
<div id="gts-order" style="display:none;" translate="no">
|
<div id="gts-order" style="display:none;" translate="no">
|
||||||
<!-- start order and merchant information -->
|
<!-- start order and merchant information -->
|
||||||
<span id="gts-o-id">[{$oOrder->getFieldData('oxordernr')}]</span>
|
<span id="gts-o-id">[{$oOrder->getFieldData('oxordernr')}]</span>
|
||||||
<span id="gts-o-domain">[{$oxcmp_shop->oxshops__oxurl->value}]</span>
|
<span id="gts-o-domain">[{$oxcmp_shop->oxshops__oxurl->value}]</span>
|
||||||
<span id="gts-o-email">[{$oUser->getFieldData('oxusername')}]</span>
|
<span id="gts-o-email">[{$oUser->getFieldData('oxusername')}]</span>
|
||||||
<span id="gts-o-country">[{$oUserCountry->getFieldData('oxisoalpha2')}]</span>
|
<span id="gts-o-country">[{$oUserCountry->getFieldData('oxisoalpha2')}]</span>
|
||||||
<span id="gts-o-currency">[{$oOrderCurrency->name}]</span>
|
<span id="gts-o-currency">[{$oOrderCurrency->name}]</span>
|
||||||
<span id="gts-o-total">[{$sTotal|string_format:"%.2f"}]</span>
|
<span id="gts-o-total">[{$sTotal|string_format:"%.2f"}]</span>
|
||||||
<span id="gts-o-discounts">-[{$oOrder->getFieldData('oxdiscount')|string_format:"%.2f"}]</span>
|
<span id="gts-o-discounts">-[{$oOrder->getFieldData('oxdiscount')|string_format:"%.2f"}]</span>
|
||||||
<span id="gts-o-shipping-total">[{$oOrder->getFieldData('oxdelcost')|string_format:"%.2f"}]</span>
|
<span id="gts-o-shipping-total">[{$oOrder->getFieldData('oxdelcost')|string_format:"%.2f"}]</span>
|
||||||
<span id="gts-o-tax-total">[{$oOrder->d3GetTaxTotal()}]</span>
|
<span id="gts-o-tax-total">[{$oOrder->d3GetTaxTotal()}]</span>
|
||||||
<span id="gts-o-est-delivery-date">[{$oView->d3GAgetEstimatedDeliveryDate()|date_format:"%Y-%m-%d"}]</span>
|
<span id="gts-o-est-delivery-date">[{$oView->d3GAgetEstimatedDeliveryDate()|date_format:"%Y-%m-%d"}]</span>
|
||||||
<span id="gts-o-est-ship-date">[{$oView->d3GAgetEstimatedShippingDate()|date_format:"%Y-%m-%d"}]</span>
|
<span id="gts-o-est-ship-date">[{$oView->d3GAgetEstimatedShippingDate()|date_format:"%Y-%m-%d"}]</span>
|
||||||
<span id="gts-o-has-preorder">[{$oView->d3GAhasBackorderPreorder()}]</span>
|
<span id="gts-o-has-preorder">[{$oView->d3GAhasBackorderPreorder()}]</span>
|
||||||
<span id="gts-o-has-digital">[{$oView->d3GAhasDigitalGoods()}]</span>
|
<span id="gts-o-has-digital">[{$oView->d3GAhasDigitalGoods()}]</span>
|
||||||
<!-- end order and merchant information -->
|
<!-- end order and merchant information -->
|
||||||
|
|
||||||
<!-- start repeated item specific information -->
|
<!-- start repeated item specific information -->
|
||||||
[{foreach from=$order->getOrderArticles() item=oOrderArticle}]
|
[{foreach from=$order->getOrderArticles() item=oOrderArticle}]
|
||||||
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
|
[{if $oD3GASettings->getValue('blD3GAUseNetto')}]
|
||||||
[{assign var="sPrice" value=$oOrderArticle->oxorderarticles__oxnprice->value}]
|
[{assign var="sPrice" value=$oOrderArticle->oxorderarticles__oxnprice->value}]
|
||||||
[{else}]
|
[{else}]
|
||||||
[{assign var="sPrice" value=$oOrderArticle->oxorderarticles__oxprice->value}]
|
[{assign var="sPrice" value=$oOrderArticle->oxorderarticles__oxprice->value}]
|
||||||
[{/if}]
|
[{/if}]
|
||||||
|
|
||||||
<span class="gts-item">
|
<span class="gts-item">
|
||||||
<span class="gts-i-name">[{$oOrderArticle->oxorderarticles__oxtitle->value|escape:"quotes"}]</span>
|
<span class="gts-i-name">[{$oOrderArticle->oxorderarticles__oxtitle->value|escape:"quotes"}]</span>
|
||||||
<span class="gts-i-price">[{$sPrice|string_format:"%.2f"}]</span>
|
<span class="gts-i-price">[{$sPrice|string_format:"%.2f"}]</span>
|
||||||
<span class="gts-i-quantity">[{$oOrderArticle->getFieldData('oxamount')}]</span>
|
<span class="gts-i-quantity">[{$oOrderArticle->getFieldData('oxamount')}]</span>
|
||||||
[{if $oD3GASettings->getValue('sD3GATSShoppingActive')}]
|
[{if $oD3GASettings->getValue('sD3GATSShoppingActive')}]
|
||||||
<span class="gts-i-prodsearch-id">[{$oView->d3GAgetProductId($oOrderArticle)}]</span>
|
<span class="gts-i-prodsearch-id">[{$oView->d3GAgetProductId($oOrderArticle)}]</span>
|
||||||
<span class="gts-i-prodsearch-store-id">[{$oD3GASettings->getValue('sD3GATSShoppingAccountId')}]</span>
|
<span class="gts-i-prodsearch-store-id">[{$oD3GASettings->getValue('sD3GATSShoppingAccountId')}]</span>
|
||||||
<span class="gts-i-prodsearch-country">[{$oD3GASettings->getValue('sD3GATSShoppingCountry')|upper}]</span>
|
<span class="gts-i-prodsearch-country">[{$oD3GASettings->getValue('sD3GATSShoppingCountry')|upper}]</span>
|
||||||
<span class="gts-i-prodsearch-language">[{$oD3GASettings->getValue('sD3GATSShoppingLanguage')|lower}]</span>
|
<span class="gts-i-prodsearch-language">[{$oD3GASettings->getValue('sD3GATSShoppingLanguage')|lower}]</span>
|
||||||
[{/if}]
|
[{/if}]
|
||||||
</span>
|
</span>
|
||||||
[{/foreach}]
|
[{/foreach}]
|
||||||
<!-- end repeated item specific informations -->
|
<!-- end repeated item specific informations -->
|
||||||
</div>
|
</div>
|
||||||
<!-- END Google Trusted Stores Order -->
|
<!-- END Google Trusted Stores Order -->
|
||||||
[{/block}]
|
[{/block}]
|
||||||
[{/if}]
|
[{/if}]
|
@ -43,7 +43,7 @@ class requConfig
|
|||||||
|
|
||||||
public $sModId = 'd3_googleanalytics';
|
public $sModId = 'd3_googleanalytics';
|
||||||
|
|
||||||
public $sModVersion = '3.4.0.0';
|
public $sModVersion = '3.4.0.1';
|
||||||
|
|
||||||
/********************** check configuration section ************************/
|
/********************** check configuration section ************************/
|
||||||
|
|
||||||
|
@ -1,110 +1,115 @@
|
|||||||
=> 3.4.0.0
|
=> 3.4.0.1
|
||||||
- Remarketing (via Analytics) eingefügt
|
- #5078: ecomm_totalvalue darf nicht in Apostrophen stehen
|
||||||
- Remarketing-Liste für Startseite eingefügt
|
- #4814: Remarketing: Werte für ecomm_pagetype anpassen
|
||||||
- Template-Blöcke eingefügt
|
- #4509: changed_full entfernen
|
||||||
- Titel der Konfigurationsseiten angepasst
|
|
||||||
- Staffelpreisübergaben korrigiert (#3679)
|
=> 3.4.0.0
|
||||||
- Steuerberechnung korrigiert
|
- Remarketing (via Analytics) eingefügt
|
||||||
- Scriptsyntax angepasst
|
- Remarketing-Liste für Startseite eingefügt
|
||||||
|
- Template-Blöcke eingefügt
|
||||||
=> 3.3.2.0
|
- Titel der Konfigurationsseiten angepasst
|
||||||
- fix: Optionen im Admin können nicht deaktivert werden
|
- Staffelpreisübergaben korrigiert (#3679)
|
||||||
- "Zertifizierter Händler" im Shop aktivieren
|
- Steuerberechnung korrigiert
|
||||||
- zusätzliche Daten aus Google Shopping übertragen
|
- Scriptsyntax angepasst
|
||||||
- fix: Zertifizierte Händler, „locale“ Eintrag auch ohne
|
|
||||||
aktive Option "zusätzliche Daten aus Google Shopping übertragen"
|
=> 3.3.2.0
|
||||||
- fix: Kampagnencode wurde nicht übertragen
|
- fix: Optionen im Admin können nicht deaktivert werden
|
||||||
- Link "Hilfe starten" korrigieren
|
- "Zertifizierter Händler" im Shop aktivieren
|
||||||
- Aktualisierung der Modulinstallationsanleitung / Vorabprüfung (d3precheck)
|
- zusätzliche Daten aus Google Shopping übertragen
|
||||||
- freigegeben bis PHP 5.6
|
- fix: Zertifizierte Händler, „locale“ Eintrag auch ohne
|
||||||
|
aktive Option "zusätzliche Daten aus Google Shopping übertragen"
|
||||||
=> 3.3.1.0
|
- fix: Kampagnencode wurde nicht übertragen
|
||||||
- Lieferzeitangabe kann nun für lagernde und nicht lagernde Artikel getrennt angegeben werden
|
- Link "Hilfe starten" korrigieren
|
||||||
- Domainliste bei Verwendung mehrerer Shop-Domains korrigiert
|
- Aktualisierung der Modulinstallationsanleitung / Vorabprüfung (d3precheck)
|
||||||
- Schalter für Absprungratenermittlung integriert
|
- freigegeben bis PHP 5.6
|
||||||
- "Zertifizierte Händler"-Variablen werden nur gezeigt, wenn "Zertifizierter Händler" aktiv ist
|
|
||||||
- JS-Fehler bei unkonfigurierter Absprung-Zeit korrigiert
|
=> 3.3.1.0
|
||||||
|
- Lieferzeitangabe kann nun für lagernde und nicht lagernde Artikel getrennt angegeben werden
|
||||||
=> 3.3.0.1
|
- Domainliste bei Verwendung mehrerer Shop-Domains korrigiert
|
||||||
- Kompatibilität zu Egate Media PayPal verbessert
|
- Schalter für Absprungratenermittlung integriert
|
||||||
|
- "Zertifizierte Händler"-Variablen werden nur gezeigt, wenn "Zertifizierter Händler" aktiv ist
|
||||||
=> 3.3.0.0
|
- JS-Fehler bei unkonfigurierter Absprung-Zeit korrigiert
|
||||||
- Google Zertifizierte Händler eingefügt
|
|
||||||
- Hilfetexte erweitert
|
=> 3.3.0.1
|
||||||
- Integration ins Mobile-Theme
|
- Kompatibilität zu Egate Media PayPal verbessert
|
||||||
- Optimierung der Transaktionsübergaben
|
|
||||||
- getrackte Absprungrate optimiert
|
=> 3.3.0.0
|
||||||
- Konfigurationsvariablen korrigiert
|
- Google Zertifizierte Händler eingefügt
|
||||||
- Fehler bei "toBasket" auf Detailseite ohne Kategorieangabe korrigiert
|
- Hilfetexte erweitert
|
||||||
|
- Integration ins Mobile-Theme
|
||||||
=> 3.2.1.0
|
- Optimierung der Transaktionsübergaben
|
||||||
- neue Option "Opt Out anzeigen lassen"
|
- getrackte Absprungrate optimiert
|
||||||
|
- Konfigurationsvariablen korrigiert
|
||||||
=> 3.2.0.0
|
- Fehler bei "toBasket" auf Detailseite ohne Kategorieangabe korrigiert
|
||||||
- Tracking für gekaufte Artikel enthält Daten zur Kategorie / Seite, aus der die Artikel zuerst in den Warenkorb gelegt wurden
|
|
||||||
- Bugfix: Artikeltitel werden escaped, sofern Quotes enthalten sind
|
=> 3.2.1.0
|
||||||
- AutoLinker-URL enthält auch abweichende SSL-URLs
|
- neue Option "Opt Out anzeigen lassen"
|
||||||
|
|
||||||
=> 3.1.0.2
|
=> 3.2.0.0
|
||||||
- Bugfix: deaktiviertes Modul kann benötigtes Objekt nicht laden
|
- Tracking für gekaufte Artikel enthält Daten zur Kategorie / Seite, aus der die Artikel zuerst in den Warenkorb gelegt wurden
|
||||||
- Bugfix: Seiten ohne Klassenangaben (z.B. 404-Seiten) versuchen Artikellisten für Remarketing zu laden
|
- Bugfix: Artikeltitel werden escaped, sofern Quotes enthalten sind
|
||||||
|
- AutoLinker-URL enthält auch abweichende SSL-URLs
|
||||||
=> 3.1.0.1
|
|
||||||
- Universal-Trackingcode für Multi-Domain-Nutzung angepasst
|
=> 3.1.0.2
|
||||||
|
- Bugfix: deaktiviertes Modul kann benötigtes Objekt nicht laden
|
||||||
=> 3.1.0.0
|
- Bugfix: Seiten ohne Klassenangaben (z.B. 404-Seiten) versuchen Artikellisten für Remarketing zu laden
|
||||||
- Universal-Analytics Tracking-Code implementiert
|
|
||||||
- zusätzliche Steuerungsparameter eingefügt
|
=> 3.1.0.1
|
||||||
- Trichtererfassung vereinfacht
|
- Universal-Trackingcode für Multi-Domain-Nutzung angepasst
|
||||||
- konfigurierbarerer AdWords Conversion-Trackingcode integriert
|
|
||||||
- Remarketing-Tags integriert
|
=> 3.1.0.0
|
||||||
|
- Universal-Analytics Tracking-Code implementiert
|
||||||
=> 3.0.0.3
|
- zusätzliche Steuerungsparameter eingefügt
|
||||||
- Precheck angepasst
|
- Trichtererfassung vereinfacht
|
||||||
- Templates für 4.8.0 / 5.1.0 hinzugefügt
|
- konfigurierbarerer AdWords Conversion-Trackingcode integriert
|
||||||
|
- Remarketing-Tags integriert
|
||||||
=> 3.0.0.2
|
|
||||||
- automatische Installation angepasst
|
=> 3.0.0.3
|
||||||
|
- Precheck angepasst
|
||||||
=> 3.0.0.1
|
- Templates für 4.8.0 / 5.1.0 hinzugefügt
|
||||||
- Umstellung auf teilautomatische Installation
|
|
||||||
- Übergabe der Steuer
|
=> 3.0.0.2
|
||||||
|
- automatische Installation angepasst
|
||||||
=> 3.0.0.0
|
|
||||||
- Umstellung auf Struktur des OXID 4.7 / 5.0
|
=> 3.0.0.1
|
||||||
- benutzerdefinierte Variablen um "Neukunde" ergänzt
|
- Umstellung auf teilautomatische Installation
|
||||||
- Trackingcode in <head> verschoben
|
- Übergabe der Steuer
|
||||||
- optionales Logging integriert
|
|
||||||
|
=> 3.0.0.0
|
||||||
=> 2.4.1
|
- Umstellung auf Struktur des OXID 4.7 / 5.0
|
||||||
- Templates für OXID 4.6.4 kompatibel
|
- benutzerdefinierte Variablen um "Neukunde" ergänzt
|
||||||
|
- Trackingcode in <head> verschoben
|
||||||
=> 2.4.0
|
- optionales Logging integriert
|
||||||
- Remarketing-Option eingefügt
|
|
||||||
- Metadaten vervollständigt
|
=> 2.4.1
|
||||||
- Syntaxfehler im JS-Code entfernt
|
- Templates für OXID 4.6.4 kompatibel
|
||||||
|
|
||||||
=> 2.3.0
|
=> 2.4.0
|
||||||
- Templates für OXID 4.5.11 und 4.6.2 kompatibel
|
- Remarketing-Option eingefügt
|
||||||
- weitere Beispiele für benutzerdefinierte Variablen eingefügt
|
- Metadaten vervollständigt
|
||||||
|
- Syntaxfehler im JS-Code entfernt
|
||||||
=> 2.2.3
|
|
||||||
- Templates für OXID 4.6 eingefügt
|
=> 2.3.0
|
||||||
- Metadaten eingefügt
|
- Templates für OXID 4.5.11 und 4.6.2 kompatibel
|
||||||
- Templates für OXID 4.5.9 kompatibel
|
- weitere Beispiele für benutzerdefinierte Variablen eingefügt
|
||||||
|
|
||||||
=> 2.2.2
|
=> 2.2.3
|
||||||
- Templates für OXID 4.5.8 kompatibel
|
- Templates für OXID 4.6 eingefügt
|
||||||
- Syntaxfehler im JS-Code entfernt
|
- Metadaten eingefügt
|
||||||
|
- Templates für OXID 4.5.9 kompatibel
|
||||||
=> 2.2.1
|
|
||||||
- Templates für OXID 4.5.3 bis 4.5.6 kompatibel
|
=> 2.2.2
|
||||||
- Syntaxfehler im JS-Code entfernt
|
- Templates für OXID 4.5.8 kompatibel
|
||||||
|
- Syntaxfehler im JS-Code entfernt
|
||||||
=> 2.2.0
|
|
||||||
- Kampagnen können unabhängig von deren Code deaktiviert werden
|
=> 2.2.1
|
||||||
- Ladezeit-Log hinzugefügt
|
- Templates für OXID 4.5.3 bis 4.5.6 kompatibel
|
||||||
- Preise werden in Shophauptwährung übertragen
|
- Syntaxfehler im JS-Code entfernt
|
||||||
- Templates für OXID 4.5.1 kompatibel
|
|
||||||
|
=> 2.2.0
|
||||||
...
|
- Kampagnen können unabhängig von deren Code deaktiviert werden
|
||||||
|
- Ladezeit-Log hinzugefügt
|
||||||
|
- Preise werden in Shophauptwährung übertragen
|
||||||
|
- Templates für OXID 4.5.1 kompatibel
|
||||||
|
|
||||||
|
...
|
||||||
|
Loading…
x
Reference in New Issue
Block a user