merge #2416 branch to rel_3.x branch

This commit is contained in:
Daniel Seifert 2014-07-24 08:43:20 +00:00
commit e61bb002bf
10 changed files with 213 additions and 16 deletions

2
.gitattributes vendored
View File

@ -180,6 +180,8 @@ copy_this/modules/d3/d3_googleanalytics/modules/components/d3_oxcmp_utils_google
copy_this/modules/d3/d3_googleanalytics/modules/controllers/d3_order_googleanalytics.php -text copy_this/modules/d3/d3_googleanalytics/modules/controllers/d3_order_googleanalytics.php -text
copy_this/modules/d3/d3_googleanalytics/modules/controllers/d3_thankyou_googleanalytics.php -text copy_this/modules/d3/d3_googleanalytics/modules/controllers/d3_thankyou_googleanalytics.php -text
copy_this/modules/d3/d3_googleanalytics/modules/core/d3_oxutilsview_googleanalytics.php -text copy_this/modules/d3/d3_googleanalytics/modules/core/d3_oxutilsview_googleanalytics.php -text
copy_this/modules/d3/d3_googleanalytics/modules/models/d3_oxbasket_googleanalytics.php -text
copy_this/modules/d3/d3_googleanalytics/modules/models/d3_oxbasketitem_googleanalytics.php -text
copy_this/modules/d3/d3_googleanalytics/modules/models/d3_oxorder_googleanalytics.php -text copy_this/modules/d3/d3_googleanalytics/modules/models/d3_oxorder_googleanalytics.php -text
copy_this/modules/d3/d3_googleanalytics/picture.png -text copy_this/modules/d3/d3_googleanalytics/picture.png -text
copy_this/modules/d3/d3_googleanalytics/setup/d3_googleanalytics_update.php -text copy_this/modules/d3/d3_googleanalytics/setup/d3_googleanalytics_update.php -text

View File

@ -156,7 +156,8 @@
'[{$order->oxorder__oxordernr->value}]', [{* // order ID - required *}] '[{$order->oxorder__oxordernr->value}]', [{* // order ID - required *}]
'[{$oOrderArticle->oxorderarticles__oxartnum->value}]', [{* // SKU/code *}] '[{$oOrderArticle->oxorderarticles__oxartnum->value}]', [{* // SKU/code *}]
'[{$oOrderArticle->oxorderarticles__oxtitle->value}]', [{* // product name *}] '[{$oOrderArticle->oxorderarticles__oxtitle->value}]', [{* // product name *}]
'[{ $oOrderArticle->oxorderarticles__oxselvariant->value }]', [{* // category or variation *}] '[{$oOrderArticle->oxorderarticles__d3_galocator->value}]', [{* // category or variation *}]
[{*'[{$oOrderArticle->oxorderarticles__oxselvariant->value}]', [{* // category or variation *}]
[{if $oD3GASettings->getValue('blD3GAUseNetto')}] [{if $oD3GASettings->getValue('blD3GAUseNetto')}]
[{assign var="oPrice" value=$oOrderArticle->getPrice()}] [{assign var="oPrice" value=$oOrderArticle->getPrice()}]
'[{math equation="s / r" s=$oPrice->getNettoPrice() r=$currate format="%.2f"}]', [{* // unit price - required *}] '[{math equation="s / r" s=$oPrice->getNettoPrice() r=$currate format="%.2f"}]', [{* // unit price - required *}]

View File

@ -33,7 +33,8 @@
'id': '[{$order->oxorder__oxordernr->value}]', [{* Transaktions-ID *}] 'id': '[{$order->oxorder__oxordernr->value}]', [{* Transaktions-ID *}]
'name': '[{$oOrderArticle->oxorderarticles__oxtitle->value}]', [{* Produktname *}] 'name': '[{$oOrderArticle->oxorderarticles__oxtitle->value}]', [{* Produktname *}]
'sku': '[{$oOrderArticle->oxorderarticles__oxartnum->value}]', [{* SKU/Code *}] 'sku': '[{$oOrderArticle->oxorderarticles__oxartnum->value}]', [{* SKU/Code *}]
'category': '[{$oOrderArticle->oxorderarticles__oxselvariant->value}]', [{* Kategorie oder Ausführung *}] 'category': '[{$oOrderArticle->oxorderarticles__d3_galocator->value}]', [{* Kategorie oder Ausführung *}]
[{*'category': '[{$oOrderArticle->oxorderarticles__oxselvariant->value}]', [{* Kategorie oder Ausführung *}]
'price': '[{$sPrice}]', [{* Preis pro Einheit *}] 'price': '[{$sPrice}]', [{* Preis pro Einheit *}]
'quantity': '[{$oOrderArticle->oxorderarticles__oxamount->value}]' [{* Menge *}] 'quantity': '[{$oOrderArticle->oxorderarticles__oxamount->value}]' [{* Menge *}]
}); });

View File

@ -30,3 +30,9 @@ class d3_order_googleanalytics_parent extends order {}
/** */ /** */
class d3_oxutilsview_googleanalytics_parent extends oxUtilsView {} class d3_oxutilsview_googleanalytics_parent extends oxUtilsView {}
/** */
class d3_oxbasket_googleanalytics_parent extends oxbasket {}
/** */
class d3_oxbasketitem_googleanalytics_parent extends oxBasketItem {}

View File

@ -45,6 +45,8 @@ $aModule = array(
'url' => 'http://www.oxidmodule.com/', 'url' => 'http://www.oxidmodule.com/',
'extend' => array( 'extend' => array(
'oxcmp_utils' => 'd3/d3_googleanalytics/modules/components/d3_oxcmp_utils_googleanalytics', 'oxcmp_utils' => 'd3/d3_googleanalytics/modules/components/d3_oxcmp_utils_googleanalytics',
'oxbasket' => 'd3/d3_googleanalytics/modules/models/d3_oxbasket_googleanalytics',
'oxbasketitem'=> 'd3/d3_googleanalytics/modules/models/d3_oxbasketitem_googleanalytics',
'oxorder' => 'd3/d3_googleanalytics/modules/models/d3_oxorder_googleanalytics', 'oxorder' => 'd3/d3_googleanalytics/modules/models/d3_oxorder_googleanalytics',
'order' => 'd3/d3_googleanalytics/modules/controllers/d3_order_googleanalytics', 'order' => 'd3/d3_googleanalytics/modules/controllers/d3_order_googleanalytics',
'oxutilsview' => 'd3/d3_googleanalytics/modules/core/d3_oxutilsview_googleanalytics', 'oxutilsview' => 'd3/d3_googleanalytics/modules/core/d3_oxutilsview_googleanalytics',

View File

@ -0,0 +1,85 @@
<?php
/**
* This Software is the property of Data Development and is protected
* by copyright law - it is NOT Freeware.
*
* Any unauthorized use of this software without a valid license
* is a violation of the license agreement and will be prosecuted by
* civil and criminal law.
*
* http://www.shopmodule.com
*
* @copyright © Data Development, Thomas Dartsch
* @author Data Development - Daniel Seifert <ds@shopmodule.com>
* @link http://www.oxidmodule.com
*/
class d3_oxbasket_googleanalytics extends d3_oxbasket_googleanalytics_parent
{
/**
* @return string
*/
public function d3GetCurrentLocatorTitle()
{
$sTitle = '';
$oView = oxRegistry::getConfig()->getActiveView();
if (method_exists($oView, 'getBreadCrumb') &&
($aPaths = $oView->getBreadCrumb())
) {
foreach ($aPaths as $aPath) {
$sTitle .= "/".$aPath['title'];
}
} elseif ($oView->getClassName() == 'details' &&
(
($oCatPath = $oView->getCategoryTree()->getPath()) ||
($oCatPath = $oView->getManufacturerTree()->getPath())
)
) {
foreach ($oCatPath as $oCat) {
$sTitle .= "/".$oCat->getFieldData('oxtitle');
}
} else {
$sTitle = "page: ".ucfirst($oView->getClassName());
}
return $sTitle;
}
/**
* @param string $sProductID
* @param float $dAmount
* @param null $aSel
* @param null $aPersParam
* @param bool $blOverride
* @param bool $blBundle
* @param null $sOldBasketItemId
*
* @return object
*/
public function addToBasket(
$sProductID,
$dAmount,
$aSel = null,
$aPersParam = null,
$blOverride = false,
$blBundle = false,
$sOldBasketItemId = null
) {
$oBasketItem = parent::addToBasket(
$sProductID,
$dAmount,
$aSel,
$aPersParam,
$blOverride,
$blBundle,
$sOldBasketItemId
);
if ($oBasketItem) {
$oBasketItem->d3SetLocatorTitle($this->d3GetCurrentLocatorTitle());
}
return $oBasketItem;
}
}

View File

@ -0,0 +1,38 @@
<?php
/**
* This Software is the property of Data Development and is protected
* by copyright law - it is NOT Freeware.
*
* Any unauthorized use of this software without a valid license
* is a violation of the license agreement and will be prosecuted by
* civil and criminal law.
*
* http://www.shopmodule.com
*
* @copyright © Data Development, Thomas Dartsch
* @author Data Development - Daniel Seifert <ds@shopmodule.com>
* @link http://www.oxidmodule.com
*/
class d3_oxbasketitem_googleanalytics extends d3_oxbasketitem_googleanalytics_parent
{
protected $_sD3LocatorTitle;
/**
* @param $sLocatorTitle
*/
public function d3SetLocatorTitle($sLocatorTitle)
{
if (false == $this->_sD3LocatorTitle) {
$this->_sD3LocatorTitle = $sLocatorTitle;
}
}
/**
* @return string
*/
public function d3GetLocatorTitle()
{
return $this->_sD3LocatorTitle;
}
}

View File

@ -51,4 +51,46 @@ class d3_oxorder_googleanalytics extends d3_oxorder_googleanalytics_parent
return $aVoucherSerieList; return $aVoucherSerieList;
} }
/**
* @param array $aArticleList
*
* @return null|void
*/
protected function _setOrderArticles( $aArticleList )
{
parent::_setOrderArticles($aArticleList);
/** @var d3_oxbasketitem_googleanalytics $oBasketItem */
foreach ($aArticleList as $oBasketItem) {
$oOrderArticle = $this->_d3getOrderArticleFromBasketItem($oBasketItem);
if ($oOrderArticle) {
$aContent['d3_galocator'] = $oBasketItem->d3GetLocatorTitle();
$oOrderArticle->assign($aContent);
$oOrderArticle->save();
}
}
}
/**
* @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;
}
} }

View File

@ -43,6 +43,10 @@ mM9";
'check' => 'checkModCfgItemExist', 'check' => 'checkModCfgItemExist',
'do' => 'updateModCfgItemExist' 'do' => 'updateModCfgItemExist'
), ),
array(
'check' => 'checkFields',
'do' => 'fixFields'
),
array( array(
'check' => 'checkContentGANoticeItemExist', 'check' => 'checkContentGANoticeItemExist',
'do' => 'updateContentGANoticeItemExist' 'do' => 'updateContentGANoticeItemExist'
@ -53,6 +57,19 @@ mM9";
), ),
); );
public $aFields = array(
'D3_GALOCATOR' => array(
'sTableName' => 'oxorderarticles',
'sFieldName' => 'D3_GALOCATOR',
'sType' => 'VARCHAR(255)',
'blNull' => false,
'sDefault' => '',
'sComment' => '',
'sExtra' => '',
'blMultilang' => false,
),
);
protected $_aRefreshMetaModuleIds = array('d3_googleanalytics'); protected $_aRefreshMetaModuleIds = array('d3_googleanalytics');
/** /**

View File

@ -1,3 +1,6 @@
=> ??
- Tracking für gekaufte Artikel enthält Daten zur Kategorie / Seite, aus der die Artikel zuerst in den Warenkorb gelegt wurden
=> 3.1.0.2 => 3.1.0.2
- Bugfix: deaktiviertes Modul kann benötigtes Objekt nicht laden - Bugfix: deaktiviertes Modul kann benötigtes Objekt nicht laden
- Bugfix: Seiten ohne Klassenangaben (z.B. 404-Seiten) versuchen Artikellisten für Remarketing zu laden - Bugfix: Seiten ohne Klassenangaben (z.B. 404-Seiten) versuchen Artikellisten für Remarketing zu laden