8
0
Fork 0

Commits vergleichen

...

233 Commits

Autor SHA1 Nachricht Datum
Daniel Seifert bf1eb5b639
fix eshop dependency 2020-07-28 11:55:07 +02:00
Daniel Seifert 03d1184b3f
fix documentation structure 2020-07-28 11:43:35 +02:00
Daniel Seifert 9b588a225c
Merge commit '96fd51f452bc9aa8eacc651cdf8726e58c9a56b7' into rel_4.x
# Conflicts:
#	docs/daux/installation/010_Anforderungen/010_Systemanforderungen.md
2020-07-28 11:30:14 +02:00
Daniel Seifert 7e880833f0
update version informations and documentation 2020-07-28 09:50:29 +02:00
gitea Admin Panel c50c33d746
Merge pull request #1 from marten-seemann/oxid-6.2
update module to OXID 6.2
2020-07-28 09:23:09 +02:00
Marten Seemann 2901228bb4 update module to OXID 6.2 2020-07-28 14:08:03 +07:00
Daniel Seifert f652a61ae7
change module title logo (D3) source to external asset 2020-06-16 10:07:57 +02:00
Daniel Seifert 383ea71941
fix non https url in composer.json 2020-06-08 10:09:56 +02:00
Markus Gärtner 0f3de84581 Merge branch 'rel_4.x'
# Conflicts:
#	docs/daux/manual/010_Google_Analytics_Einrichtung/050_Benutzerdefinierte_Dimensionen.md
2020-05-20 11:02:15 +02:00
Markus Gärtner 140965db82 Add Einrichtungsleitfaden Google Analytics
UTF-8
2020-05-20 11:00:17 +02:00
Markus Gärtner 60e4ba18d3 Add Einrichtungsleitfaden Google AdWords 2020-05-20 10:31:08 +02:00
Markus Gärtner 3832c655f4 Add Einrichtungsleitfaden Google Analytics 2020-05-19 14:49:06 +02:00
Markus Gärtner 4d474cfe71 Start Dokumentation als md-Dateien 2020-05-19 11:20:11 +02:00
Markus Gärtner 442d64b42d Merge commit '8a38c8464f15f8f3ec3e076896295b58b16dbc71' as 'docs/daux' 2020-05-18 16:04:57 +02:00
Daniel Seifert 99c7dc7f59
change dependency to oxid-esales/oxideshop-ce 2020-04-07 20:48:52 +02:00
Daniel Seifert fc1011dfc1
change license 2020-02-04 14:12:10 +01:00
Daniel Seifert 7014a96a91
update module version 2020-02-04 13:49:08 +01:00
Daniel Seifert cb23574cff
make installation via Composer possible 2020-02-04 13:43:40 +01:00
SusiKober b49b34483f hotfix for chrome, unattractiveness 2020-01-10 11:08:59 +01:00
Markus Gärtner daa5d8557c #8993: Fehlerhafte Steuerberechnung wenn Gutschein eingelöst wurde
Falsche Tax wenn der Shop im Netto-Modus läuft und ein Gutschein verwendet wurde
2019-07-25 16:29:08 +02:00
RayEhrhardt 2ac1e581f7 Alte Anleitungen entfernt 2019-01-03 13:30:17 +01:00
RayEhrhardt 22e1766d7a Informationen für die Einrichtung von Google Analytics hinzugefügt 2019-01-03 13:22:55 +01:00
RayEhrhardt acf4ff16ce BaseConfKey auf v4.0.0.1 gestellt 2018-10-29 09:11:23 +01:00
RayEhrhardt 4be68236d7 Veraltete Installationsanleitung entfernt 2018-10-26 13:16:01 +02:00
RayEhrhardt 2ceaacfd20 Installationsanleiung erstellt und Ordnerstuktur des setup+doku-Ordners entsprechend der Anleitung angepasst. 2018-10-26 13:15:19 +02:00
RayEhrhardt a6686842e5 .noencode korrigiert und php-Version in der Precheck.php auf 7.0 - 7.2 eingeschränkt 2018-10-26 13:10:13 +02:00
RayEhrhardt 80211cdd70 7832: fehlende Angabe der Währung 2018-09-07 11:06:46 +02:00
RayEhrhardt c504b8a837 7740: ecomm_totalvalue: [{$sD3GARemarketingPrice}] 2018-09-07 10:54:30 +02:00
RayEhrhardt 20f738fe93 Neue Versionsnummer 2018-09-07 10:50:24 +02:00
kristianhempel c977d4ba1b fixed compatibility bugs for oxid v6.0.0.0 + d3modcfg V 5.1.0.0 2018-04-10 10:50:05 +02:00
RayEhrhardt 8914b6affd 6419: Korrektur der Benamung der Eingabefelder für Remarketing 2017-11-28 10:48:27 +01:00
RayEhrhardt b42c136003 6419: Korrektur der Benamung der Eingabefelder für Remarketing 2017-11-28 10:46:49 +01:00
RayEhrhardt 96a86ff730 Merge remote-tracking branch 'origin/rel_3.x' into rel_4.x
# Conflicts:
#	copy_this/modules/d3/d3_googleanalytics/metadata.php
#	copy_this/modules/d3/d3_googleanalytics/setup/d3_googleanalytics_update.php
#	copy_this/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_remarketing.tpl
#	setup+doku/Precheck/d3precheck.php
#	setup+doku/changelog.txt
2017-11-27 11:00:45 +01:00
RayEhrhardt bc718ebc44 Neue Versionsnummer
Alle nötigen Änderungen um die kompatibilität zur Oxid V6 und dem D3-Modulconnector v5 herzustellen.
2017-11-27 10:57:34 +01:00
Daniel Seifert 23ffbf090f add changelog note for: add adblock detection in admin panel, because of blocked config pages in case of activated adblocker 2017-06-29 14:26:10 +02:00
Daniel Seifert e95c18d8c0 Merge branch 'rel_3.x' of http://phab.d3data.local/source/GoogleServices into rel_3.x 2017-06-29 14:21:55 +02:00
Daniel Seifert 61b1cd95d1 add adblock detection in admin panel, because of blocked config pages in case of activated adblocker 2017-06-29 14:21:45 +02:00
RayEhrhardt 17c0f2231e #4509: changed_full entfernen 2017-05-18 13:39:38 +02:00
RayEhrhardt 7de297e12b #4814: Remarketing: Werte für ecomm_pagetype anpassen 2017-05-18 13:25:17 +02:00
RayEhrhardt c9369829a6 #5078: ecomm_totalvalue darf nicht in Apostrophen stehen 2017-05-18 13:11:34 +02:00
Daniel Seifert dae9810ec8 fix loadPageSpeed metrik 2017-03-28 09:30:27 +02:00
Daniel Seifert 84149daa0d merge rel_3.x changes to trunk 2017-03-13 12:34:08 +00:00
Daniel Seifert 1c614cc22d revision adjusted 2017-03-13 12:32:27 +00:00
Daniel Seifert 32dd4bd4bb add tpl blocks 2017-03-10 08:06:32 +00:00
Daniel Seifert 5d493cca2b add remarketing article list for start page 2017-03-09 09:05:51 +00:00
Daniel Seifert 294961da40 fix remarketing tracking via Analytics 2017-03-09 08:30:51 +00:00
Daniel Seifert 99c0927d5d add AdBlocker note 2017-02-14 15:25:21 +00:00
Daniel Seifert a41aed77b5 add remarkting (via Analytics) 2017-02-10 12:47:37 +00:00
Daniel Seifert 5aa7b36bdc fix admin headlines, change icon to Google logo 2016-11-21 14:47:57 +00:00
Daniel Seifert f624c88610 add font awesome icon 2016-11-10 12:57:32 +00:00
Daniel Seifert c453a4b07a remove quotes from _setSiteSpeedSampleRate value 2016-01-27 08:33:07 +00:00
Daniel Seifert 87607d144e anonymize screenshots 2015-10-27 13:44:50 +00:00
Daniel Seifert a73bffb2b4 fix total tax calculation 2015-08-04 07:03:12 +00:00
RayEhrhardt fa0bcbe588 Merged from dev_ticket_3679
Replaced getPrice() with direct property accessor. [from revision 229]
2015-08-03 09:53:09 +00:00
SusiKober 0e6663c139 Merged revision(s) 216-225 from branches/rel_3.x to trunk 2015-07-29 07:08:55 +00:00
SusiKober e59fdfdbeb #4220 2015-07-29 07:06:17 +00:00
SusiKober cdb3c7256e #4013 2015-07-28 15:02:32 +00:00
SusiKober e1fd89d6b3 #3588 2015-07-28 14:28:50 +00:00
SusiKober c1da5ac209 #3293 2015-07-28 13:40:24 +00:00
SusiKober 4c10aa06ca #3961 2015-07-28 13:13:19 +00:00
SusiKober 51dc6d9076 #4069 2015-07-28 13:02:58 +00:00
Daniel Seifert ce2c2541c6 fix tax claculation for trusted store tracking code 2015-07-10 15:08:16 +00:00
Daniel Seifert 1ca54a1744 merge rel_3.x to trunk 2015-07-08 14:48:28 +00:00
Daniel Seifert b064f8e1a8 revision adjusted 2015-07-08 14:46:19 +00:00
Daniel Seifert 97a9fc3284 add delivery time calculation for out of stock articles 2015-07-08 14:26:28 +00:00
Daniel Seifert 3742b80fb3 avoid js errors because of empty NoBounceEventTime, tpl blocks added 2015-06-03 07:57:45 +00:00
Daniel Seifert 6fc74a76f5 merge rel. 3.3.0.0 to trunk 2015-06-03 06:50:47 +00:00
Daniel Seifert d760ff512b show Trusted Store specific variables only, if Trusted Store is activated 2015-02-10 13:18:40 +00:00
Daniel Seifert d0a7d9a853 bounce optimization switch added (#3465) 2015-01-20 11:20:36 +00:00
Daniel Seifert f509aa7110 fix domainlist for multi domain using 2014-11-25 08:52:46 +00:00
RayEhrhardt c44f66609a Merge all from fix_3246 at 202 (reintegration) 2014-11-20 11:18:50 +00:00
RayEhrhardt d14f80df8f Merge all from fix_3246 at 202 (reintegration) 2014-11-20 11:16:18 +00:00
RayEhrhardt 72e69c5168 Merge from 3.3.0.0 2014-11-20 11:07:58 +00:00
RayEhrhardt 52472f590a Merge all from rel_3.x at 200 2014-11-20 11:05:25 +00:00
RayEhrhardt ecef4feded #3246 2014-11-20 11:04:23 +00:00
RayEhrhardt 5ad648a394 Fixed php5.3 compatibility. #3181 2014-10-30 09:06:01 +00:00
Daniel Seifert c97a2ad113 fix small issues in changelog.txt 2014-10-23 09:20:17 +00:00
Daniel Seifert 325e705cee fix small issues in changelog.txt 2014-10-23 09:18:56 +00:00
Daniel Seifert 777604f5dc fix unknown class call, revision adjusted, precheck adjusted 2014-10-23 09:07:55 +00:00
Daniel Seifert 94b1596d1f error in details, if no category is defined for current article (#3160) 2014-10-23 08:38:08 +00:00
Daniel Seifert 48e7ecbaa2 add further documentation 2014-10-22 08:58:40 +00:00
Daniel Seifert 18d4ec6e37 add descriptions 2014-10-21 13:34:40 +00:00
Daniel Seifert cff6d31ce6 optical changes for mobile theme use (#2998) 2014-10-20 11:39:32 +00:00
Daniel Seifert 5fb9ab1402 rename module to "Google Services" (#3117) 2014-10-17 09:09:56 +00:00
Daniel Seifert 39ceb6700b service description completed 2014-10-17 08:44:31 +00:00
Daniel Seifert e6de5050f4 merge dev_#3119 into rel_3.x branch 2014-10-17 08:24:14 +00:00
Daniel Seifert 62c18a42a3 add documentation 2014-10-17 08:22:20 +00:00
Daniel Seifert 2791e915c4 fix small issues 2014-10-17 07:34:22 +00:00
Daniel Seifert 8a732d7eac add current product to tracking code 2014-10-16 15:57:12 +00:00
Daniel Seifert be1f41e2dc skip no working days while transportation 2014-10-16 12:17:12 +00:00
Daniel Seifert e95630a198 merge rel_3.x changes to dev-branch 2014-10-16 10:30:09 +00:00
Daniel Seifert 45cf7549c9 add module active check for optout code, destroy shop layout, if module is deactivated 2014-10-16 10:26:23 +00:00
Daniel Seifert fdcea4d82b add weekday and feastday handling 2014-10-16 09:29:53 +00:00
Daniel Seifert ea39bbfad1 added Google Shopping support 2014-10-15 15:17:26 +00:00
Daniel Seifert 4b68552261 merge rel_3.x changes, fix user country values in trusted store code 2014-10-14 09:05:43 +00:00
Daniel Seifert 568de84f80 add target optimizations (#3028) 2014-10-14 08:25:55 +00:00
Daniel Seifert e18b6774f9 2014-10-13 14:56:53 +00:00
Daniel Seifert 681c834ca9 add first implementation 2014-10-13 13:23:06 +00:00
Daniel Seifert 14a8039b65 create dev branch for trustedStore 2014-10-13 13:17:35 +00:00
Daniel Seifert 16918787fd changed duplicated varname for "submit campaign code" (other campaigns and AdWords) #3098 2014-10-13 11:38:48 +00:00
Daniel Seifert f356606fdd add bounce rate optimization (#3118) 2014-10-13 11:17:32 +00:00
Daniel Seifert b133f1bd5c merge rel_3.x changes to trunk 2014-07-31 12:24:02 +00:00
Daniel Seifert 516773a872 revision adjusted 2014-07-31 12:14:30 +00:00
Daniel Seifert 859a93b947 merge dev_#2702 branch to rel_3.x branch 2014-07-31 12:06:11 +00:00
Daniel Seifert cc72bd81a0 fixed: typing error 2014-07-30 15:01:21 +00:00
KristianHempel aae39ab43e added: fontend css, frontend language files
added: new option opt out
modified: repaired html in modules\d3\d3_googleanalytics\views\admin\tpl\d3_cfg_googleanalytics_main.tpl
2014-07-29 08:12:43 +00:00
KristianHempel a4e7ed8abc dev_#2702 2014-07-28 12:27:06 +00:00
Daniel Seifert 30b74cd2a8 fix wrong update script (in trunk only), was an uncomplete commit 2014-07-24 09:59:37 +00:00
Daniel Seifert b9273276dd merge rel_3.x changes to trunk 2014-07-24 09:55:47 +00:00
Daniel Seifert abc080980c revision adjusted 2014-07-24 09:52:08 +00:00
Daniel Seifert 5b992ba973 add opposite url to isSsl()-Url to AutoLinker list 2014-07-24 09:39:57 +00:00
Daniel Seifert 0166ff5ff5 #2782: _d3GetNonBaseLanguageUrls() liefert falsche URLs wenn die SSL-Verbindung über eine Subdomain läuft 2014-07-24 09:21:40 +00:00
Daniel Seifert 370734c123 #2682: Feldlänge für ConversionLabel im Modul erhöhen 2014-07-24 08:52:39 +00:00
Daniel Seifert 1f60e936d9 bugfix: article titles were escaped 2014-07-24 08:48:09 +00:00
Daniel Seifert e61bb002bf merge #2416 branch to rel_3.x branch 2014-07-24 08:43:20 +00:00
Daniel Seifert 4ca0f90dfd fix quote handling in update script 2014-07-18 13:47:44 +00:00
Daniel Seifert ab9eaf64d6 add category tracking for ecommerce items 2014-07-15 15:40:34 +00:00
Daniel Seifert 006410b925 development branch for #2416 2014-07-15 15:28:11 +00:00
SusiKober 3ac2fbb5d1 correct wrong baseconfkey -> no lisence needed 2014-07-14 11:20:50 +00:00
Daniel Seifert 1c5ac2036b merge rel_3.x to trunk 2014-07-04 09:10:02 +00:00
Daniel Seifert bcf4f5cc20 revision adjusted 2014-07-04 09:03:19 +00:00
Daniel Seifert f393d40735 don't collect articlelists in pages, which don't has a class name (e.g. 404 pages) 2014-07-04 08:46:17 +00:00
Daniel Seifert c8b7d7acf7 move smarty block extensions to if-checks: content will not rendered, if module is disabled 2014-07-01 15:27:21 +00:00
Daniel Seifert be8086c5d5 merge rel_3.x changes to trunk 2014-06-05 10:11:37 +00:00
Daniel Seifert 5e2223f9e1 use baseconfkey without serial 2014-06-05 10:06:23 +00:00
Daniel Seifert 6d101c9511 merge rel_3.x changes to trunk 2014-06-05 09:23:21 +00:00
Daniel Seifert 2eaa642027 added: support for multi domain use in universal tracking code (Alexander Fehler), some cleanups 2014-06-05 09:21:20 +00:00
Daniel Seifert 5dc2667124 added: module specific log area 2014-06-03 08:34:45 +00:00
Daniel Seifert cd39b79b68 added: module specific log area 2014-06-03 08:29:37 +00:00
Daniel Seifert 18a313c4ea add configuration example screenshots 2014-05-09 09:42:22 +00:00
Daniel Seifert c97a928d96 merge rel_3.x to trunk 2014-05-09 08:45:20 +00:00
Daniel Seifert cccb389eef revision adjusted 2014-05-09 08:43:05 +00:00
Daniel Seifert 29d49f5846 merge dev branch (#2504 AdWords) to rel_3.x 2014-05-09 08:40:33 +00:00
Daniel Seifert 795569e434 rename dev branch to rel_3.x branch 2014-05-06 08:36:05 +00:00
Daniel Seifert 6648c40a93 use trackable pagename for thankyou page, documentation changed 2014-05-06 08:34:57 +00:00
Daniel Seifert 9d638eb507 revision adjusted 2014-05-05 20:22:51 +00:00
Daniel Seifert 8ba9db2c89 remove unused special 4.8.X template dir 2014-05-05 17:00:10 +00:00
Daniel Seifert 824f7b7580 changed: target setting documentation 2014-05-05 16:48:52 +00:00
Daniel Seifert 452f49f020 fix update instructions, add sampleRate configuration 2014-05-05 14:49:37 +00:00
Daniel Seifert c725af9e86 change trackingcode implemention without manipulation of existing forms, documentation fixed 2014-05-05 13:50:01 +00:00
Daniel Seifert 27817e66b0 renew adwords documentation 2014-05-03 21:45:53 +00:00
Daniel Seifert 30e0128c49 refresh documentation 2014-05-03 18:52:18 +00:00
Daniel Seifert c6cf651f46 add further parameters 2014-05-02 21:12:23 +00:00
Daniel Seifert a6be04b8c7 basic implementation 2014-05-02 14:58:43 +00:00
Daniel Seifert a2d68cb622 branch for ticket #2417 2014-05-02 14:52:34 +00:00
Daniel Seifert ee32a42d22 change line endings in some templates 2014-05-02 14:49:46 +00:00
RayEhrhardt 5784e2a51e Merge all from dev_3.0.0.3 at 108 (reintegration) 2014-05-02 09:17:17 +00:00
RayEhrhardt df5459a97b finished release preparations 2014-05-02 09:01:19 +00:00
RayEhrhardt 68c2b56af2 Remoced .bak files and the "Kundenversion" 2014-05-02 08:47:38 +00:00
RayEhrhardt 493a23e889 #2492 - Added latest precheck fix 2014-05-02 08:46:51 +00:00
RayEhrhardt c6b4c5622e #2492 - Updated configuration 2014-05-02 08:17:27 +00:00
RayEhrhardt 7b4d77383b #2492 2014-05-02 07:50:17 +00:00
RayEhrhardt fb906a0c46 3.0.0.3 development branch 2014-05-02 07:39:29 +00:00
SusiKober 479b95bbcb übernahme in den mantis ist erfolgt 2014-02-12 15:28:44 +00:00
KristianHempel 28d21dc8fa added: 4.8.0 templates in changed full 2014-01-07 15:32:00 +00:00
Daniel Seifert 918e2d0f0b refresh precheck 2013-11-07 10:48:25 +00:00
Daniel Seifert 5afa7f8d63 documentation fixed, revision adjusted 2013-05-08 10:22:18 +00:00
Daniel Seifert 9994c0d9ac update fixed 2013-05-08 10:21:17 +00:00
Daniel Seifert e21c236a11 revision adjusted 2013-04-24 10:43:10 +00:00
Daniel Seifert 3ef5c07478 avoid messages, if oUser is not an oxuser instance 2013-04-24 10:42:11 +00:00
Daniel Seifert e3b5ead1de fix update script 2013-04-24 10:41:28 +00:00
Daniel Seifert 844867a392 fix modid scope 2013-04-24 10:40:35 +00:00
Daniel Seifert 6329e04d0a add ToDo item 2013-02-28 17:02:05 +00:00
Daniel Seifert 488b463529 add further form params 2013-02-28 17:01:52 +00:00
Daniel Seifert 90eb8fa83a fix update instructions 2013-02-21 14:03:03 +00:00
Daniel Seifert 910d6959d3 move metadata to copy_this, avoid encoding, add automated update script, refresh documentation 2013-02-21 14:02:29 +00:00
Daniel Seifert 58a6771c3d use registered include templates instead of fixed path names 2013-02-21 14:00:45 +00:00
Daniel Seifert 6001252d9a use dynamic module path for smarty plugins 2013-02-21 13:59:59 +00:00
Daniel Seifert 293ea7dc4e change precheck and its documentation 2013-02-21 13:59:26 +00:00
Daniel Seifert 24fa339c54 move smarty plugins to module folder 2013-02-21 13:58:07 +00:00
Daniel Seifert ce20521be5 move smarty plugins to module folder 2013-02-21 13:57:32 +00:00
Daniel Seifert d81890c0a3 reformat tpls 2013-02-21 13:56:11 +00:00
Daniel Seifert 571ba05eb2 add tax calculation, restore net price changes 2013-02-21 13:55:39 +00:00
Daniel Seifert e09ce9efe6 add changelog 2013-02-21 13:55:03 +00:00
Daniel Seifert 584970b793 fix module item, adjust revision 2013-02-21 13:53:34 +00:00
Daniel Seifert 202d63560a add logging 2013-02-21 13:53:00 +00:00
Daniel Seifert 2c34558c8d 2013-02-21 13:51:41 +00:00
Daniel Seifert 2bb5592b87 change author description, refactor module 2013-02-21 13:49:05 +00:00
SusiKober e44bc7e363 2012-12-21 16:12:40 +00:00
Daniel Seifert 590cfcc9d3 fix folder name 2012-12-21 10:30:15 +00:00
Daniel Seifert 5ca7526da8 reformat code 2012-12-21 10:20:32 +00:00
Daniel Seifert dd07e5a0dc add CE to modcfg item 2012-12-21 10:19:36 +00:00
Daniel Seifert 70b5574c32 fix metadata 2012-12-21 10:18:49 +00:00
Daniel Seifert 76fdad3d44 basic refactoring 2012-12-21 10:17:54 +00:00
Daniel Seifert dadcafeb15 reformat code 2012-12-21 10:16:56 +00:00
Daniel Seifert 2516f439d0 refactoring (SK) 2012-12-20 15:15:00 +00:00
Daniel Seifert 01f1d302ea add ToDo item 2012-12-20 14:46:19 +00:00
Daniel Seifert 8967424454 rename changed_full path 2012-12-20 14:44:31 +00:00
Daniel Seifert 3685f6b70a basic implementation 2012-12-20 14:41:06 +00:00
Daniel Seifert 929754d66b basic refactoring 2012-12-20 14:35:10 +00:00
Daniel Seifert c81f19ed23 add customer fixed version 2012-12-20 14:27:29 +00:00
Daniel Seifert 23c3f23d2c remove d3module menu item title for modcfg title use 2012-12-20 14:25:46 +00:00
Daniel Seifert 4dd6488b61 add build process required folders 2012-12-20 14:24:40 +00:00
Daniel Seifert a92d5b6fc9 check for 4.6.4 tpls 2012-09-13 12:17:25 +00:00
Daniel Seifert 6ea9232448 add remarketing flag 2012-09-13 12:13:55 +00:00
Daniel Seifert 1fb81da719 add metadata version 2012-09-13 12:13:01 +00:00
Daniel Seifert bf7e382e73 fix syntax error in analytics code 2012-09-13 12:09:31 +00:00
Daniel Seifert 2b858235f9 check for 4.5.11 and 4.6.2 tpls, revision and documentation adjusted 2012-09-13 12:07:35 +00:00
Daniel Seifert 6f80eed155 add further custom vars 2012-09-13 12:04:52 +00:00
Daniel Seifert 98c9aaeeff add further custom var, has to be transmitted to other tpls 2012-09-13 12:03:51 +00:00
Daniel Seifert 3399e3ac16 add 4.6.x tpls, add metadata file 2012-06-07 09:44:47 +00:00
Daniel Seifert fd86ba62e8 check 459 tpls 2012-04-13 13:37:35 +00:00
Daniel Seifert 60018b2385 add 458 tpls, add modcfg active check in tpl 2012-03-01 20:59:09 +00:00
Daniel Seifert 555f7446cc add quotes to code parameters 2012-01-24 17:10:07 +00:00
Daniel Seifert adae98dc36 456 tpls checked, syntax error in analytics code fixed 2012-01-12 16:43:57 +00:00
Daniel Seifert 22f211e27c add editor to documentation 2011-11-04 21:53:37 +00:00
Daniel Seifert bb5d07a695 check for 453 tpls 2011-10-20 20:11:05 +00:00
Daniel Seifert 3b9f6eb22a add dynamic OXID generator 2011-10-11 20:27:31 +00:00
Daniel Seifert 2fe44f79c8 change letter case in module file name 2011-10-04 12:46:16 +00:00
Daniel Seifert 16e4c044d9 documentation fixed 2011-09-02 14:36:24 +00:00
Daniel Seifert 0d1c7311a3 admin lang error fixed, price items will transfered to main currency, 451 tpls added, smarty plugin folder renamed 2011-08-31 09:48:52 +00:00
Daniel Seifert 1b96d93cb2 syntax error fixed 2011-07-15 15:54:47 +00:00
Daniel Seifert 7de74cb8d6 fix pageTrackLoadTime implementation 2011-06-27 12:16:43 +00:00
Daniel Seifert aaf7127102 campaign track switch is available without campaign code too, article generator plugin added 2011-06-09 10:06:50 +00:00
Daniel Seifert 9ff52212f9 add trackPageLoadTime command 2011-05-09 09:34:01 +00:00
Daniel Seifert 7009b28014 add 4.5.0 templates 2011-04-27 21:50:02 +00:00
Daniel Seifert dd4c7aca1a add option, to integrate conversion code on thankyou page only, fix admin template error 2011-04-18 09:54:08 +00:00
Daniel Seifert d07c318ef9 insert conversion code on thankyou page only 2011-04-18 08:46:27 +00:00
Daniel Seifert ae4be66c28 change net price tracking code 2011-04-06 14:06:28 +00:00
Daniel Seifert acb1d68dab revision adjusted 2011-03-28 07:37:35 +00:00
Daniel Seifert 866c9aec1b documentation and sql installation part fixed 2011-03-28 07:35:42 +00:00
Daniel Seifert f104fe4e5d fix GA code template, add notice for custom vars 2011-03-25 10:03:19 +00:00
Daniel Seifert 014167f8c3 fix syntax error in ecommerce tracking 2011-03-24 15:18:55 +00:00
Daniel Seifert 045eb829c5 fix frontend template and admin language files 2011-03-23 10:11:51 +00:00
Daniel Seifert abe1f34bd0 option description completed, require price format and tranfer changes to other versions 2011-03-22 16:50:58 +00:00
Daniel Seifert 7d389e4b1c basic implementation 2011-03-20 01:51:05 +00:00
Daniel Seifert 07f11b2920 basic implementation 2011-02-27 20:21:16 +00:00
Daniel Seifert c02049bf20 modcfg pages added 2011-02-27 11:55:21 +00:00
Daniel Seifert c59a64d3c3 2.1.0 2011-02-26 23:25:02 +00:00
Daniel Seifert 429c6cd8c5 2009-11-23 21:32:28 +00:00
Daniel Seifert abe11f7d9c 2009-11-23 21:32:08 +00:00
Daniel Seifert 0b11e4994a 2009-11-23 21:31:45 +00:00
Daniel Seifert 643ad8dbcb 2009-11-23 21:30:25 +00:00
116 geänderte Dateien mit 6155 neuen und 233 gelöschten Zeilen

65
.gitattributes vendored Normale Datei
Datei anzeigen

@ -0,0 +1,65 @@
* text=auto !eol
Sources/Admin1.jpg -text
Sources/FireShot[!!-~]Screen[!!-~]Capture[!!-~]#250[!!-~]-[!!-~]'Conversion-Tracking'[!!-~]-[!!-~]adwords_google_com_ct_ConversionTracking_Manager___c=1858313983&__u=7452293233&__o=cues#acc_ALL_con.png -text
Sources/FireShot[!!-~]Screen[!!-~]Capture[!!-~]#251[!!-~]-[!!-~]'Conversion-Tracking'[!!-~]-[!!-~]adwords_google_com_ct_ConversionTracking_Manager___c=1858313983&__u=7452293233&__o=cues#acc_ALL_con.png -text
Sources/FireShot[!!-~]Screen[!!-~]Capture[!!-~]#252[!!-~]-[!!-~]'Google[!!-~]Analytics'[!!-~]-[!!-~]www_google_com_analytics_web__authuser=0#management_Settings_a50621059w82651812p85583465__m_page=CustomMetrics.png -text
Sources/Google[!!-~]AdWords-Einrichtung.docx -text
Sources/Google[!!-~]Analytics-Einrichtung.docx -text
Sources/Google[!!-~]Services-Installation.docx -text
Sources/UGA_Custom_Dimensions.jpg -text
Sources/UGA_Einstellungen.jpg -text
Sources/UGA_Trichtereinrichtung.jpg -text
Sources/UGA_Trichtereinrichtung_1.jpg -text
Sources/trustedShops.jpg -text
changed_full/490-/modules/d3/d3_googleanalytics/views/blocks/layout/d3_base_googleadwordscode.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/blocks/layout/d3_base_googleanalytics.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/blocks/layout/d3_base_optout.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/d3_googleanalytics.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/d3ga_universal.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_adwords.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_adwordscode.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_campaigncode.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_custom.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_ecommerce.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_remarketing.tpl -text
changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_trustedstore.tpl -text
copy_this/.noencode -text
copy_this/modules/d3/d3_googleanalytics/IntelliSenseHelper.php -text
copy_this/modules/d3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics.php -text
copy_this/modules/d3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_adwords.php -text
copy_this/modules/d3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_campaigns.php -text
copy_this/modules/d3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_licence.php -text
copy_this/modules/d3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_list.php -text
copy_this/modules/d3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_main.php -text
copy_this/modules/d3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_trustedstore.php -text
copy_this/modules/d3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalyticslog.php -text
copy_this/modules/d3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalyticslog_list.php -text
copy_this/modules/d3/d3_googleanalytics/core/smarty/plugins/function.d3getArticleFromOrderArticle.php -text
copy_this/modules/d3/d3_googleanalytics/menu.xml -text
copy_this/modules/d3/d3_googleanalytics/metadata.php -text
copy_this/modules/d3/d3_googleanalytics/models/d3_google_remarketing_articlelister.php -text
copy_this/modules/d3/d3_googleanalytics/models/d3_google_trustedstore_articlelister.php -text
copy_this/modules/d3/d3_googleanalytics/modules/components/d3_oxcmp_utils_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/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/out/src/d3_googleanalytics.css -text
copy_this/modules/d3/d3_googleanalytics/out/src/d3_googleanalytics_mobile.css -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/translations/de/d3_googleanalytics_lang.php -text
copy_this/modules/d3/d3_googleanalytics/translations/en/d3_googleanalytics_lang.php -text
copy_this/modules/d3/d3_googleanalytics/views/admin/de/d3_googleanalytics_lang.php -text
copy_this/modules/d3/d3_googleanalytics/views/admin/en/d3_googleanalytics_lang.php -text
copy_this/modules/d3/d3_googleanalytics/views/admin/tpl/d3_cfg_googleanalytics_adwords.tpl -text
copy_this/modules/d3/d3_googleanalytics/views/admin/tpl/d3_cfg_googleanalytics_campaigns.tpl -text
copy_this/modules/d3/d3_googleanalytics/views/admin/tpl/d3_cfg_googleanalytics_main.tpl -text
copy_this/modules/d3/d3_googleanalytics/views/admin/tpl/d3_cfg_googleanalytics_trustedstore.tpl -text
setup+doku/Google[!!-~]AdWords-Einrichtung.pdf -text svneol=unset#unset
setup+doku/Google[!!-~]Analytics-Einrichtung.pdf -text svneol=unset#unset
setup+doku/Google[!!-~]Services-Installation.pdf -text
setup+doku/Precheck/d3precheck.php -text
setup+doku/changelog.txt -text

1
.noencode Normale Datei
Datei anzeigen

@ -0,0 +1 @@
copyAsIsFiles=modules

37
README.md Normale Datei
Datei anzeigen

@ -0,0 +1,37 @@
# D³ Google-Services
Dieses Modul bietet eine Schritt-für-Schritt Konfiguration von Individualartikeln an. Der Kunde wählt in jedem
Schritt die von ihm gewünschte Option, die mit Bildern, Beschreibungstexten und ggf. Aufpreisinformationen
dargestellt werden können. Weiterhin gibt es optionale Freitexte, in denen z.B. Abmessungen etc. hinterlegt werden können.
## Systemanforderungen:
* PHP Version
* 7.0 bis PHP 7.4
* Shopversionen / -editionen
* OXID eShop Community Edition (CE), Professional Edition (PE) oder Enterprise Edition (EE) in Compilation Version
* 6.0.x
* 6.1.x
* 6.2.x
* [D³ Modul-Connector](https://www.oxidmodule.com/Modul-Connector/Modul-Connector-fuer-Oxid-CE-PE-EE.html)
* Installation via Composer
Die jeweils geforderten Versionen und sonstige Anforderungen entnehmen Sie bitte der Dokumentation im docs-Verzeichnis dieses Paketes oder unter [docs.oxidmodule.com](https://docs.oxidmodule.com).
## Installation / Update / Deinstallation:
Eine detaillierte Installationsanleitung finden Sie im docs-Verzeichnis dieses Pakets oder unter [docs.oxidmodule.com](https://docs.oxidmodule.com).
## Hilfe und Support
Bei Bedarf bieten wir Ihnen auch gern die Installation des Moduls in Ihrem Shop an. Geben Sie uns bitte unter den unten
genannten Kontaktdaten Bescheid.
Haben Sie Fragen oder Unklarheiten in Verbindung mit diesem Modul oder dessen Installation, stehen Ihnen Hilfetexte in
unserer [Modul-FAQ](http://faq.oxidmodule.com/) zur Verfügung. Finden Sie darin die benötigten Antworten nicht, kontaktieren
Sie uns bitte unter den folgenden Möglichkeiten:
1. per E-Mail: <support@shopmodule.com> oder
2. über das Kontaktformular auf [Oxidmodule.com](https://www.oxidmodule.com/) oder
3. per Telefon: (+49) 37 21 / 26 80 90 zu unseren Bürozeiten
Geben Sie bitte an, wo und wie wir gegebenenfalls vorhandene Schwierigkeiten nachvollziehen können. Sind Ihre Fragen
shopspezifisch, benötigen wir möglicherweise Zugangsdaten zum betreffenden Shop.

Datei anzeigen

@ -1,32 +0,0 @@
---
title: Changelog
---
## noch nicht veröffentlicht
---
## 1.1.0.1 - (2019-02-20)
### Fixed
- ...
- ...
---
## 1.1.0.0 - (2018-05-29)
**Minor version upgrade notice: there are some backward-incompatible changes to this release.**
#### Fixed
- Einstellungs-Überladung korrigiert - verwendet Einstellungen der Hauptsprache, wenn in aktueller Sprache keine Einstellungen gespeichert wurden
#### Changed
- kleine Textänderungen in der Installationsroutine
---
## 1.0.0.0 - (2018-05-15)
#### Added
- Angepasst für Shopversion 6.x, Installation via Composer

38
composer.json Normale Datei
Datei anzeigen

@ -0,0 +1,38 @@
{
"name": "d3/googleservices",
"description": "Google Services for OXID eShop.",
"type": "oxideshop-module",
"keywords": [
"oxid",
"modules",
"eShop",
"d3",
"google",
"analytics",
"adwords",
"remarketing"
],
"authors": [
{
"name": "D3 Data Development (Inh. Thomas Dartsch)",
"email": "info@shopmodule.com",
"homepage": "https://www.d3data.de",
"role": "Owner"
}
],
"homepage": "https://www.oxidmodule.com/",
"license": [
"GPL-3.0-or-later"
],
"extra": {
"oxideshop": {
"source-directory": "/src",
"target-directory": "d3/d3_googleanalytics"
}
},
"require": {
"php": ">=7.0",
"oxid-esales/oxideshop-ce": "6.0 - 6.5",
"d3/modcfg": "^5.3.1.100"
}
}

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 58 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 56 KiB

BIN
docs/daux/assets/Admin1.jpg Normale Datei

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 438 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 178 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 261 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 331 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 211 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 45 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 629 KiB

Datei anzeigen

@ -0,0 +1,175 @@
---
title: Changelog
---
## 4.1.0.0 - (2020-07-28)
### Added
- Update für OXID 6.2 (vielen Dank an Marten Seemann)
### Changed
- Dokumentationsformat aktualisiert
---
## 4.0.0.2
### Changed
- Installation via Composer ermöglicht
### Fixed
- Hotfix für Google Chrome Browser, vermeidet unnötigen Leerraum vor den Settings im Admin
---
## 4.0.0.1
### Fixed
- "weiße" Thankyou-Seite behoben
- 0007740: ecomm_totalvalue: [{$sD3GARemarketingPrice}] - als Standardwert wird nun 0 übergeben, damit ecomm_totalvalue nicht leer bleibt und dadurch Syntaxfehler verursacht
- 0007832: fehlende Angabe der Währung
---
## 4.0.0.0
### Changed
- Oxid V6 Release
### Fixed
- 0006419: Korrektur der Benamung der Eingabefelder für Remarketing
**Minor version upgrade notice: there are some backward-incompatible changes to this release.**
---
## 3.4.0.0
### Changed
- Remarketing (via Analytics) eingefügt
- Remarketing-Liste für Startseite eingefügt
- Template-Blöcke eingefügt
- Titel der Konfigurationsseiten angepasst
- Scriptsyntax angepasst
### Fixed
- Staffelpreisübergaben korrigiert (0003679)
- Steuerberechnung korrigiert
## 3.4.0.1
### Changed
- 0005078: ecomm_totalvalue darf nicht in Apostrophen stehen
- 0004814: Remarketing: Werte für ecomm_pagetype anpassen
- 0004509: changed_full entfernen
- AdBlock-Checker in Admin integriert, da dieser die Darstellung des Adminbereichs blockieren kann
## 3.3.2.0
- fix: Optionen im Admin können nicht deaktivert werden
- "Zertifizierter Händler" im Shop aktivieren
- zusätzliche Daten aus Google Shopping übertragen
- fix:
- fix:
- Link "Hilfe starten" korrigieren
- Aktualisierung der Modulinstallationsanleitung / Vorabprüfung (d3precheck)
- freigegeben bis PHP 5.6
### Fixed
- Zertifizierte Händler, "locale" Eintrag auch ohne aktive Option "zusätzliche Daten aus Google Shopping übertragen"
- Kampagnencode wurde nicht übertragen
## 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
- Google Zertifizierte Händler eingefügt
- Hilfetexte erweitert
- Integration ins Mobile-Theme
- Optimierung der Transaktionsübergaben
- getrackte Absprungrate optimiert
- Konfigurationsvariablen korrigiert
- Fehler bei "toBasket" auf Detailseite ohne Kategorieangabe korrigiert
## 3.2.1.0
- neue Option "Opt Out anzeigen lassen"
## 3.2.0.0
- 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
- AutoLinker-URL enthält auch abweichende SSL-URLs
## 3.1.0.2
- Bugfix: deaktiviertes Modul kann benötigtes Objekt nicht laden
- Bugfix: Seiten ohne Klassenangaben (z.B. 404-Seiten) versuchen Artikellisten für Remarketing zu laden
## 3.1.0.1
- Universal-Trackingcode für Multi-Domain-Nutzung angepasst
## 3.1.0.0
- Universal-Analytics Tracking-Code implementiert
- zusätzliche Steuerungsparameter eingefügt
- Trichtererfassung vereinfacht
- konfigurierbarerer AdWords Conversion-Trackingcode integriert
- Remarketing-Tags integriert
## 3.0.0.3
- Precheck angepasst
- Templates für 4.8.0 / 5.1.0 hinzugefügt
## 3.0.0.2
- automatische Installation angepasst
## 3.0.0.1
- Umstellung auf teilautomatische Installation
- Übergabe der Steuer
## 3.0.0.0
- Umstellung auf Struktur des OXID 4.7 / 5.0
- benutzerdefinierte Variablen um "Neukunde" ergänzt
- Trackingcode in <head> verschoben
- optionales Logging integriert
## 2.4.1
- Templates für OXID 4.6.4 kompatibel
## 2.4.0
- Remarketing-Option eingefügt
- Metadaten vervollständigt
- Syntaxfehler im JS-Code entfernt
## 2.3.0
- Templates für OXID 4.5.11 und 4.6.2 kompatibel
- weitere Beispiele für benutzerdefinierte Variablen eingefügt
## 2.2.2
- Templates für OXID 4.6 eingefügt
- 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
- Syntaxfehler im JS-Code entfernt
## 2.2.0
#### Changed
- 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

Datei anzeigen

@ -1,10 +1,10 @@
{
"title": "<i class='fab fa-d3 d3fa-color-blue'></i> MODULNAME",
"moduleversion": "5.0.0.0",
"title": "<i class='fab fa-d3 d3fa-color-blue'></i> Google Services",
"moduleversion": "4.1.0.0",
"titledesc": "für den Oxid eShop",
"author": "D³ Data Development",
"moduledate": "17.04.2018",
"editors": "XX/YY",
"moduledate": "28.07.2020",
"editors": "",
"tagline": "",
"image": "",
"ignore": {
@ -32,7 +32,6 @@
"powered_by": ""
},
"languages": {
"editions": "Editionen",
"installation": "Installation",
"manual": "Handbuch",
"changelog": "Changelog",
@ -62,11 +61,11 @@
}
},
"variables": {
"modulename" : "<i class='fab fa-d3 d3fa-color-blue'></i> MODULNAME",
"menutitle" : "<i class='fab fa-d3 d3fa-color-blue'></i> MODULNAME",
"modulefolder" : "module_folder",
"modcfgident" : "d3modident",
"composerident" : "d3/moduleident"
"modulename" : "<i class='fab fa-d3 d3fa-color-blue'></i> Google Services",
"menutitle" : "<i class='fab fa-d3 d3fa-color-blue'></i> Google Services",
"modulefolder" : "d3_googleanalytics",
"modcfgident" : "d3_googleanalytics",
"composerident" : "d3/googleservices"
},
"versionselector": false,
"versiondirectoryindex": 2

Datei anzeigen

@ -0,0 +1,17 @@
---
title: Systemanforderungen
---
* PHP Version
* 7.0.x bis 7.4.x
* Shopversionen / -editionen
* OXID eShop Community Edition (CE), Professional Edition (PE) oder Enterprise Edition (EE) in Compilation Version
* 6.0.x
* 6.1.x
* 6.2.x
* Themes
* azure
* flow
* wave
* D3 Modul-Connector ([kostenfrei bei D3 erhältlich](https://www.oxidmodule.com/connector/)) ab Version 5.3.1.1
* Installation via [Composer](https://getcomposer.org)

Datei anzeigen

@ -4,6 +4,4 @@ title: Vorbereitungen
Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version.
Ob dies evtl. schon geschehen ist, können Sie im Adminbereich Ihres Shops prüfen. Existiert der Punkt [ (D3) Module ] -> [ Modul-Connector ], können Sie die installierte Version unter [ Bibliotheksverwaltung ] ablesen. Fehlt dieser Eintrag, installieren Sie den kostenfreien Connector.
Informationen zu dessen Installation finden Sie auf unserer [Homepage](https://www.oxidmodule.com/Connector/).
Klicken Sie auf den Reiter [ Downloads ] und wählen dort das für Ihre Installation passende Paket.
Informationen zu dessen Installation finden Sie in unserer [Dokumentation](https://docs.oxidmodule.com/).

Datei anzeigen

@ -4,4 +4,4 @@ title: Vorbereitungen
Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. Ob dies evtl. schon geschehen ist, können Sie im Adminbereich Ihres Shops prüfen.
Existiert der Punkt [ (D3) Module ] -> [ Modul-Connector ], können Sie die installierte Version unter [ Bibliotheksverwaltung ] ablesen.
Fehlt dieser Eintrag, installieren Sie den Modul-Connector bitte vorab. Hinweise zu dessen Installation finden Sie in der [Modul-Connector Dokumentation](https://docs.oxidmodule.com/Modul_Connector/).
Fehlt dieser Eintrag, installieren Sie den Modul-Connector bitte vorab. Hinweise zu dessen Installation finden Sie in Sie in unserer [Dokumentation](https://docs.oxidmodule.com/).

Datei anzeigen

@ -2,14 +2,6 @@
title: Modul zur Installation hinzufügen
---
Für das Modul **{$modulename}** sind Anpassungen an den originalen Dateien des Shops nötig. Die Änderungen werden automatisiert als Patches eingespielt. Um diese Patches integrieren zu können, ist es nötig, in der `composer.json`-Datei des Shopprojektes das Anwenden der Patches zu erlauben.
Führen Sie dann in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des `source`- und `vendor`-Verzeichnisses) diesen Befehl aus:
```bash
php composer config extra.enable-patching true
```
Führen Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des `source`- und `vendor`-Verzeichnisses) diesen Befehl aus, um das Modul **{$modulename}** zur Installation hinzuzufügen:
```bash

Datei anzeigen

@ -2,14 +2,6 @@
title: Dateien erneuern
---
Für das Modul **{$modulename}** sind Anpassungen an den originalen Dateien des Shops nötig. Die Änderungen werden automatisiert als Patches eingespielt. Um diese Patches integrieren zu können, ist es nötig, in der `composer.json`-Datei des Shopprojektes das Anwenden der Patches zu erlauben.
Führen Sie dann in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des `source`- und `vendor`-Verzeichnisses) diesen Befehl aus:
```bash
php composer config extra.enable-patching true
```
Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres
Shops (oberhalb des `source`- und `vendor`-Verzeichnisses). Führen Sie dort diesen Befehl aus:

Datei anzeigen

@ -11,19 +11,10 @@ Um die erfolgreiche Installation zu prüfen, können Sie die folgende(n) Checkli
* Modul ist unter [ Erweiterungen ] -> [ Module ] aktiv geschaltet
* Modul ist unter [ (D3) Module ] -> [ Modul-Connector ] -> [ Modulverwaltung ] aktiv geschaltet
* Modul zeigt unter [ (D3) Module ] -> [ {$menutitle} ] einen eigenen Bereich für Einstellungen
* Modul zeigt unter [ Artikel verwalten ] -> [ Artikel ] -> [ Erweitert ] die Einstellung [ Wichtigkeit des Artikels im Sortiment ]
* ... um weitere Punkte ergänzen
### Frontend
* Punkte einfügen oder Absatz entfernen
## Einstellungsabhängige Prüfungen
### Backend
* Punkte einfügen oder Absatz entfernen
### Frontend
* Punkte einfügen oder Absatz entfernen
* Für den Browser Chrome kann das Plugin 'Google Tag Assistant' installiert und verwendet werden.
Dieses Plugin zeigt an ob Tags für Google vom Shop/Modul ausgespielt werden und diese in Ordnung oder fehlerhaft sind.

Datei anzeigen

@ -0,0 +1,19 @@
---
title: Datenbank bereinigen
---
Das Modul legt Informationen in der Datenbank ab. Sofern diese Daten nicht mehr benötigt werden, können diese gelöscht werden.
> [!] Legen Sie sich vorab bitte unbedingt eine Sicherung an, um die Daten im Zweifelsfall wiederherstellen zu können.
Für das Modul **{$modulename}** sind dies die folgende Felder:
* in Tabelle `oxorderarticles`:
* das Feld `D3_GALOCATOR`
sowie diese Einträge in bestehenden Tabellen:
* in Tabelle `d3_cfg_mod`:
* den Eintrag `oxmodid = "{$modcfgident}"` **)
**) Diesen Eintrag gibt es ggf. für jeden Subshop. Entfernen Sie diesen nur für die Mandanten, in denen das Modul **nicht** mehr installiert ist.

Datei anzeigen

@ -0,0 +1,8 @@
---
title: Handbuch
---
* [Einrichtungsleitfaden Google Analytics](010_Google_Analytics_Einrichtung)
* [Einrichtungsleitfaden Google AdWords ](020_Google_AdWords_Einrichtung)
Bei Bedarf bieten wir Ihnen auch gern die Installation des Moduls in Ihrem Shop an. Geben Sie uns bitte unter den unter [Hilfe und Support](support/010_Hilfe-und-Support.md) genannten Kontaktdaten Bescheid.

Datei anzeigen

@ -0,0 +1,16 @@
---
title: Oxid-Shop spezifische Informationen für die Einrichtung des Analytics-Kontos
---
Folgend nun einige Informationen über shopspezifische Informationen, um einige Features der Google Dienste besser einsetzen zu können.
## "Standardseite"
Die Startseite des Shops ist über folgende URLs Aufrufbar:
- www.meine-website.de
- www.meine-website.de/index.php
- www.meine-website.de/startseite/
## "Suchparameter"
Bei Nutzung der shopinternen Suche, kommt `searchparam` als Suchparameter zum Einsatz.

Datei anzeigen

@ -0,0 +1,5 @@
---
title: Grundeinrichtung
---
![](../../assets/UGA_Einstellungen.jpg)

Datei anzeigen

@ -0,0 +1,9 @@
---
title: Zieleinrichtung
---
![](../../assets/UGA_Trichtereinrichtung_1.jpg)
![](../../assets/UGA_Trichtereinrichtung.jpg)
Über Ziele können Sie prüfen, ob bestimmte Seiten über einen definierten Weg aufgerufen wurden. Ein typischer Einsatzfall ist der Bestelldurchlauf, der durch die abgeschlossene Bestellung beendet wird. Für genau diesen Fall liefert das vorliegende Modul die erforderlichen Daten. Um dieses Ziel (Trichter) in Ihrem Analytics-Konto anzulegen, folgen Sie den nächsten Screenshots.

Datei anzeigen

@ -0,0 +1,9 @@
---
title: Benutzerdefinierte Dimensionen
---
Möchten Sie die Seitenladezeiten zusätzlich auswerten, lassen Sie diese als benutzerdefinierte Messwerte registrieren. Haben Sie im Adminbereich des Shops die Option unter
[ Admin ] -> [ (D3) Module ] -> [ {$menutitle} ] -> [ Einstellungen ] -> [ Analytics ] -> [ Grundeinstellungen ] -> [ Seitenladezeit mit übertragen ]
aktiviert, wird die Ladezeit automatisch in die Metrik 1 übertragen.
Richten Sie diese entsprechend der folgenden Grafik in Ihrem Analytics-Konto ein.
Möchten Sie weitere Metriken verwenden, definieren Sie diese bitte danach.

Datei anzeigen

@ -0,0 +1,10 @@
---
title: Benutzerdefinierte Messwerte
---
Werten Sie weitere kundenspezifische Daten aus, die über den Seitenbesuch hinausgehen. Im Standardmodul sind einige Dimensionen eingerichtet, deren Übertragung einfach im Adminbereich Ihres Shops aktiviert werden können.
Die Option finden Sie unter
[ Admin ] -> [ (D3) Module ] -> [ {$menutitle} ] -> [ Einstellungen ] -> [ Analytics ] -> [ individuelle Daten ] -> [ individuelle Daten übertrage ].
Die Dimensionen müssen ebenfalls in Ihrem Google-Konto angelegt werden. Die erforderlichen Einstellungen entnehmen Sie bitte der folgenden Grafik.
![](../../assets/benutzerdefinierte_Messwerte.png)

Datei anzeigen

@ -0,0 +1,11 @@
---
title: Einrichtungsleitfaden Google Analytics
---
Auf den folgenden Seiten haben wir die Einstellungen im Google Analytics-Konto abgebildet, mit denen aus dem vorliegenden Modul Auswertungen erstellt werden konnten.
Bitte beachten Sie, dass dies Empfehlungen sind. Ob für Ihren Shop individuelle Einstellungen sinnvoller sind, erfragen Sie bitte direkt beim Google Support. Dort können Ihnen sicher auch Fragen zur Statistikqualität und zur Technik des Trackings beantwortet werden.
Weitere Informationen und Hilfestellungen zu Google Analytics finden Sie unter [https://support.google.com/analytics/](https://support.google.com/analytics/).
Wir als Modulautor können Fragen, die direkt Ihr Google-Konto bzw. dessen aufgezeichnete Daten betreffen, leider nicht beantworten. Hierfür bitten wir um Ihr Verständnis.

Datei anzeigen

@ -0,0 +1,9 @@
---
title: Einrichtung des Conversion-Trackings
---
Die für das Conversion-Tracking notwendigen Daten erhalten Sie über die folgende Einrichtung in Ihrem AdWords-Konto
![](../../assets/AdWords_Conversions_Einstellungen.png)
![](../../assets/AdWords_Conversions_Code.png)

Datei anzeigen

@ -0,0 +1,11 @@
---
title: Einrichtungsleitfaden Google AdWords
---
Auf den folgenden Seiten haben wir die Einstellungen im Google AdWords-Konto abgebildet, mit denen aus dem vorliegenden Modul Auswertungen erstellt werden konnten.
Bitte beachten Sie, dass dies Empfehlungen sind. Ob für Ihren Shop individuelle Einstellungen sinnvoller sind, erfragen Sie bitte direkt beim Google Support. Dort können Ihnen sicher auch Fragen zur Statistikqualität und zur Technik des Trackings beantwortet werden.
Weitere Informationen und Hilfestellungen zu Google Analytics finden Sie unter [https://support.google.com/analytics/](https://support.google.com/adwords/).
Wir als Modulautor können Fragen, die direkt Ihr Google-Konto bzw. dessen aufgezeichnete Daten betreffen, leider nicht beantworten. Hierfür bitten wir um Ihr Verständnis.

Datei anzeigen

@ -1,12 +0,0 @@
---
title: Editionen
---
Das Modul **{$modulename}** erhalten Sie in verschiedenen Editionen mit unterschiedlichem Funktionsumfang.
Definition der Unterschiede:
| Free-Edition | Standard-Edition | Premium-Edition |
|:-------------:|:-----------------:|:-----------------:|
| 1 | 2 | 3 |

Datei anzeigen

@ -1,23 +0,0 @@
---
title: Systemanforderungen
---
* PHP Version
* 5.6.x bis 7.4.x
* PHP Decoder
* installierter ionCube Loader
* Shopversionen / -editionen
* OXID eShop Community Edition (CE), Professional Edition (PE) oder Enterprise Edition (EE) in Compilation Version
* 6.0.x
* 6.1.x
* 6.2.x
* Themes
* flow
* wave
* D3 Modul-Connector ([kostenfrei bei D3 erhältlich](https://www.oxidmodule.com/connector/)) ab Version 5.3.0.0
* Installation via [Composer](https://getcomposer.org)
* mindestens ein freier Cronjob zur automatischen Ausführung der angelegten Aufgaben
Beachten Sie, dass die Ihnen vorliegende Modulversion entsprechend für **PHP 5.6**, **PHP 7.0**, **PHP 7.1**, **PHP 7.2**, **PHP 7.3** oder **PHP 7.4** sowie dem auf Ihrem Server vorhandenen Decoder (**ionCube Loader**) kompatibel ist. Im Zweifelsfall kontaktieren Sie uns und nennen den für Ihren Shop genutzten Decoder und die PHP-Version.
Kontrollieren Sie bitte auch, ob diese Modulversion für die von Ihnen eingesetzte Shopedition (Professional Edition (PE) oder Enterprise Edition (EE)) ausgelegt ist.

Datei anzeigen

@ -1,5 +0,0 @@
---
title: Kompatibilität mit anderen Modulen
---
Das „Modul“ integriert sich auch in die Erweiterung „Visual CMS“ von OXID eSales AG & digidesk - media solutions, sofern diese im Shop installiert wurde. Diese Integration wurde für die Version 3.0.0 des „Visual CMS“-Moduls entwickelt.

Datei anzeigen

@ -1,8 +0,0 @@
---
title: beiliegende Bibliotheken
---
Dem Modul liegt eine Kopie der **XYZ**-Bibliothek bei. Bitte beachten Sie auch deren folgende Lizenzhinweise:
- Lizenzhinweis #1
- Lizenzhinweis #2

Datei anzeigen

@ -1,14 +0,0 @@
---
title: Verwendung eigener Themes
---
Das Modul ist für die Verwendung mit den folgenden OXID-Themes vorbereitet:
* Flow
* Azure
Verwenden Sie in Ihrem Shop ein angepasstes Verzeichnis für Ihre Templates (neues Theme oder CustomTheme), kopieren Sie die Templates und / oder die CSS-Dateien in die neuen Ordner.
Ähnelt Ihr neues Theme technisch einem der OXID-Originale, können Sie dieses darauf umleiten. Childs von originalen OXID- Themes benötigen keine Umleitung.
Weitere Informationen zur Umleitung finden Sie in unserer [FAQ](https://faq.d3data.de/oxid-eshop/module-oxid-eshop/anpassungen/template-bloecke-dem-eigenen-theme-zuordnen/).

Datei anzeigen

@ -1,5 +0,0 @@
---
title: Providerspezifische Installation
---
Manche Provider erfordern besondere Einstellungen für installierte Module. Treffen Sie bei der Installation auf spezielle Anforderungen, zu denen Sie Unterstützung benötigen, kontaktieren Sie uns bitte für weiteren Support.

Datei anzeigen

@ -1,9 +0,0 @@
---
title: Lizenzschlüssel eintragen
---
Das Modul verwendet Lizenzschlüssel, um die Lizenzverwaltung für Sie und auch für uns einfacher zu gestalten. Hierbei haben Sie je nach Modul die Wahl zwischen einer kostenfreien Testlizenz und einer Lizenz für den Einsatz im Livebetrieb.
Speziell **{$modulename}** wird in unterschiedlichen (teilweise kostenfreien) Editionen für den Livebetrieb angeboten. Besuchen Sie unseren [Moduleshop](https://www.oxidmodule.com/), um mehr darüber zu erfahren.
Rufen Sie zum Anfordern des Lizenzschlüssels die Modulverwaltung im Adminbereich unter [ (D3) Module ] -> [ Modul-Connector ] -> [ Modulverwaltung ] auf. Klappen Sie den Eintrag des jeweiligen Moduls aus. Sofern erforderlich, können Sie hier den Lizenzassistenten starten, der schnell und einfach ihr Modul aktiviert.

Datei anzeigen

@ -1,13 +0,0 @@
---
title: Cronjob einrichten
---
Legen Sie den Cronjob für die automatische Bearbeitung der eingerichteten Aufträge an. Die für die Anlage benötigten Daten finden Sie im Adminbereich des Moduls unter [ (D3) Module ] -> [ {$menutitle} ] -> [ Einstellungen ] -> [ Grundeinstellungen ]. Weitere Informationen zum Anlegen von Cronjobs finden Sie in unserer [FAQ](https://faq.d3data.de/technik/wie-werden-cronjobs-angelegt/).
> [!!] Sie sollten unbedingt den Aufruf von `.sh`-Dateien via Browser verhindern, so dass kein Unbefugter die Datei von außen aufrufen kann. Dazu können Sie z.B. die `.htaccess`-Datei des Shops um folgende Zeilen erweitern:
```htaccess
<Files *.sh>
Require all denied
</Files>
```

Datei anzeigen

@ -1,7 +0,0 @@
---
title: Updatefähigkeit
---
Bei individuellen Änderungen von Moduldateien empfehlen wir, jeweils die Überladungsmöglichkeiten des Shops dafür zu verwenden. So brauchen Sie die originalen Moduldateien nicht verändern und erhalten sich so die Updatefähigkeit des Shops und des Moduls. Beachten Sie, dass Moduldateien bei Updateinstallationen überschrieben werden.
Weitere Informationen zu den Überladungsmöglichkeiten verschiedener Dateien finden Sie in unserer [FAQ](https://faq.d3data.de/category/oxid-eshop/module-oxid-eshop/anpassungen/).

Datei anzeigen

@ -1,5 +0,0 @@
---
title: Providerspezifische Installation
---
Manche Provider erfordern besondere Einstellungen für installierte Module. Treffen Sie bei der Installation auf spezielle Anforderungen, zu denen Sie Unterstützung benötigen, kontaktieren Sie uns bitte für weiteren Support.

Datei anzeigen

@ -1,5 +0,0 @@
---
title: Lizenzschlüssel aktualisieren
---
Wird für die neue Modulversion ein aktualisierter Lizenzschlüssel benötigt, tragen Sie diesen im Adminbereich unter [ (D3) Module ] -> [ Modul-Connector ] -> [ Modulverwaltung ] ein. Klappen Sie dazu den Eintrag des jeweiligen Moduls aus und starten den Lizenzassistent.

Datei anzeigen

@ -1,31 +0,0 @@
---
title: Datenbank bereinigen
---
Das Modul legt Informationen in der Datenbank ab. Sofern diese Daten nicht mehr benötigt werden, können diese gelöscht werden.
> [!] Legen Sie sich vorab bitte unbedingt eine Sicherung an, um die Daten im Zweifelsfall wiederherstellen zu können.
Für das Modul **{$modulename}** sind dies die folgende Tabellen und Felder:
* die komplette Tabelle `tablename`
* sofern vorhanden: `tablename_setX` *)
und diese Felder in bestehenden Tabellen:
* in Tabelle `oxorder`:
* das Feld `fieldname1`
* das Feld `fieldname2`
* in Tabelle `oxuser`:
* das Feld `fieldname3`
* das Feld `fieldname4`
sowie diese Einträge in bestehenden Tabellen:
* in Tabelle `d3_cfg_mod`:
* den Eintrag `oxmodid = "{$modcfgident}"` **)
*) `_setX` ist eine Tabellenliste, die mit `_set1` beginnen und shopabhängig auch Tabellen mit höheren Nummerierungen enthalten kann (z.B. `_set2`, `_set3`, …).
Zu einigen dieser Tabellen wurden die Config-Einträge `aMultiLangTables` (bei Enterprise Edition auch `aMultiShopTables`) um entsprechende Einträge ergänzt). Bereinigen Sie diese ebenfalls.
**) Diesen Eintrag gibt es ggf. für jeden Subshop. Entfernen Sie diesen nur für die Mandanten, in denen das Modul **nicht** mehr installiert ist.

Datei anzeigen

@ -1 +0,0 @@
It starts here.

Datei anzeigen

@ -1,4 +0,0 @@
---
title: Benutzerhandbuch
---

Datei anzeigen

@ -1,18 +0,0 @@
---
title: optische Anpassungen
---
Die Modulausgaben können durch eigene CSS-Styles angepasst werden. Um die Updatefähigkeit des Moduls zu
erhalten, übernehmen Sie die neuen Stylesheets bitte in modulunabhängige Dateien.
Die mitgelieferten Assets (CSS, JavaScripts) werden von uns über einen vorkonfigurierten Kompilierungstask
erstellt. Dieser kann via [Grunt](https://gruntjs.com/) ausgeführt werden. Möchten Sie eigene oder
angepasste Inhalte daraus kompilieren lassen, installieren Sie das Modul bitte mit Composer und der
`--prefer-source`-Option. Dann stehen Ihnen die Quelldateien im Ordner `src/build` zur Verfügung.
Diese können direkt aufgerufen werden, um eventuelle Anpassungen im zu Grunde liegenden Theme zu
integrieren. Alternativ können Sie die Sources auch in eigene Kompilierungsprozesse einbinden,
um projektspezifische Assets zu erstellen.
Details zur Verwendung des Taskrunners und der Quelldateien entnehmen Sie bitte der `README.md` im
oben erwähnten Build-Ordner.

38
src/IntelliSenseHelper.php Normale Datei
Datei anzeigen

@ -0,0 +1,38 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_oxcmp_utils_googleAnalytics_parent extends oxcmp_utils {}
/** */
class d3_oxorder_googleanalytics_parent extends oxOrder {}
/** */
class d3_thankyou_googleanalytics_parent extends thankyou {}
/** */
class d3_order_googleanalytics_parent extends order {}
/** */
class d3_oxutilsview_googleanalytics_parent extends oxUtilsView {}
/** */
class d3_oxbasket_googleanalytics_parent extends oxbasket {}
/** */
class d3_oxbasketitem_googleanalytics_parent extends oxBasketItem {}

Datei anzeigen

@ -0,0 +1,47 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_cfg_googleanalytics extends D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_
{
/**
* @return string
*/
public function render()
{
$this->addTplParam('sListClass', 'd3_cfg_googleanalytics_list');
$this->addTplParam('sMainClass', 'd3_cfg_googleanalytics_main');
return parent::render();
}
public function getAdditionalHeadContent()
{
$oViewConf = oxRegistry::getConfig()->getActiveView()->getViewConfig();
$sScriptUrl = $oViewConf->getModuleUrl('d3_googleanalytics', 'out/src/d3_googleanalytics_test.js');
return parent::getAdditionalHeadContent().'
<script src="'.$sScriptUrl.'"></script>
<script type="text/javascript">
if(null === document.getElementById("SePiRENuJOBWx")){
alert("'.oxRegistry::getLang()->translateString('D3_GOOGLEANALYTICS_ADBLOCKER', null, true).'");
}
</script>
';
}
}

Datei anzeigen

@ -0,0 +1,41 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_cfg_googleanalytics_adwords extends D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main
{
protected $_sThisTemplate = 'd3_cfg_googleanalytics_adwords.tpl';
protected $_sModId = 'd3_googleanalytics';
protected $_sMenuItemTitle = 'd3mxgoogleanalytics';
protected $_sMenuSubItemTitle = 'd3tbclgoogleanalytics_adwords';
/**
* @return mixed
*/
public function getGaType()
{
if ($this->d3GetSet()->getValue('sD3GAType') == 'async') {
return 'async';
}
return 'universal';
}
}

Datei anzeigen

@ -0,0 +1,41 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_cfg_googleanalytics_campaigns extends D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main
{
protected $_sThisTemplate = 'd3_cfg_googleanalytics_campaigns.tpl';
protected $_sModId = 'd3_googleanalytics';
protected $_sMenuItemTitle = 'd3mxgoogleanalytics';
protected $_sMenuSubItemTitle = 'd3tbclgoogleanalytics_campaigns';
/**
* @return mixed
*/
public function getGaType()
{
if ($this->d3GetSet()->getValue('sD3GAType') == 'async') {
return 'async';
}
return 'universal';
}
}

Datei anzeigen

@ -0,0 +1,39 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_cfg_googleanalytics_licence extends D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_licence
{
protected $_sModId = 'd3_googleanalytics';
protected $_hasLicence = false;
protected $_hasNewsletterForm = false;
protected $_hasUpdate = true;
protected $_sDefaultHelpLinkAdd = 'Fragen-zu-speziellen-Modulen/Google-Analytics/';
/**
* additional multilang item, which will added as last part to help url
*
* @var string
*/
protected $_sHelpLinkMLAdd = '';
protected $_sMenuItemTitle = 'd3mxgoogleanalytics';
}

Datei anzeigen

@ -0,0 +1,36 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_cfg_googleanalytics_list extends D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_list
{
protected $_blD3ShowLangSwitch = false;
/**
* @return null|string
*/
public function render()
{
parent::render();
$this->addTplParam("default_edit", "d3_cfg_googleanalytics_main");
return $this->_sThisTemplate;
}
}

Datei anzeigen

@ -0,0 +1,41 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_cfg_googleanalytics_main extends D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main
{
protected $_sThisTemplate = 'd3_cfg_googleanalytics_main.tpl';
protected $_sModId = 'd3_googleanalytics';
protected $_blHasDebugSwitch = true;
protected $_sDebugHelpTextIdent = 'D3_GOOGLEANALYTICS_MAIN_DEBUG';
protected $_sMenuItemTitle = 'd3mxgoogleanalytics';
protected $_sMenuSubItemTitle = 'd3tbclgoogleanalytics_main';
/**
* @return mixed
*/
public function getGaType()
{
if ($this->d3GetSet()->getValue('sD3GAType') == 'async') {
return 'async';
}
return 'universal';
}
}

Datei anzeigen

@ -0,0 +1,27 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_cfg_googleanalytics_trustedstore extends D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main
{
protected $_sThisTemplate = 'd3_cfg_googleanalytics_trustedstore.tpl';
protected $_sModId = 'd3_googleanalytics';
protected $_sMenuItemTitle = 'd3mxgoogleanalytics';
protected $_sMenuSubItemTitle = 'd3tbclgoogleanalytics_trustedstore';
}

Datei anzeigen

@ -0,0 +1,33 @@
<?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 (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
class d3_cfg_googleanalyticslog extends D3\ModCfg\Application\Controller\Admin\Log\d3_cfg_log
{
protected $_sModId = 'd3_googleanalytics';
/**
* @return string
*/
public function d3getAdditionalUrlParams()
{
$sRet = parent::d3getAdditionalUrlParams();
if ($this->_sModId) {
$sRet .= '&sD3ModId='.$this->_sModId;
}
return $sRet;
}
}

Datei anzeigen

@ -0,0 +1,19 @@
<?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 (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
class d3_cfg_googleanalyticslog_list extends D3\ModCfg\Application\Controller\Admin\Log\d3_cfg_log_list
{
protected $_sModId = 'd3_googleanalytics';
}

Datei anzeigen

@ -0,0 +1,43 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
/**
* Smarty plugin
* -------------------------------------------------------------
* add [{d3getArticleFromOrderArticle aid="articleid"}] where you want to display content
* -------------------------------------------------------------
*
* @param array $params params
* @param Smarty &$smarty clever simulation of a method
*
* @return string
*/
function smarty_function_d3getArticleFromOrderArticle( $params, &$smarty )
{
$sArtId = $params['aid'];
$oArticle = oxNew('oxarticle');
$oArticle->Load($sArtId);
if (isset($params['assign']) && $params['assign']) {
$smarty->assign($params['assign'], $oArticle);
}
return "use assign param";
}

7
src/d3metadata.php Normale Datei
Datei anzeigen

@ -0,0 +1,7 @@
<?php
$aModule = array(
'd3SetupClasses' => array(
'd3_googleanalytics_update',
),
);

17
src/menu.xml Normale Datei
Datei anzeigen

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="ISO-8859-15"?>
<OX>
<OXMENU id="d3mxd3modules">
<MAINMENU id="d3mxgoogleanalytics">
<SUBMENU id="d3mxgoogleanalytics_settings" cl="d3_cfg_googleanalytics" list="d3_cfg_googleanalytics_list">
<TAB id="d3tbclgoogleanalytics_main" cl="d3_cfg_googleanalytics_main" />
<TAB id="d3tbclgoogleanalytics_adwords" cl="d3_cfg_googleanalytics_adwords" />
<TAB id="d3tbclgoogleanalytics_campaigns" cl="d3_cfg_googleanalytics_campaigns" />
<TAB id="d3tbclgoogleanalytics_trustedstore" cl="d3_cfg_googleanalytics_trustedstore" />
<TAB id="d3tbcl_licence" cl="d3_cfg_googleanalytics_licence" />
</SUBMENU>
<SUBMENU id ="d3mxlog" cl="d3_cfg_googleanalyticslog" list="d3_cfg_googleanalyticslog_list">
<TAB id="d3tbcllog_main" cl="d3_cfg_log_main" />
</SUBMENU>
</MAINMENU>
</OXMENU>
</OX>

107
src/metadata.php Normale Datei
Datei anzeigen

@ -0,0 +1,107 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
/**
* Metadata version
*/
$sMetadataVersion = '1.1';
/**
* Module information
*/
$aModule = array(
'id' => 'd3_googleanalytics',
'title' =>
'<svg style="height:1em;width:1em"><image xlink:href="https://logos.oxidmodule.com/d3logo.svg" style="height:1em;width:1em" /></svg> '.
'Google Services Schnittstelle',
'description' => array(
'de' => 'Dieses Modul stellt Ihnen die schnelle und unkomplizierte Einbindung Ihres Google-Analytics-'.
'Kontos in Ihren Shop zur Verf&uuml;gung. Hierbei werden &uuml;ber standardisierte Schnittstellen die '.
'Besucherdaten und eCommerce-Daten zu Google &uuml;bertragen. Ebenfalls &uuml;bermittelt werden Daten '.
'der Website-Suche. Weiterhin k&ouml;nnen &uuml;ber das Modul Shopdaten an Google Adwords und Google '.
'Trusted Shops &uuml;bertragen werden.',
'en' => 'Provides a quick and easy integration with your Google Analytics, Google Adwords and Google '.
'Trusted Shops account to your shop.',
),
'thumbnail' => 'picture.png',
'version' => '4.1.0.0',
'author' => 'D&sup3; Data Development (Inh. Thomas Dartsch)',
'email' => 'support@shopmodule.com',
'url' => 'http://www.oxidmodule.com/',
'extend' => array(
'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',
'order' => 'd3/d3_googleanalytics/modules/controllers/d3_order_googleanalytics',
'oxutilsview' => 'd3/d3_googleanalytics/modules/core/d3_oxutilsview_googleanalytics',
'thankyou' => 'd3/d3_googleanalytics/modules/controllers/d3_thankyou_googleanalytics',
),
'files' => array(
'd3_cfg_googleanalytics' => 'd3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics.php',
'd3_cfg_googleanalytics_adwords' => 'd3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_adwords.php',
'd3_cfg_googleanalytics_campaigns' => 'd3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_campaigns.php',
'd3_cfg_googleanalytics_licence' => 'd3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_licence.php',
'd3_cfg_googleanalytics_list' => 'd3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_list.php',
'd3_cfg_googleanalytics_main' => 'd3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_main.php',
'd3_cfg_googleanalytics_trustedstore' => 'd3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalytics_trustedstore.php',
'd3_cfg_googleanalyticslog' => 'd3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalyticslog.php',
'd3_cfg_googleanalyticslog_list' => 'd3/d3_googleanalytics/controllers/admin/d3_cfg_googleanalyticslog_list.php',
'd3_google_remarketing_articlelister' => 'd3/d3_googleanalytics/models/d3_google_remarketing_articlelister.php',
'd3_google_trustedstore_articlelister' => 'd3/d3_googleanalytics/models/d3_google_trustedstore_articlelister.php',
'd3_googleanalytics_update' => 'd3/d3_googleanalytics/setup/d3_googleanalytics_update.php',
),
'templates' => array(
'd3_googleanalytics.tpl' => 'd3/d3_googleanalytics/views/tpl/widget/d3_googleanalytics.tpl',
'd3ga_universal.tpl' => 'd3/d3_googleanalytics/views/tpl/widget/d3ga_universal.tpl',
'd3ga_universal_custom.tpl' => 'd3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_custom.tpl',
'd3ga_universal_ecommerce.tpl' => 'd3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_ecommerce.tpl',
'd3ga_universal_adwords.tpl' => 'd3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_adwords.tpl',
'd3ga_universal_adwordscode.tpl' => 'd3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_adwordscode.tpl',
'd3ga_universal_remarketing.tpl' => 'd3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_remarketing.tpl',
'd3ga_universal_campaigncode.tpl' => 'd3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_campaigncode.tpl',
'd3ga_universal_trustedstore.tpl' => 'd3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_trustedstore.tpl',
'd3_cfg_googleanalytics_main.tpl' => 'd3/d3_googleanalytics/views/admin/tpl/d3_cfg_googleanalytics_main.tpl',
'd3_cfg_googleanalytics_adwords.tpl' => 'd3/d3_googleanalytics/views/admin/tpl/d3_cfg_googleanalytics_adwords.tpl',
'd3_cfg_googleanalytics_campaigns.tpl' => 'd3/d3_googleanalytics/views/admin/tpl/d3_cfg_googleanalytics_campaigns.tpl',
'd3_cfg_googleanalytics_trustedstore.tpl' => 'd3/d3_googleanalytics/views/admin/tpl/d3_cfg_googleanalytics_trustedstore.tpl',
),
'events' => array(
'onActivate' => '\D3\ModCfg\Application\Model\Install\d3install::checkUpdateStart',
),
'blocks' => array(
array(
'template' => 'layout/base.tpl',
'block' => 'head_css',
'file' => '/views/blocks/layout/d3_base_googleanalytics.tpl',
),
array(
'template' => 'layout/base.tpl',
'block' => 'base_js',
'file' => '/views/blocks/layout/d3_base_googleadwordscode.tpl',
),
array(
'template' => 'layout/footer.tpl',
'block' => 'footer_main',
'file' => '/views/blocks/layout/d3_base_optout.tpl',
),
),
);

Datei anzeigen

@ -0,0 +1,208 @@
<?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_google_remarketing_articlelister
{
public $sD3GARemarketingSKUField = 'oxartnum';
public $blD3GARemarketingUseBrutto = true;
public $aStartListMethodNames = array(
'getArticleList',
'getTopArticleList',
'getNewestArticles',
'getFirstArticle',
'getCatOfferArticleList',
);
/**
* @param start $oView
*
* @return array
*/
public function getStartProdList($oView)
{
/** @var oxArticleList $oArticleList */
$oArticleList = oxNew('oxarticlelist');
if (is_array($this->aStartListMethodNames) && count($this->aStartListMethodNames)) {
foreach ($this->aStartListMethodNames as $sListName) {
/** @var oxArticleList $oList */
$mList = call_user_func(array($oView, $sListName));
if ($mList instanceof oxArticleList) {
if ($mList->count()) {
foreach ($mList->getArray() as $sID => $oArticle) {
$oArticleList->offsetSet($sID, $oArticle);
}
}
}
}
}
return $this->_getProductList($oArticleList);
}
/**
* @param details $oView
*
* @return array
*/
public function getDetailsProdList($oView)
{
$aArticleList = array();
$aArticleList[] = $oView->getProduct();
return $this->_getProductList($aArticleList);
}
/**
* @param oxwArticleDetails $oView
*
* @return array
*/
public function getOxwarticledetailsProdList($oView)
{
$aArticleList = array();
$aArticleList[] = $oView->getProduct();
return $this->_getProductList($aArticleList);
}
/**
* @param alist $oView
*
* @return array
*/
public function getAlistProdList($oView)
{
$oArticleList = $oView->getArticleList();
return $this->_getProductList($oArticleList);
}
/**
* @param search $oView
*
* @return array
*/
public function getSearchProdList($oView)
{
$oArticleList = $oView->getArticleList();
return $this->_getProductList($oArticleList);
}
/**
* @param vendorlist $oView
*
* @return array
*/
public function getVendorlistProdList($oView)
{
$oArticleList = $oView->getArticleList();
return $this->_getProductList($oArticleList);
}
/**
* @param manufacturerlist $oView
*
* @return array
*/
public function getManufacturerlistProdList($oView)
{
$oArticleList = $oView->getArticleList();
return $this->_getProductList($oArticleList);
}
/**
* @param basket $oView
*
* @return array
*/
public function getBasketProdList($oView)
{
$aArticleList = $oView->getBasketArticles();
return $this->_getProductList($aArticleList);
}
/**
* @param order $oView
*
* @return array
*/
public function getOrderProdList($oView)
{
$aArticleList = $oView->getBasketArticles();
return $this->_getProductList($aArticleList);
}
/**
* @param compare $oView
*
* @return array
*/
public function getCompareProdList($oView)
{
$aArticleList = $oView->getCompArtList();
return $this->_getProductList($aArticleList);
}
/**
* don't change method name, it was dynamically generated
* @param account_noticelist $oView
*
* @return array
*/
public function getAccount_noticelistProdList($oView)
{
$aArticleList = $oView->getNoticeProductList();
return $this->_getProductList($aArticleList);
}
/**
* don't change method name, it was dynamically generated
* @param account_wishlist $oView
*
* @return array
*/
public function getAccount_wishlistProdList($oView)
{
$aArticleList = $oView->getWishProductList();
return $this->_getProductList($aArticleList);
}
/**
* @param $aArticleList
*
* @return array
*/
protected function _getProductList($aArticleList)
{
$aArticleIds = array();
$dPrice = 0;
/** @var oxarticle $oArticle */
if (isset($aArticleList)) {
foreach ($aArticleList as $oArticle) {
$aArticleIds[] = $oArticle->getFieldData($this->sD3GARemarketingSKUField);
if ($this->blD3GARemarketingUseBrutto) {
$dPrice += $oArticle->getPrice()->getBruttoPrice();
} else {
$dPrice += $oArticle->getPrice()->getNettoPrice();
}
}
}
return array('aArtIdList' => $aArticleIds, 'dPrice' => $dPrice);
}
}

Datei anzeigen

@ -0,0 +1,180 @@
<?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 <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
class d3_google_trustedstore_articlelister
{
private $_sModId = 'd3_googleanalytics';
public $aStartListMethodNames = array(
'getArticleList',
'getTopArticleList',
'getNewestArticles',
'getFirstArticle',
'getCatOfferArticleList',
);
/**
* @param start $oView
*
* @return array
*/
public function getStartProdList($oView)
{
/** @var oxArticleList $oArticleList */
$oArticleList = oxNew('oxarticlelist');
if (is_array($this->aStartListMethodNames) && count($this->aStartListMethodNames)) {
foreach ($this->aStartListMethodNames as $sListName) {
/** @var oxArticleList $oList */
$mList = call_user_func(array($oView, $sListName));
if ($mList instanceof oxArticleList) {
if ($mList->count()) {
foreach ($mList->getArray() as $sID => $oArticle) {
$oArticleList->offsetSet($sID, $oArticle);
}
}
}
}
}
return $this->_getProductList($oArticleList);
}
/**
* @param details $oView
*
* @return array
*/
public function getDetailsProdList($oView)
{
$aArticleList = array();
$aArticleList[] = $oView->getProduct();
return $this->_getProductList($aArticleList);
}
/**
* @param oxwArticleDetails $oView
*
* @return array
*/
public function getOxwarticledetailsProdList($oView)
{
$aArticleList = array();
$aArticleList[] = $oView->getProduct();
return $this->_getProductList($aArticleList);
}
/**
* @param alist $oView
*
* @return array
*/
public function getAlistProdList($oView)
{
$oArticleList = $oView->getArticleList();
return $this->_getProductList($oArticleList);
}
/**
* @param search $oView
*
* @return array
*/
public function getSearchProdList($oView)
{
$oArticleList = $oView->getArticleList();
return $this->_getProductList($oArticleList);
}
/**
* @param vendorlist $oView
*
* @return array
*/
public function getVendorlistProdList($oView)
{
$oArticleList = $oView->getArticleList();
return $this->_getProductList($oArticleList);
}
/**
* @param manufacturerlist $oView
*
* @return array
*/
public function getManufacturerlistProdList($oView)
{
$oArticleList = $oView->getArticleList();
return $this->_getProductList($oArticleList);
}
/**
* @param compare $oView
*
* @return array
*/
public function getCompareProdList($oView)
{
$aArticleList = $oView->getCompArtList();
return $this->_getProductList($aArticleList);
}
/**
* don't change method name, it was dynamically generated
* @param account_noticelist $oView
*
* @return array
*/
public function getAccount_noticelistProdList($oView)
{
$aArticleList = $oView->getNoticeProductList();
return $this->_getProductList($aArticleList);
}
/**
* don't change method name, it was dynamically generated
* @param account_wishlist $oView
*
* @return array
*/
public function getAccount_wishlistProdList($oView)
{
$aArticleList = $oView->getWishProductList();
return $this->_getProductList($aArticleList);
}
/**
* @param $aArticleList
*
* @return array
*/
protected function _getProductList($aArticleList)
{
$aArticleIds = array();
/** @var oxarticle $oArticle */
if (isset($aArticleList)) {
foreach ($aArticleList as $oArticle) {
$aArticleIds[] = $oArticle->getFieldData(
\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('sD3GATSShoppingArtId')
);
}
}
return array('aArtIdList' => $aArticleIds);
}
}

Datei anzeigen

@ -0,0 +1,608 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_parent
{
private $_sModId = 'd3_googleanalytics';
public $aD3GAPageTypes = array(
'start' => 'home',
'search' => 'searchresults',
'alist' => 'category',
'manufacturerlist' => 'category',
'vendorlist' => 'category',
'details' => 'product',
'oxwarticledetails' => 'product',
'basket' => 'cart',
'user' => 'cart',
'payment' => 'cart',
'order' => 'cart',
'thankyou' => 'purchase',
);
/**
* @return null
*/
public function render()
{
$ret = parent::render();
$oSet = \D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_d3getModId());
if ($oSet->isActive()) {
/** @var $oParentView oxView */
$oParentView = $this->getParent();
$oParentView->addTplParam('blD3GoogleAnalyticsActive', $oSet->isActive());
$oParentView->addTplParam('oD3GASettings', $oSet);
$oParentView->addTplParam('sD3GATTpl', $this->d3getGATTpl());
$oParentView->addTplParam('sD3GACreateParameter', $this->d3getCreateParameters());
$oParentView->addTplParam('sAFEGetMoreUrls', $this->afGetMoreUrls());
$oParentView->addTplParam('sD3GASendPageViewParameter', $this->d3getSendPageViewParameters());
$oParentView->addTplParam('sD3CurrentShopUrl', $this->d3GetCreateCurrentShopUrl());
$oParentView->addTplParam('blD3GAIsMobile', $this->d3isMobile());
$oParentView->addTplParam('iD3GASendNoBounceEventTime', $this->d3GetSendNoBounceEventTime());
if ($oSet->getValue('sD3GATSActive')) {
$oParentView->addTplParam('sD3CurrentGTSLang', $this->d3GetGTSLang());
}
if ($oSet->getValue('sD3GATSActive') && $oSet->getValue('sD3GATSShoppingActive')) {
$aInfos = $this->d3GATSGetProdInfos();
$oParentView->addTplParam('sD3GATSProdId', $this->d3GATSGetProdIdList($aInfos['aArtIdList']));
}
if ($oSet->getValue('blD3GASetRemarketing') || $oSet->getValue('blD3GAUseAnalyticsRemarketing')) {
$aInfos = $this->d3GetGAProdInfos();
$oParentView->addTplParam('sD3GARemarketingProdId', $this->d3GetGAProdIdList($aInfos['aArtIdList']));
$oParentView->addTplParam('sD3GARemarketingProdId2', $this->d3GetGAProdIdList($aInfos['aArtIdList'], false));
$oParentView->addTplParam(
'sD3GARemarketingPrice',
$aInfos['dPrice'] > 0 ? number_format($aInfos['dPrice'], 2, '.', ''): 0
);
$oParentView->addTplParam('sD3GARemarketingPageType', $this->d3GetGAPageType());
}
}
return $ret;
}
/**
* @return string
*/
private function _d3getModId()
{
return $this->_sModId;
}
/**
* @return string
*/
public function d3getGATTpl()
{
if (\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('sD3GAType') == 'async') {
return 'd3_googleanalytics.tpl';
}
return 'd3ga_universal.tpl';
}
/**
* @return string
*/
public function d3GetCreateCurrentShopUrl()
{
if (\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('blD3GAAllowDomainLinker')) {
return 'auto';
}
return $this->d3GetCurrentShopUrl();
}
/**
* @return string
*/
public function d3GetCurrentShopUrl()
{
return oxRegistry::getConfig()->getActiveShop()->getFieldData('oxurl');
}
/**
* @return string
*/
public function afGetMoreUrls()
{
if (false == \D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('blD3GAAllowDomainLinker')) {
return '';
}
$sSeparator = ',';
return implode($sSeparator, $this->_d3GetNonBaseLanguageUrls());
}
/**
* @return array
*/
protected function _d3GetNonBaseLanguageUrls()
{
$myConfig = oxRegistry::getConfig();
$aLanguageUrls = $myConfig->getConfigParam('aLanguageURLs');
$aSslLanguageUrls = $myConfig->getConfigParam('aLanguageSSLURLs');
$aUrls = array();
if ($myConfig->getConfigParam('bl_perfLoadLanguages')) {
$aLanguages = oxRegistry::getLang()->getLanguageArray(null, true, true);
reset($aLanguages);
foreach ($aLanguages as $oVal) {
$this->_d3AddLanguageUrlsToList($aLanguageUrls, $oVal, $aSslLanguageUrls, $aUrls);
}
}
$this->_d3UnsetCurrentUrl($aUrls);
return $aUrls;
}
/**
* @param $aLanguageUrls
* @param $oVal
* @param $aSslLanguageUrls
* @param $aUrls
*
* @return array
*/
protected function _d3AddLanguageUrlsToList($aLanguageUrls, $oVal, $aSslLanguageUrls, &$aUrls)
{
$blIsSsl = oxRegistry::getConfig()->isSsl();
if ($this->_d3CheckLanguageUrlsToList($aLanguageUrls, $oVal, $blIsSsl)) {
$sUrl = $this->_d3GANormalizeUrl($aLanguageUrls[$oVal->id]);
$aUrls[md5($sUrl)] = "'" . $sUrl . "'";
}
if ($this->_d3CheckLanguageUrlsToList($aSslLanguageUrls, $oVal, !$blIsSsl)) {
$sSslUrl = $this->_d3GANormalizeUrl($aLanguageUrls[$oVal->id]);
$aUrls[md5($sSslUrl)] = "'" . $sSslUrl . "'";
}
return $aUrls;
}
/**
* @param $sUrl
*
* @return string
*/
protected function _d3GANormalizeUrl($sUrl)
{
$sPattern = "^http(s?)://";
/** @var \D3\ModCfg\Application\Model\d3str $oD3Str */
$oD3Str = oxNew(\D3\ModCfg\Application\Model\d3str::class);
return preg_replace('@'.$sPattern.'@', '', $oD3Str->untrailingslashit($sUrl));
}
/**
* @param $aUrls
*/
protected function _d3UnsetCurrentUrl(&$aUrls)
{
unset($aUrls[md5($this->_d3GANormalizeUrl(oxRegistry::getConfig()->getCurrentShopUrl()))]);
}
/**
* @param $aLanguageUrls
* @param $oVal
* @param $blIsSsl
*
* @return bool
*/
protected function _d3CheckLanguageUrlsToList($aLanguageUrls, $oVal, $blIsSsl)
{
return $blIsSsl || $aLanguageUrls[$oVal->id] != $aLanguageUrls[oxRegistry::getLang()->getBaseLanguage()];
}
/**
* @return string
*/
public function d3getCreateParameters()
{
$aParameter = array();
$aParameter = $this->_d3getCreateDomainNameParameter($aParameter);
$aParameter = $this->_d3getCreateCookiePathParameter($aParameter);
$aParameter = $this->_d3getCreateDomainLinkerParameter($aParameter);
$aParameter = $this->_d3getCreateSpeedSamplerateParameter($aParameter);
$aParameter = $this->_d3getCreateSamplerateParameter($aParameter);
if (count($aParameter)) {
return ", {".implode(',', $aParameter)."}";
}
return '';
}
/**
* @return string
*/
public function d3getSendPageViewParameters()
{
if (\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('sD3GAType') == 'async') {
return $this->_d3getAsyncSendpageViewParameters();
}
return $this->_d3getUniversalSendPageViewParameters();
}
/**
* @return string
*/
protected function _d3getAsyncSendpageViewParameters()
{
$aParameter = array();
/** @var oxUBase $oCurrentView */
$oCurrentView = oxRegistry::getConfig()->getActiveView();
$oCurrentView->getIsOrderStep();
$aParameter = $this->_d3getAsynchSendpageViewClassParameter($oCurrentView, $aParameter);
if (count($aParameter)) {
return ", " . implode(',', $aParameter) . "";
}
return '';
}
/**
* @return string
*/
protected function _d3getUniversalSendPageViewParameters()
{
$aParameter = array();
/** @var oxUBase $oCurrentView */
$oCurrentView = oxRegistry::getConfig()->getActiveView();
$oCurrentView->getIsOrderStep();
$aParameter = $this->_d3getUniversalSendPageViewPageParameter($oCurrentView, $aParameter);
$aParameter = $this->_d3getUniversalSendPageViewDebugParameter($aParameter);
if (count($aParameter)) {
return ", {" . implode(',', $aParameter) . "}";
}
return '';
}
/**
* @return bool
*/
protected function _d3HasNoPageParameter()
{
if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
return true;
}
return false;
}
/**
* 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
*/
public function d3GetGAPageType()
{
$oCurrentView = oxRegistry::getConfig()->getActiveView();
$key = strtolower($oCurrentView->getClassName());
if (array_key_exists($key, $this->aD3GAPageTypes)) {
return $this->aD3GAPageTypes[$key];
};
return 'other';
}
/**
* @return string
*/
public function d3GetGTSLang()
{
$aHomeCountries = oxRegistry::getConfig()->getConfigParam('aHomeCountry');
$aKeys = array_keys($aHomeCountries);
$sHomeCountryId = $aHomeCountries[current($aKeys)];
/** @var oxcountry $oCountry */
$oCountry = oxNew('oxcountry');
$oCountry->load($sHomeCountryId);
return strtolower(oxRegistry::getLang()->getLanguageAbbr()).'_'.
strtoupper($oCountry->getFieldData('OXISOALPHA2'));
}
/**
* @return array
*/
public function d3GATSGetProdInfos()
{
startProfile(__METHOD__);
$oCurrentView = oxRegistry::getConfig()->getActiveView();
$aArticleIds = array();
$sMethodName = 'get'.ucfirst($oCurrentView->getClassName())."ProdList";
$oArticleLister = oxNew('d3_google_trustedstore_articlelister');
if (method_exists($oArticleLister, $sMethodName)) {
stopProfile(__METHOD__);
return call_user_func(array($oArticleLister, $sMethodName), $oCurrentView);
}
stopProfile(__METHOD__);
return array('aArtIdList' => $aArticleIds);
}
/**
* @param array $aArticleIds
*
* @return string
*/
public function d3GATSGetProdIdList($aArticleIds)
{
if (count($aArticleIds)) {
$aKeys = array_keys($aArticleIds);
return $aArticleIds[current($aKeys)];
} else {
return "not_set";
}
}
/**
* @return array
*/
public function d3GetGAProdInfos()
{
startProfile(__METHOD__);
$oCurrentView = oxRegistry::getConfig()->getActiveView();
$aArticleIds = array();
$dPrice = 0;
$sMethodName = 'get'.ucfirst($oCurrentView->getClassName())."ProdList";
$oArticleLister = oxNew('d3_google_remarketing_articlelister');
if (method_exists($oArticleLister, $sMethodName)) {
stopProfile(__METHOD__);
$aRet = call_user_func(array($oArticleLister, $sMethodName), $oCurrentView);
stopProfile(__METHOD__);
return $aRet;
}
stopProfile(__METHOD__);
return array('aArtIdList' => $aArticleIds, 'dPrice' => $dPrice);
}
/**
* @param array $aArticleIds
*
* @return string
*/
public function d3GetGAProdIdList($aArticleIds, $blFormatArray = true)
{
if (count($aArticleIds)) {
return $blFormatArray ?
"['".implode("', '", $aArticleIds)."']" :
"'".implode(", ", $aArticleIds)."'";
} else {
return $blFormatArray ?
"''" :
false;
}
}
/**
* @param $aParameter
*
* @return array
*/
protected function _d3getCreateDomainNameParameter($aParameter)
{
if (\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('sD3GASetDomainName')) {
$aParameter[] = "'cookieDomain': '" . \D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('sD3GASetDomainName') . "'";
$aParameter[] = "'legacyCookieDomain': '" .
\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('sD3GASetDomainName') . "'";
return $aParameter;
}
return $aParameter;
}
/**
* @param $aParameter
*
* @return array
*/
protected function _d3getCreateCookiePathParameter($aParameter)
{
if (\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('sD3GASetCookiePath')) {
$aParameter[] = "'cookiePath': '" . \D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('sD3GASetCookiePath') . "'";
return $aParameter;
}
return $aParameter;
}
/**
* @param $aParameter
*
* @return array
*/
protected function _d3getCreateDomainLinkerParameter($aParameter)
{
if (\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('blD3GAAllowDomainLinker')) {
$aParameter[] = "'allowLinker': true";
return $aParameter;
}
return $aParameter;
}
/**
* @param $aParameter
*
* @return array
*/
protected function _d3getCreateSpeedSamplerateParameter($aParameter)
{
if (\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('iD3GASiteSpeedSampleRate')) {
$aParameter[] = "'siteSpeedSampleRate': " .
\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('iD3GASiteSpeedSampleRate');
return $aParameter;
}
return $aParameter;
}
/**
* @param $aParameter
*
* @return array
*/
protected function _d3getCreateSamplerateParameter($aParameter)
{
if (\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('iD3GASampleRate')) {
$aParameter[] = "'sampleRate': " . \D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('iD3GASampleRate');
return $aParameter;
}
return $aParameter;
}
/**
* @param oxUBase $oCurrentView
* @param array $aParameter
*
* @return array
*/
protected function _d3getAsynchSendpageViewClassParameter($oCurrentView, $aParameter)
{
if ($oCurrentView->getIsOrderStep() ||
strtolower($oCurrentView->getClassName()) == 'thankyou' ||
$this->_d3HasNoPageParameter()
) {
$aParameter[] = "'/{$oCurrentView->getClassName()}.html'";
return $aParameter;
}
return $aParameter;
}
/**
* @param oxUBase $oCurrentView
* @param array $aParameter
*
* @return array
*/
protected function _d3getUniversalSendPageViewPageParameter($oCurrentView, $aParameter)
{
if ($oCurrentView->getIsOrderStep() || strtolower($oCurrentView->getClassName()) == 'thankyou') {
$aParameter[] = "'page': '/{$oCurrentView->getClassName()}.html'";
$aParameter[] = "'title': 'Checkout: " . ucfirst($oCurrentView->getClassName()) . "'";
return $aParameter;
} elseif ($this->_d3HasNoPageParameter()) {
$aParameter[] = "'page': '/{$oCurrentView->getClassName()}.html'";
$aParameter[] = "'title': '" . ucfirst($oCurrentView->getClassName()) . "'";
return $aParameter;
}
return $aParameter;
}
/**
* @param $aParameter
*
* @return array
*/
protected function _d3getUniversalSendPageViewDebugParameter($aParameter)
{
if (\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->hasDebugMode()) {
$aParameter[] = "
'hitCallback': function() {
alert('analytics.js done sending data');
}
";
return $aParameter;
}
return $aParameter;
}
/**
* @return bool
*/
public function d3isMobile()
{
if (class_exists('oeThemeSwitcherThemeManager')) {
/** @var oeThemeSwitcherThemeManager $oThemeManager */
$oThemeManager = oxNew('oeThemeSwitcherThemeManager');
return $oThemeManager->isMobileThemeRequested();
}
return false;
}
/**
* @return int
*/
public function d3GetSendNoBounceEventTime()
{
$iTime = \D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModId)->getValue('iSendNoBounceEventTime');
if (isset($iTime) && is_int($iTime)) {
return $iTime;
}
return 10000;
}
}

Datei anzeigen

@ -0,0 +1,39 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @link http://www.aikme.de
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch) & aikme GmbH
*/
class d3_order_googleanalytics extends d3_order_googleanalytics_parent
{
public function init()
{
parent::init();
$this->_d3SetIsNewCustomer();
}
protected function _d3SetIsNewCustomer()
{
$oUser = $this->getUser();
$isNewCustomer = (isset($oUser) && $oUser instanceof oxuser) ? $oUser->inGroup('oxidnotyetordered') : 0 ;
oxRegistry::getSession()->setVariable('iD3GANewCustomer', (int)$isNewCustomer);
}
}

Datei anzeigen

@ -0,0 +1,290 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @link http://www.aikme.de
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch) & aikme GmbH
*/
class d3_thankyou_googleanalytics extends d3_thankyou_googleanalytics_parent
{
private $_sModCfgId = 'd3_googleanalytics';
public $aD3GAWeekendDays = array(
6, // Samstag
7, // Sonntag
);
/**
* Format Tag-Monat (jeweils mit führenden Nullen)
* @var array
*/
public $aD3GAfixFeastDays = array(
'01-01', // Neujahr
'01-05', // Tag der Arbeit
'03-10', // Tag der deutschen Einheit
'25-12', // 1. Weihnachtsfeiertag
'26-12', // 2. Weihnachtsfeiertag
);
protected $_blD3GADateChanged = false;
/**
* @return int
*/
public function isNewCustomer()
{
$iIsNewCustomer = oxRegistry::getSession()->getVariable("iD3GANewCustomer");
oxRegistry::getSession()->deleteVariable("iD3GANewCustomer");
return $iIsNewCustomer;
}
/**
* @param $sGACode
*/
public function logCode($sGACode)
{
\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModCfgId)->d3getLog()->log(
\D3\ModCfg\Application\Model\Log\d3log::NOTICE,
__CLASS__,
__FUNCTION__,
__LINE__,
'GA TrackingCode',
$sGACode
);
}
/**
* @return oxcountry
*/
public function d3GAGetUserCountry()
{
$sCountryId = $this->getOrder()->getFieldData('oxbillcountryid');
/** @var oxcountry $oCountry */
$oCountry = oxNew('oxcountry');
$oCountry->load($sCountryId);
return $oCountry;
}
/**
* @return string
*/
public function d3GAgetEstimatedShippingDate()
{
startProfile(__METHOD__);
$iTimeStamp = $this->_d3GAgetEstimatedDate('iEstShippingTimeValue', time());
stopProfile(__METHOD__);
return $iTimeStamp;
}
/**
* @return string
*/
public function d3GAgetEstimatedDeliveryDate()
{
startProfile(__METHOD__);
$iShippingDate = $this->d3GAgetEstimatedShippingDate();
$iTimeStamp = $this->_d3GAgetEstimatedDate('iEstDeliveryTimeValue', $iShippingDate);
stopProfile(__METHOD__);
return $iTimeStamp;
}
/**
* @param string $sModCfgVarName
* @param int $iTimestamp
*
* @return int
*/
protected function _d3GAgetEstimatedDate($sModCfgVarName, $iTimestamp)
{
// change shipping time for not on stock articles
if ($sModCfgVarName == 'iEstShippingTimeValue' && $this->hasOutOfStockArticles()) {
$sModCfgVarName = 'iEstShippingTimeValueOutOfStock';
}
$iTimeValue = \D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModCfgId)->getValue($sModCfgVarName);
for ($i = 0; $i < $iTimeValue; $i++) {
$iTimestamp += 86400;
// check, if transportation day is a working day, else transportation has a break
do {
$this->_blD3GADateChanged = false;
$iTimestamp = $this->_d3GAskipIdlePeriod($iTimestamp);
} while ($this->_blD3GADateChanged === true);
}
return $iTimestamp;
}
/**
* @param $iTimestamp
*
* @return int
*/
protected function _d3GAskipIdlePeriod($iTimestamp)
{
startProfile(__METHOD__);
$iWeekday = date('N', $iTimestamp);
if (in_array($iWeekday, $this->aD3GAWeekendDays)) {
$iOffset = 8 - $iWeekday;
$iTimestamp += $iOffset * 86400;
$this->_blD3GADateChanged = true;
}
stopProfile(__METHOD__);
return $this->_d3GAskipFeastDays($iTimestamp);
}
/**
* @param $iTimestamp
*
* @return int
*/
protected function _d3GAskipFeastDays($iTimestamp)
{
startProfile(__METHOD__);
while (in_array(date('d-m', $iTimestamp), $this->aD3GAfixFeastDays)) {
$iTimestamp += 86400;
$this->_blD3GADateChanged = true;
}
stopProfile(__METHOD__);
return $iTimestamp;
}
/**
* @return string
*/
public function d3GAhasBackorderPreorder()
{
return $this->hasOutOfStockArticles() ? 'Y' : 'N';
}
/**
* @param oxorderarticle $oOrderArticle
*
* @return bool
*/
protected function _d3GAhasArticleBackorderPreorder(oxorderarticle $oOrderArticle)
{
/** @var oxarticle $oArticle */
$oArticle = $oOrderArticle->getArticle();
if ($oArticle->getFieldData('oxstockflag') != 4 // Fremdlager
&& $oOrderArticle->getFieldData('oxamount') > $oOrderArticle->getFieldData('oxstock')
) {
return true;
}
return false;
}
/**
* @return string
*/
public function d3GAhasDigitalGoods()
{
/** @var oxorderarticle $oOrderArticle */
foreach ($this->getOrder()->getOrderArticles() as $oOrderArticle) {
if ($this->_d3GAhasArticleDigitalGoods($oOrderArticle)) {
return 'Y';
}
};
return 'N';
}
/**
* @param oxorderarticle $oOrderArticle
*
* @return bool
*/
protected function _d3GAhasArticleDigitalGoods(oxorderarticle $oOrderArticle)
{
/** @var oxarticle $oArticle */
$oArticle = $oOrderArticle->getArticle();
$oArticleFileList = $oArticle->getArticleFiles();
if ($oArticle->getFieldData('oxisdownloadable')
&& $oArticleFileList->count()
) {
if ($this->_d3GAhasArticlePurchasedDownload($oArticleFileList)) {
return true;
}
}
return false;
}
/**
* @param oxList $oArticleFileList
*
* @return bool
*/
protected function _d3GAhasArticlePurchasedDownload(oxList $oArticleFileList)
{
/** @var oxfile $oArticleFile */
foreach ($oArticleFileList->getArray() as $oArticleFile) {
if ($oArticleFile->getFieldData('oxpurchasedonly')) {
return true;
}
}
return false;
}
/**
* @param oxorderarticle $oOrderArticle
*
* @return string
*/
public function d3GAgetProductId($oOrderArticle)
{
switch (\D3\ModCfg\Application\Model\Configuration\d3_cfg_mod::get($this->_sModCfgId)->getValue('sD3GATSShoppingArtId')) {
case 'oxartnum':
return $oOrderArticle->getFieldData('oxartnum');
case 'oxid':
return $oOrderArticle->getFieldData('oxartid');
};
return $oOrderArticle->getFieldData(\D3\ModCfg\Application\Model\Configuration\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;
}
}

Datei anzeigen

@ -0,0 +1,36 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_oxutilsview_googleanalytics extends d3_oxutilsview_googleanalytics_parent
{
/**
* @param object $oSmarty
*
* @return null|void
*/
protected function _fillCommonSmartyProperties($oSmarty)
{
parent::_fillCommonSmartyProperties($oSmarty);
$oSmarty->plugins_dir[] =
oxRegistry::getConfig()->getActiveView()->getViewConfig()->getModulePath('d3_googleanalytics').
'core/smarty/plugins';
}
}

Datei anzeigen

@ -0,0 +1,91 @@
<?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 = '';
/** @var \OxidEsales\Eshop\Application\Controller\FrontendController $oView */
$oView = oxRegistry::getConfig()->getActiveView();
if (method_exists($oView, 'getBreadCrumb') &&
($aPaths = $oView->getBreadCrumb())
) {
foreach ($aPaths as $aPath) {
$sTitle .= "/".$aPath['title'];
}
} elseif ($oView->getClassName() == 'details' &&
(
(
($oCatTree = $oView->getCategoryTree()) &&
($oCatPath = $oCatTree->getPath())
) || (
($oCatTree = $oView->getManufacturerTree()) &&
($oCatPath = $oCatTree->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;
}
}

Datei anzeigen

@ -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;
}
}

Datei anzeigen

@ -0,0 +1,139 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
class d3_oxorder_googleanalytics extends d3_oxorder_googleanalytics_parent
{
/**
* @return oxUserPayment
*/
public function getPayment()
{
if (!$this->_oPayment) {
$this->_oPayment = oxNew('oxpayment');
$this->_oPayment->Load($this->getFieldData('oxpaymenttype'));
}
return parent::getPayment();
}
/**
* @return array
*/
public function d3getVoucherSerieList()
{
$sSelect =
"SELECT oxvoucherserieid FROM oxvouchers WHERE oxorderid = " . oxDb::getDb()->quote($this->getId());
$aVoucherIds = (array) oxDb::getDb()->getAll($sSelect);
$aVoucherSerieList = array();
foreach ($aVoucherIds as $aVoucherId) {
$oVoucherSerie = oxNew('oxvoucherserie');
$oVoucherSerie->Load($aVoucherId[0]);
$aVoucherSerieList[] = $oVoucherSerie;
}
return $aVoucherSerieList;
}
/**
* @param array $aArticleList
*
* @return null|void
*/
protected function _setOrderArticles($aArticleList)
{
parent::_setOrderArticles($aArticleList);
/** @var d3_oxbasketitem_googleanalytics $oBasketItem */
foreach ($aArticleList as $oBasketItem) {
/** @var oxorderarticle $oOrderArticle */
foreach ($this->_oArticles as $sArticleId => $oOrderArticle) {
$blArtIdMatch = $oOrderArticle->getFieldData('oxartid') == $oBasketItem->getProductId();
$blAmountMatch = $oOrderArticle->getFieldData('oxamount') == $oBasketItem->getAmount();
$blPersParamMatch = (null == $oBasketItem->getPersParams() || $oOrderArticle->getFieldData('oxpersparam') == $oBasketItem->getPersParams());
if ($blArtIdMatch && $blAmountMatch && $blPersParamMatch) {
$this->_oArticles->offsetGet($sArticleId)->assign(array('d3_galocator' => $oBasketItem->d3GetLocatorTitle()));
}
}
}
}
/**
* @return float
*/
public function d3GetOrderPayVat()
{
return round(
($this->getFieldData('oxpaycost') / (1 + $this->getFieldData('oxpayvat') / 100))
* ($this->getFieldData('oxpayvat')),
$this->getOrderCurrency()->decimal
) / 100;
}
/**
* @return float
*/
public function d3GetOrderDelVat()
{
return round(
($this->getFieldData('oxdelcost') / (1 + $this->getFieldData('oxdelvat') / 100))
* ($this->getFieldData('oxdelvat')),
$this->getOrderCurrency()->decimal
) / 100;
}
/**
* @return float
*/
public function d3GetOrderWrapVat()
{
return round(
($this->getFieldData('oxwrapcost') / (1 + $this->getFieldData('oxwrapvat') / 100))
* ($this->getFieldData('oxwrapvat')),
$this->getOrderCurrency()->decimal
) / 100;
}
/**
* @return float
*/
public function d3GetOrderCardVat()
{
return round(
($this->getFieldData('oxcardcost') / (1 + $this->getFieldData('oxcardvat') / 100))
* ($this->getFieldData('oxcardvat')),
$this->getOrderCurrency()->decimal
) / 100;
}
/**
* @return float
*/
public function d3GetTaxTotal()
{
$dVat = $this->getFieldData('oxartvatprice1')
+ $this->getFieldData('oxartvatprice2')
+ $this->d3GetOrderPayVat()
+ $this->d3GetOrderDelVat()
+ $this->d3GetOrderWrapVat()
+ $this->d3GetOrderCardVat();
return sprintf('%.2f', $dVat);
}
}

Datei anzeigen

@ -0,0 +1,16 @@
#d3GAOptOut {
position : fixed;
bottom : -3px;
left : -5px;
font-size : 11px;
padding : 4px 20px 6px 17px;
background : none repeat scroll 0 0 #fff;
opacity : 0.6;
z-index : 9999;
border : 1px solid #d3d3d3;
border-radius : 3px;
}
#d3GAOptOut a {
display : block;
}

Datei anzeigen

@ -0,0 +1,3 @@
#d3GAOptOut {
font-size : 14px;
}

10
src/out/src/d3_googleanalytics_test.js vendored Normale Datei
Datei anzeigen

@ -0,0 +1,10 @@
if (null === document.body) {
// add body tag, if it's missing because framesets
var b=document.createElement('body');
b.style.display='none';
document.getElementsByTagName('html')[0].appendChild(b);
}
var e=document.createElement('div');
e.id='SePiRENuJOBWx';
e.style.display='none';
document.body.appendChild(e);

BIN
src/picture.png Normale Datei

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 4.6 KiB

Datei anzeigen

@ -0,0 +1,340 @@
<?php
use D3\ModCfg\Application\Model\Install\d3install_updatebase;
/**
* 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 (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
class d3_googleanalytics_update extends d3install_updatebase
{
public $sModKey = 'd3_googleanalytics';
public $sModName = 'Google Services Schnittstelle';
public $sModVersion = '4.1.0.0';
public $sModRevision = '4100';
// heredoc syntax using for class members is available from PHP 5.3 up
public $sBaseConf = <<<KEY
--------------------------------------------------------------------------------
8DOv2==OTg1M21icytjd0t4Nmc5bHFma2JBYS9acE13V2JlNFVuV3JGTWV2STl6czVaWTdic01abERDN
WVMYXZ5L2lkZEYzaG1GMzFLb1RQOWtGdVFEVzVIeDFKdDQyWis4MGwvWW5BTGFFQlZhS0hkbHM1OWNMZ
Fd0TlpLK1p1T0RzSWFScERIdUtQa1QzcS85M3NQNXNBc0o5OFlHZmdFbm5EVzhxcExrSUhPUjdlR253U
FVEbnkxRmhaNnBpcERIbDl0K0JrZVFVYUdiU21SNXkwdG5HTURrb3J0NXZMQzNsM05GdktNelpia09VT
itsSE10OXdlVWhxekZlZ0YxTmswQ1MyeENtT3FQNGlGcHJIVkZCbWo1WkNzekxTc1VmOVNWaS9qSzZYV
EhRUXhBTmNuWm9TaVRoUnZHZ3J5NkN2a1VqSy9NWVdxRkNLc0w1cHdzVCtYT2tBPT0=
--------------------------------------------------------------------------------
KEY;
public $sRequirements = '';
public $sBaseValue = <<<KEY
--------------------------------------------------------------------------------
173v2==MjVveS9GVlBiQ3JIWWJvRlhhMFpRTFdnLzIvaDUzUnFyMGEwQ2Fla3JnTjkyd3hnL2dBMUgxV
XpiZE9RbEVKRmNCMzV3bXl6YWdRSnRqRFdicWQybk9iVjVocWZydXFJZElrUGhyUmNiTS9UQ04yVUpIV
klyM0t4YTVzZURoQWVQT2N6L0xod3hhamRvWUkrSkRtUHEyS21oTUp1UXhrSU5IYTFac3hoTWZmZHlLa
U44aURva05Iem4vZE4rcEV6NEpZaEZienVFVEpIOGZjdjBKMy9QVTI5VVAydVpwMFNZN2FEMnNQT09Cd
0xCaEVvTjdMWGVXSU9tSkNDWWRHenppZENrVVpHMlhiSERFV1B3YzhLYVJ4dys4T0c0K3lRUEw1VUVpN
kNhbVlPdWpyRHNRY2g5M0k0ZkxJbzcrZEhvWExMSzlxOVpydDRVWFQxcG93aUpBPT0=
--------------------------------------------------------------------------------
KEY;
protected $_aUpdateMethods = array(
array(
'check' => 'checkModCfgItemExist',
'do' => 'updateModCfgItemExist'
),
array(
'check' => 'checkFields',
'do' => 'fixFields'
),
array(
'check' => 'checkContentGANoticeItemExist',
'do' => 'updateContentGANoticeItemExist'
),
array(
'check' => 'checkModCfgSameRevision',
'do' => 'updateModCfgSameRevision'
),
);
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');
/**
* @return bool
*/
public function checkModCfgItemExist()
{
$blRet = false;
foreach ($this->getShopList() as $oShop) {
/** @var $oShop oxshop */
$aWhere = array(
'oxmodid' => $this->sModKey,
'oxnewrevision' => $this->sModRevision,
'oxshopid' => $oShop->getId(),
);
$blRet = $this->_checkTableItemNotExist('d3_cfg_mod', $aWhere);
if ($blRet) {
return $blRet;
}
}
return $blRet;
}
/**
* @return bool
*/
public function updateModCfgItemExist()
{
$blRet = false;
if ($this->checkModCfgItemExist()) {
foreach ($this->getShopList() as $oShop) {
/** @var $oShop oxshop */
$aWhere = array(
'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']);
$aInsertFields = array(
'OXID' => array(
'content' => "md5('" . $this->sModKey . " " . $oShop->getId() . "')",
'force_update' => false,
'use_quote' => false,
),
'OXSHOPID' => array(
'content' => $oShop->getId(),
'force_update' => false,
'use_quote' => true,
),
'OXMODID' => array(
'content' => $this->sModKey,
'force_update' => true,
'use_quote' => true,
),
'OXNAME' => array(
'content' => $this->sModName,
'force_update' => true,
'use_quote' => true,
),
'OXACTIVE' => array(
'content' => "0",
'force_update' => false,
'use_quote' => false,
),
'OXBASECONFIG' => array(
'content' => $this->sBaseConf,
'force_update' => true,
'use_quote' => true,
),
'OXINSTALLDATE' => array(
'content' => "NOW()",
'force_update' => true,
'use_quote' => false,
),
'OXVERSION' => array(
'content' => $this->sModVersion,
'force_update' => true,
'use_quote' => true,
),
'OXSHOPVERSION' => array(
'content' => oxRegistry::getConfig()->getEdition(),
'force_update' => true,
'use_quote' => true,
),
'OXREQUIREMENTS' => array(
'content' => $this->sRequirements,
'force_update' => true,
'use_quote' => true,
),
'OXVALUE' => array(
'content' => $this->sBaseValue,
'force_update' => false,
'use_quote' => true,
),
'OXNEWREVISION' => array(
'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__);
$this->setUpdateBreak(false);
if ($this->getStepByStepMode()) {
break;
}
}
}
}
return $blRet;
}
/**
* @return bool
*/
public function checkContentGANoticeItemExist()
{
$blRet = false;
foreach ($this->getShopList() as $oShop) {
/** @var $oShop oxshop */
$aWhere = array(
'oxloadid' => 'Analytics_Security_Informations',
'oxshopid' => $oShop->getId(),
);
$blRet = $this->_checkTableItemNotExist('oxcontents', $aWhere);
if ($blRet) {
return $blRet;
}
}
return $blRet;
}
/**
* @return bool
*/
public function updateContentGANoticeItemExist()
{
$blRet = false;
if ($this->checkContentGANoticeItemExist()) {
foreach ($this->getShopList() as $oShop) {
/** @var $oShop oxshop */
$aWhere = array(
'oxloadid' => 'Analytics_Security_Informations',
'oxshopid' => $oShop->getId(),
);
if ($this->_checkTableItemNotExist('oxcontents', $aWhere)) {
$aInsertFields = array(
'OXID' => array(
'content' => "md5(RAND())",
'force_update' => false,
),
'OXLOADID' => array(
'content' => "'Analytics_Security_Informations'",
'force_update' => true,
),
'OXSHOPID' => array(
'content' => "'" . $oShop->getId() . "'",
'force_update' => true,
),
'OXSNIPPET' => array(
'content' => "'1'",
'force_update' => false,
),
'OXTYPE' => array(
'content' => "'0'",
'force_update' => false,
),
'OXACTIVE' => array(
'content' => "'1'",
'force_update' => false,
),
'OXACTIVE_1' => array(
'content' => "'1'",
'force_update' => false,
),
'OXPOSITION' => array(
'content' => "''",
'force_update' => false,
),
'OXTITLE' => array(
'content' => "'Analytics Datenschutz Information'",
'force_update' => false,
),
'OXCONTENT' => array(
'content' => "'<p>Diese Website benutzt Google Analytics, einen Webanalysedienst der Google\r\n\r\nInc. (&quot;Google&quot;). Google Analytics verwendet sog. &quot;Cookies&quot;, 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,
),
'OXCATID' => array(
'content' => "''",
'force_update' => false,
),
'OXFOLDER' => array(
'content' => "'CMSFOLDER_USERINFO'",
'force_update' => false,
),
);
$aRet = $this->_updateTableItem2('oxcontents', $aInsertFields, $aWhere);
$blRet = $aRet['blRet'];
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
$this->setUpdateBreak(false);
if ($this->getStepByStepMode()) {
break;
}
}
}
}
return $blRet;
}
/**
* @return bool
*/
public function checkModCfgSameRevision()
{
return $this->_checkModCfgSameRevision($this->sModKey);
}
/**
* @return bool
*/
public function updateModCfgSameRevision()
{
$blRet = false;
if ($this->checkModCfgSameRevision($this->sModKey)) {
$aRet = $this->_updateModCfgSameRevision($this->sModKey);
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
$this->setUpdateBreak(false);
$blRet = $aRet['blRet'];
}
return $blRet;
}
}

Datei anzeigen

@ -0,0 +1,13 @@
<?php
$sLangName = "Deutsch";
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
//Navigation
'charset' => 'UTF-8',
'D3_GOOGLEANALYTICS_OPTOUT' => 'Klicken Sie hier, um Google Analytics zu deaktivieren.',
);

Datei anzeigen

@ -0,0 +1,13 @@
<?php
$sLangName = "English";
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
//Navigation
'charset' => 'UTF-8',
'D3_GOOGLEANALYTICS_OPTOUT' => 'Click here to opt-out of Google Analytics.',
);

Datei anzeigen

@ -0,0 +1,421 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
$sLangName = "Deutsch";
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
//Navigation
'charset' => 'UTF-8',
'd3mxgoogleanalytics' => "<i class='fa fa-google'></i> Google Services",
'd3mxgoogleanalytics_settings' => 'Einstellungen',
'd3tbclgoogleanalytics_main' => 'Analytics',
'd3tbclgoogleanalytics_adwords' => 'AdWords',
'd3tbclgoogleanalytics_trustedstore' => 'zertifizierter Händler',
'D3_GOOGLEANALYTICS_CFG_TITLE' => 'Google Analytics Schnittstelle - Einstellungen',
'D3_GOOGLEANALYTICS_MAIN' => 'Grundeinstellungen',
'D3_GOOGLEANALYTICS_MAIN_DEBUG' => 'Aktivieren Sie mit dem Schalter den Debugmodus.'.
' Nach dem erfolgreichen &Uuml;bertragen des Trackingcodes erhalten Sie eine Meldung im Browser gezeigt. '.
'Deaktivieren Sie die Funktion f&uuml;r den Livebetrieb.',
'D3_GOOGLEANALYTICS_DESC' => 'Diese Einstellungen betreffen den Dienst '.
'<a href="http://www.google.com/analytics/" target="_blank">"Google Analytics"</a>. '.
'Möchten Sie diesen nutzen, melden Sie sich auf der Webseite dafür an.',
'D3_GOOGLEANALYTICS_DESC1' => 'Während der Anmeldung werden Sie aufgefordert, '.
'einen Trackingcode in den Quelltext Ihrer Seite einzukopieren. Dies erledigt das vorliegende Modul für Sie. '.
'Die Einstellungen zum Trackingcode nehmen Sie ebenfalls hier vor.',
'D3_GOOGLEANALYTICS_MAIN_GATYPE' => 'TrackingCode-Typ',
'D3_GOOGLEANALYTICS_MAIN_GATYPE_UNIVERSAL' => 'Universal',
'D3_GOOGLEANALYTICS_MAIN_GATYPE_UNIVERSAL_DESC' => 'F&uuml;r den Wechsel auf den Universal-'.
'Analytics-Trackingcode sind vorab &Auml;nderungen in Ihrem Analytics-Konto durchzuf&uuml;hren. Bitte '.
'konsultieren Sie vorab den Analytics-Migrationsleitfaden. Den Link finden Sie im Erkl&auml;rungstext '.
'dieser Option.\\n\\nBitte beachten Sie, dass mit Wechsel des Trackingcodes m&ouml;glicherweise andere '.
'Optionen im Modul verf&uuml;gbar sind. Kontrollieren Sie diese bitte noch einmal.',
'D3_GOOGLEANALYTICS_MAIN_GATYPE_ASYNC' => 'asynchron',
'D3_GOOGLEANALYTICS_MAIN_GATYPE_ASYNC_DESC' => 'Ein Wechsel vom neuen Universal-Analytics-'.
'Trackingcode zum bisherigen asynchronen Trackingcode wird von Google nicht angeboten. &Auml;ndern Sie diese '.
'Einstellung nur, wenn Ihr Analytics-Account noch auf dem asynchronen Trackingcode basiert.\\n\\nBitte '.
'beachten Sie, dass mit Wechsel des Trackingcodes m&ouml;glicherweise andere Optionen im Modul verf&uuml;gbar '.
'sind. Kontrollieren Sie diese bitte noch einmal.',
'D3_GOOGLEANALYTICS_MAIN_GATYPE_DESC' => 'Aktuell priorisiert Google den Trackingtyp '.
'"Universal". Setzen Sie hier den Typ, den Sie in Ihrem Analytics-Konto auch verwenden. Nutzen Sie noch den '.
'asynchronen Trackingcode, lesen Sie vor der Umstellung den <a href="'.
'https://support.google.com/analytics/answer/3450662?hl=de" target="gahelp">Leitfaden</a> zum Wechsel.<br><br>'.
'Manche der folgenden Optionen stehen Ihnen nur f&uuml;r einen Tracking-Typ zur Verf&uuml;gung und sind daher '.
'm&ouml;glicherweise ausgegraut.',
'D3_GOOGLEANALYTICS_MAIN_GAID' => 'Analyics-ID',
'D3_GOOGLEANALYTICS_MAIN_GAID_DESC' => 'F&uuml;gen Sie hier die Google Analytics '.
'Konto-ID ein. Diese finden Sie in Ihrem GA-Konto und beginnt im Normalfall mit "UA-".',
'D3_GOOGLEANALYTICS_MAIN_ANONYMIZEIP' => 'IP-Adressen anonymisiert &uuml;bertragen '.
'(dringend empfohlen)',
'D3_GOOGLEANALYTICS_MAIN_ANONYMIZEIP_DESC' => '<p>Die IP-Adressen Ihrer Shopbesucher werden '.
'anonymisiert. Zwar werden dadurch die Gebietszuordnungen etwas ungenauer. Jedoch k&ouml;nnen Sie nur mit '.
'dieser Einstellung den Datenschutzvorschriften in Deutschland entsprechen.</p><p>Weitere Informationen zu '.
'dieser Option finden Sie in der '.
'<a href="https://www.google.de/search?q=Analytics+anonymizeIp" target="gahelp">Google-Suche</a>.</p>',
'D3_GOOGLEANALYTICS_MAIN_SAMPLERATE' => "Tracking auswerten bei...",
'D3_GOOGLEANALYTICS_MAIN_SAMPLERATE_DESC' => '<p>Im Regelfall werden die &uuml;bertragenen '.
'Daten f&uuml;r alle Seitenbesucher ausgewertet und aufbereitet. Shops mit sehr hohem Besucheraufkommen '.
'geraten hiermit jedoch m&ouml;glicherweise an Limitierungen, die von Google gesetzt werden. Mit diesem Wert '.
'k&ouml;nnen Sie einstellen, wieviel Prozent der Besucherdaten von Google tats&auml;chlich ausgewertet werden '.
'sollen. Reduzieren Sie die Zahl, um Beschr&auml;nkungen zu umgehen.</p><p>Weitere Informationen zu '.
'dieser Option finden Sie in der <a href="https://www.google.de/search?q=Analytics+sampleRate+-siteSpeed" '.
'target="gahelp">Google-Suche </a>.</p>',
'D3_GOOGLEANALYTICS_MAIN_SAMPLERATE_1' => "% aller Besucher",
'D3_GOOGLEANALYTICS_MAIN_TRACKPAGELOADTIME' => 'Seitenladezeit mit &uuml;bertragen',
'D3_GOOGLEANALYTICS_MAIN_TRACKPAGELOADTIME_DESC' => '<p>Die Ladezeit Ihrer Seite ist, speziell auch '.
'in Hinblick auf verschiedene L&auml;nder, durchaus ein Faktor, der in das Ranking Ihrer Page einfliesst.<br>'.
'<br>Bei Universal-Analytics wird die Seitenladezeit generell &uuml;bertragen. Durch die Aktivierung dieser '.
'Option wird eine genauere Auswertung zus&auml;tzlich als Event &uuml;bergeben.</p><p>Weitere Informationen '.
'zu dieser Option finden Sie in der <a href="https://www.google.de/search?q=Analytics+track+page+load+time" '.
'target="gahelp">Google-Suche </a>.</p>',
'D3_GOOGLEANALYTICS_MAIN_SITESPEEDSAMPLERATE' => "Seitengeschwindigkeit messen bei...",
'D3_GOOGLEANALYTICS_MAIN_SITESPEEDSAMPLERATE_DESC' => '<p>Die Seitenladegeschwindigkeit wird nicht '.
'bei jedem Seitenaufruf gemessen. Bei wenig frequentierten Seiten verzerrt dies jedoch das Ergebnis. Soll der '.
'Standardwert von 1% ge&auml;ndert werden, tragen Sie den gew&uuml;nschten Wert hier ein. F&uuml;r Webseiten '.
'mit mehr als 1 Million Besuchern pro Tag wird dieser Wert von Google fix auf 1% gestellt.</p><p>Weitere '.
'Informationen zu dieser Option finden Sie in der '.
'<a href="https://www.google.de/search?q=Analytics+site+speed+sample+rate" target="gahelp">Google-Suche </a>.'.
'</p>',
'D3_GOOGLEANALYTICS_MAIN_SITESPEEDSAMPLERATE_1' => "% aller Besucher",
'D3_GOOGLEANALYTICS_MAIN_USEREMARKETING' => 'Remarketing-Auswertung erm&ouml;glichen',
'D3_GOOGLEANALYTICS_MAIN_USEREMARKETING_DESC' => '<p>Wenn Sie sich entschlie&szlig;en, '.
'Remarketing zu nutzen, setzen Sie diesen Haken. Nachdem Sie diese &Auml;nderung vorgenommen haben, '.
'erfasst und analysiert Google Analytics neben den &uuml;blichen Informationen auch das DoubleClick-Cookie, '.
'sofern vorhanden. Das DoubleClick-Cookie erm&ouml;glicht Remarketing im Google Display-Netzwerk f&uuml;r '.
'Produkte wie AdWords. Je nach verwendetem Tracking-Typ muss die Erfassung von Informationen aus dem Display-'.
'Netzwerk im Analytics-Konto aktiviert werden.</p><p>Weitere '.
'Informationen zu dieser Option finden Sie in der '.
'<a href="https://www.google.de/search?q=Analytics+require+displayfeatures" target="gahelp">Google-Suche </a>.'.
'</p>',
'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_SENDTIMEEVENT2' => 'Millisekunden (1000 = 1 Sekunde)',
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT_DESC' => '<p>Analytics wertet alle Seitenbucher, die '.
'sich nur eine Seite angesehen habe und dann den Shop verlassen, automatisch als Abbrecher. Zur '.
'Informationsbeschaffung reicht dem Kunden jedoch möglicherweise dieser eine Seitenbesuch aus. Sein Ziel '.
'konnte er erreichen. Demnach ist er eigentlich kein Abbrecher. Das Modul sendet automatisch nach der '.
'angegebenen Sekundenzahl ein EventTracking. Damit wertet Analytics diesen Besucher nur als Abbrecher, wenn '.
'er den Shop vor Ablauf dieser Zeit wieder verlässt. Verweilt er länger im Shop, wird der Besuch dann als '.
'Erfolg gewertet.</p><p>Diese Tracking-Veränderung stellt die Absprungrate daher im Analytics wesentlich '.
'genauer dar. Der Standardwert ist auf 10 Sekunden gesetzt. Ändern Sie bei Bedarf diese Angabe.</p><p>Weitere '.
'Informationen zu dieser Option finden Sie in der '.
'<a href="https://www.google.de/search?q=Analytics+_trackEvent+noBounce" target="gahelp">Google-Suche</a>.</p>',
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDSCROLLEVENT' => 'Seitenbesucher nicht als Abbrecher werten, '.
'wenn gescrollt wurde',
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDSCROLLEVENT_DESC' => '<p>Analytics wertet alle Seitenbucher, die '.
'sich nur eine Seite angesehen habe und dann den Shop verlassen, automatisch als Abbrecher. Zur '.
'Informationsbeschaffung reicht dem Kunden jedoch möglicherweise dieser eine Seitenbesuch aus. Sein Ziel '.
'konnte er erreichen. Demnach ist er eigentlich kein Abbrecher. Das Modul sendet automatisch ein '.
'EventTracking, wenn der Besucher die Seite gescrollt hat. Damit wertet Analytics diesen Besucher nur als '.
'Abbrecher, wenn er den Shop ohne Scrollen wieder verlässt.</p><p>Diese Tracking-Veränderung stellt die '.
'Absprungrate daher im Analytics wesentlich genauer dar.</p><p>Weitere Informationen zu dieser Option finden '.
'Sie in der <a href="https://www.google.de/search?q=_trackEvent+noBounce+scroll" target="gahelp">Google-Suche'.
'</a>.</p>',
'D3_GOOGLEANALYTICS_ECOMMERCE' => 'eCommerce-Einstellungen',
'D3_GOOGLEANALYTICS_ECOMMERCE_SENDDATA' => 'eCommerce-Daten &uuml;bertragen',
'D3_GOOGLEANALYTICS_ECOMMERCE_SENDDATA_DESC' => '<p>Mit dieser Einstellung werden '.
'Warenkorbdaten Ihrer Kunden an Analytics &uuml;bertragen. Damit k&ouml;nnen Sie z.B. die Produktleistung und '.
'Umsatzzahlen ermitteln. Diese Option muss auch in Ihrem Analytics-Konto aktiviert werden.</p><p>Weitere '.
'Informationen zu dieser Option finden Sie in der '.
'<a href="https://www.google.de/search?q=Analytics+ecommerce+tracking" target="gahelp">Google-Suche </a>.</p>',
'D3_GOOGLEANALYTICS_ECOMMERCE_USENETTO' => 'Netto-Preise &uuml;bertragen, wenn '.
'verf&uuml;gbar',
'D3_GOOGLEANALYTICS_ECOMMERCE_USENETTO_DESC' => 'Betreiben Sie einen B2B-Shop, &uuml;bertragen '.
'Sie Ihre Artikelpreise netto an Analytics, wenn diese auch im Shop ohne Steuer zur Verf&uuml;gung stehen. ',
'D3_GOOGLEANALYTICS_DOMAIN' => 'Multi-Domain-Einstellungen',
'D3_GOOGLEANALYTICS_DOMAIN_SETALLOWLINKER' => 'Trackingdaten von unterschiedlichen Domains '.
'verwenden',
'D3_GOOGLEANALYTICS_DOMAIN_SETALLOWLINKER_DESC' => '<p>Cross Domain Tracking erlaubt das Sammeln '.
'von Trackinginformationen auch &uuml;ber verschiedene Domains hinweg.</p><p>Weitere Informationen finden '.
'Sie <a href="https://www.google.de/search?q=Analytics+_setAllowLinker" target="gahelp">hier</a>.</p>',
'D3_GOOGLEANALYTICS_DOMAIN_SETDOMAINNAME' => 'fixiert das Tracking-Cookie auf die angegebene '.
'Domain (optional)',
'D3_GOOGLEANALYTICS_DOMAIN_SETDOMAINNAME_DESC' => '<p>Lassen Sie dieses Feld leer, ist das '.
'Tacking-Cookie f&uuml;r unterschiedliche Seiten g&uuml;ltig. Wenn Sie statt dessen eine Domain angeben, ist '.
'das gesetzte Cookie nur f&uuml;r Seiten unter dieser Domain g&uuml;ltig. Andere zu trackende Seiten setzen '.
'dann ein neues Cookie.<br><br>Der Eintrag sollte hier so aussehen: .yourDomainName.com</p><p>Weitere '.
'Informationen finden Sie <a href="https://www.google.de/search?q=Analytics+_setDomainName" target="gahelp">'.
'hier</a>.</p>',
'D3_GOOGLEANALYTICS_DOMAIN_SETCOOKIEPATH' => 'Tracking nur auf ein Verzeichnis '.
'beschr&auml;nken (optional)',
'D3_GOOGLEANALYTICS_DOMAIN_SETCOOKIEPATH_DESC' => '<p>Ein Eintrag hier sollte so aussehen: '.
'/myStore/</p><p>Weitere Informationen finden Sie '.
'<a href="https://www.google.de/search?q=Analytics+set+Cookie+Path" target="gahelp">hier</a>.</p>',
'D3_GOOGLEANALYTICS_DOMAIN_COOKIEPATHCOPY' => 'Cookie Informationen werden in das Verzeichnis '.
'der selben Domain kopiert (optional)',
'D3_GOOGLEANALYTICS_DOMAIN_COOKIEPATHCOPY_DESC' => '<p>Ein Eintrag hier sollte so aussehen: '.
'/myStore/<br>Diese Option ist nur f&uuml;r den asynchronen Trackingcode verf&uuml;gbar.</p><p>Weitere '.
'Informationen finden Sie <a href="https://www.google.de/search?q=Analytics+set+Cookie+Path" target="gahelp">'.
'hier</a>.</p>',
'D3_GOOGLEANALYTICS_BROWSER' => 'Browser-Daten',
'D3_GOOGLEANALYTICS_BROWSER_SETCLIENTINFO' => '<span style="font-weight: bold;">Deaktiviert'.
'</span> die Erkennung von Browserdaten (z.B. Name und Version). Diese Einstellung steht f&uuml;r Universal '.
'Analytics nicht mehr zur Verf&uuml;gung',
'D3_GOOGLEANALYTICS_BROWSER_SETCLIENTINFO_DESC' => 'Weitere Informationen finden Sie '.
'<a href="https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiWebClient?hl=es#'.
'_gat.GA_Tracker_._getClientInfo" target="gahelp">hier</a>. Diese Einstellung steht f&uuml;r Universal '.
'Analytics nicht mehr zur Verf&uuml;gung',
'D3_GOOGLEANALYTICS_BROWSER_SETDETECTFLASH' => '<span style="font-weight: bold;">Unterbindet'.
'</span> die Erkennung, ob beim Kunden das Flash-Plugin installiert ist.',
'D3_GOOGLEANALYTICS_BROWSER_SETDETECTFLASH_DESC' => 'Weitere Informationen finden Sie '.
'<a href="https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiWebClient?hl=es#'.
'_gat.GA_Tracker_._setDetectFlash" target="gahelp">hier</a>. Diese Einstellung steht f&uuml;r Universal '.
'Analytics nicht mehr zur Verf&uuml;gung',
'D3_GOOGLEANALYTICS_BROWSER_SETDETECTTITLE' => '<span style="font-weight: bold;">Verhindert'.
'</span> die Erkennung des Seitentitels.',
'D3_GOOGLEANALYTICS_BROWSER_SETDETECTTITLE_DESC' => 'Weitere Informationen finden Sie '.
'<a href="https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiWebClient?hl=es#'.
'_gat.GA_Tracker_._setDetectTitle" target="gahelp">hier</a>. Diese Einstellung steht f&uuml;r Universal '.
'Analytics nicht mehr zur Verf&uuml;gung',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING' => 'Remarketing (via Analytics)',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING_TRANSMIT' => 'Remarketingdaten als individuelle Daten &uuml;bertragen',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING_TRANSMIT_DESC' => 'Aktivieren Sie die Option, wenn Sie die '.
'Remarketingdaten au&szlig;erhalb von AdWords &uuml;bertragen m&ouml;chten. Diese werden dann als '.
'individuelle Daten gesendet. Richten Sie die Dimensionen so ein, wie dies unter '.
'<a href="https://support.google.com/analytics/answer/3455600?hl=de&ref_topic=3455490" target="gahelp">dem '.
'Google-Beitrag</a> beschrieben ist.<br>Zus&auml;tzliche &quot;individuelle Daten&quot; werden dann ab der '.
'4. Dimension &uuml;bermittelt.',
'D3_GOOGLEANALYTICS_CUSTOMVARS' => 'individuelle Daten',
'D3_GOOGLEANALYTICS_CUSTOMVARS_TRANSMIT' => 'individuelle Daten &uuml;bertragen',
'D3_GOOGLEANALYTICS_CUSTOMVARS_TRANSMIT_DESC' => 'Mit individuellen Daten k&ouml;nnen Sie '.
'Parameter &uuml;bermitteln, die sonst im Rahmen des Trackingcodes nicht gesammelt werden. Erg&auml;nzen Sie '.
'den entsprechenden Abschnitt im Template "modules/d3/d3_googleanalytics/views/tpl/widget/'.
'd3_googleanalytics.tpl" (f&uuml;r Async) oder "modules/d3/d3_googleanalytics/views/tpl/widget/inc/'.
'd3ga_universal_custom.tpl" (f&uuml;r Universal) um die gew&uuml;nschten Daten. Details F&uuml;r die '.
'Einrichtung der Datenaufzeichnung bei Analytics entnehmen Sie bitte der Moduldokumentation.<br><br>Weitere '.
'Informationen finden Sie <a href="http://code.google.com/apis/analytics/docs/tracking/'.
'gaTrackingCustomVariables.html" target="gahelp">hier</a>.<br>Auf Anregung durch <a href="http://'.
'www.commodule.de/blog/tracking/zahlungsarten-in-google-analytics-tracken/" target="Commodule">Commodule-Blog'.
'</a> haben wir nun noch weitere Beispiele hinterlegt. Vielen Dank f&uuml;r diese Unterst&uuml;tzung!',
'D3_GOOGLEANALYTICS_SECURITYINFORMATIONS' => 'Im CMS-Baustein "Analytics_Security_'.
'Informations" ist ein Text hinterlegt, den Sie Ihren Kunden unter Ihrer Datenschutzerkl&auml;rung '.
'verf&uuml;gbar machen sollten. Kl&auml;ren Sie jedoch bitte vor Verwendung von Google Analytics Tracking und '.
'diesem Hinweistext ab, ob beides mit den Datenschutzbestimmung Ihres Landes konform geht. '.
'Ausschlie&szlig;lich der Shopbetreiber haftet f&uuml;r Verst&ouml;&szlig;e. Beraten Sie sich im Zweifel mit '.
'Ihrem Rechtsanwalt.<br><br>Nach Aktivierung des Tracking-Codes dauert es in der Regel ca. 24 Stunden, bis '.
'die ersten Tracking-Daten in Analytics zur Verf&uuml;gung stehen.',
'D3_GOOGLEANALYTICS_ADWORDSGENERAL' => 'Conversion-Tracking',
'D3_GOOGLEANALYTICS_ADWORDS_SETCONVERSIONTRACKING' => 'Conversion-Tracking-Code aktivieren',
'D3_GOOGLEANALYTICS_ADWORDS_SETCONVERSIONTRACKING_DESC' => 'Diese Option aktiviert den AdWords-Code. Dann '.
'ist die Eingabe der Conversion-ID und des Conversion-Labels obligatorisch.',
'D3_GOOGLEANALYTICS_ADWORDS_CONVID' => 'Conversion-ID',
'D3_GOOGLEANALYTICS_ADWORDS_CONVID_DESC' => '<p>Diese ID finden Sie in Ihrem AdWords-Konto.'.
'</p><p>Weitere Informationen zu '.
'dieser Option finden Sie in der <a href="https://www.google.de/search?q=AdWords+conversion+id" '.
'target="gahelp">Google-Suche</a>.</p>',
'D3_GOOGLEANALYTICS_ADWORDS_CONVLABEL' => 'Conversion-Label',
'D3_GOOGLEANALYTICS_ADWORDS_CONVLABEL_DESC' => '<p>Weitere Informationen zu '.
'dieser Option finden Sie in der <a href="https://www.google.de/search?q=AdWords+conversion+label" '.
'target="gahelp">Google-Suche</a>.</p>',
'D3_GOOGLEANALYTICS_ADWORDS_DESC' => 'Diese Einstellungen betreffen den Dienst '.
'<a href="http://www.google.de/AdWords" target="_blank">"Google Adwords"</a>. '.
'Möchten Sie diesen nutzen, melden Sie sich auf der Webseite dafür an.',
'D3_GOOGLEANALYTICS_ADWORDS_DESC1' => 'Während der Anmeldung werden Sie aufgefordert, '.
'einen Trackingcode in den Quelltext Ihrer Seite einzukopieren. Dies erledigt das vorliegende Modul für Sie. '.
'Die Einstellungen zum Trackingcode nehmen Sie ebenfalls hier vor.',
'D3_GOOGLEANALYTICS_ADWORDSMAIN' => 'Kampagnen-Tracking',
'D3_GOOGLEANALYTICS_ADWORDSCODE_SETCAMPAIGNTRACK' => 'AdWords-Kampagnendaten <span style="'.
'font-weight: bold;">nicht</span> &uuml;bertragen',
'D3_GOOGLEANALYTICS_ADWORDSCODE_SETCAMPAIGNTRACK_DESC' => 'Das Kampagnentracking ist im Standard '.
'aktiviert. Setzen Sie diesen Haken, um die Kampagnen&uuml;bertragung zu deaktivieren.',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPAIGNCOOKIETIMEOUT' => 'Kampagnenlaufzeit (optional, sonst 6 Monate) - '.
'nur f&uuml;r Async-Code',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPAIGNCOOKIETIMEOUT_DESC' => 'Geben Sie hier eine optionale Laufzeit dieser '.
'Kampagne in Millisekunden an.<br><br>30 Tage = 2592000000<br>365 Tage = 31536000000<br><br>F&uuml;r '.
'Universal Analytics tragen Sie diesen Wert bitte in Ihrem Analytics-Konto nach.',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPAIGNCOOKIETIMEOUT_MS' => 'Millisekunden',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNOKEY' => 'erzwinge Verwendung der folgenden Kampagne',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNOKEY_DESC' => 'die hier festgelegte Kampagne wird zwingend '.
'verwendet, auch wenn die Cookie-Einstellungen schon eine andere Kampagne liefern.',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPIDKEY' => 'Kampagnen-ID (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPIDKEY_DESC' => 'Geben Sie hier die ID dieser Kamapagne an.<br>'.
'<br>Weitere Informationen finden Sie hier: <ul><li>Universal: <a href="https://developers.google.com/'.
'analytics/devguides/collection/analyticsjs/field-reference#campaignId" target="gahelp">hier</a></li></ul>'.
'Diese Angabe ist nur in Universal Analytics verf&uuml;gbar.',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNAMEKEY' => 'Kampagnenname (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNAMEKEY_DESC' => 'Unter diesem Namen sehen Sie die Auswertung '.
'der Daten aus dieser Shopkampagne in Analytics.<br><br>Weitere Informationen finden Sie hier: <ul><li>Async: '.
'<a href="http://code.google.com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html#_gat.GA_Tracker_._'.
'setCampNameKey" target="gahelp">hier</a></li><li>Universal: <a href="https://developers.google.com/analytics/'.
'devguides/collection/analyticsjs/field-reference#campaignName" target="gahelp">hier</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPMEDIUMKEY' => 'Kampagnenmedium (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPMEDIUMKEY_DESC' => 'Definieren Sie das Medium dieser Kampagne '.
'(z.B. Werbebanner, Mailkampagne oder auch Klickkampagne). Diese Einstellung finden Sie in der Kampagnen'.
'auswertung unter "Keywords".<br><br>Weitere Informationen finden Sie hier: <ul><li>Async: <a href="http://'.
'code.google.com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html#_gat.GA_Tracker_._setCampMediumKey" '.
'target="gahelp">hier</a></li><li>Universal: <a href="https://developers.google.com/analytics/devguides/'.
'collection/analyticsjs/field-reference#campaignMedium" target="gahelp">hier</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPSOURCEKEY' => 'Kampagnenquelle (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPSOURCEKEY_DESC' => 'Benennen Sie hier die Quelle der Shopkampagne, '.
'vergeben Sie zum Beispiel den Webseiten-Name oder den Firmenname.<br><br>Weitere Informationen finden Sie '.
'hier: <ul><li>Async: <a href="http://code.google.com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html#'.
'_gat.GA_Tracker_._setCampSourceKey" target="gahelp">hier</a></li><li>Universal: <a href="https://developers.'.
'google.com/analytics/devguides/collection/analyticsjs/field-reference#campaignSource" target="gahelp">hier'.
'</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPTERMKEY' => 'Schl&uuml;sselwort(e) Ihrer Kampagne (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPTERMKEY_DESC' => 'Auch diese Keywords erscheinen in Analytics '.
'unter "Keywords".<br><br>Weitere Informationen finden Sie hier: <ul><li>Async: <a href="http://code.google.'.
'com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html#_gat.GA_Tracker_._setCampTermKey" target="gahelp">'.
'hier</a></li><li>Universal: <a href="https://developers.google.com/analytics/devguides/collection/analyticsjs'.
'/field-reference#campaignKeyword" target="gahelp">hier</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPCONTENTKEY' => 'Inhaltsbeschreibung der Kampagne (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPCONTENTKEY_DESC' => 'Den beschrieben Inhalt finden Sie in der '.
'Auswertung als "Ad Content".<br><br>Weitere Informationen finden Sie hier: <ul><li>Async: <a href="http://'.
'code.google.com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html#_gat.GA_Tracker_._setCampContentKey" '.
'target="gahelp">hier</a></li><li>Universal: <a href="https://developers.google.com/analytics/devguides/'.
'collection/analyticsjs/field-reference#campaignContent" target="gahelp">hier</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSREMARKETING' => 'Remarketing (via AdWords)',
'D3_GOOGLEANALYTICS_ADWORDS_SETREMARKETING' => 'Remarketing-Code aktivieren',
'D3_GOOGLEANALYTICS_ADWORDS_SETREMARKETING_DESC' => 'Die Option aktiviert den Remarketing-Code. '.
'Dann ist die Eingabe der Conversion-ID obligatorisch.',
'D3_GOOGLEANALYTICS_ADWORDS_REMARKETINGCONVID' => 'Remarketing Conversion-ID',
'D3_GOOGLEANALYTICS_ADWORDS_REMARKETINGCONVID_DESC' => 'Tragen Sie hier die zu Ihrem eingerichteten '.
'Remarketing zugehörige Conversion-ID ein. Diese kann mit Ihrer AdWords-Conversion-Tracking-ID identisch '.
'sein. Auch Abweichungen sind möglich.',
'D3_GOOGLEANALYTICS_ADWORDS_REMARKETINGCONVLABEL' => 'Remarketing Conversion-Label (optional)',
'd3tbclgoogleanalytics_campaigns' => 'andere Kampagnen',
'D3_GOOGLEANALYTICS_CAMPAIGNS_DESC' => 'Diese Einstellungen betreffen andere (auch '.
'google-fremde) Kampagnen, die mit den Leistungen des Moduls nicht abgedeckt sind. Details zu den Kampagnen '.
'und dessen Implementierung erhalten Sie beim jeweiligen Anbieter.',
'D3_GOOGLEANALYTICS_CAMPAIGNS_DESC1' => 'Während der Anmeldung werden Sie aufgefordert, '.
'einen Trackingcode in den Quelltext Ihrer Seite einzukopieren. Konfigurieren Sie diesen bei Ihem '.
'Kampagnenanbieter und tragen Sie diesen dann hier ein das Eingabefeld ein.',
'D3_GOOGLEANALYTICS_CAMPAIGNSETTINGS' => 'Kampagnen-Einstellungen',
'D3_GOOGLEANALYTICS_SETCAMPAIGNTRACK' => 'Kampagnencode übertragen',
'D3_GOOGLEANALYTICS_SETCAMPAIGNTRACK_DESC' => 'Nur mit dieser Option wird der eingegebene '.
'Kampagnencode ausgeliefert',
'D3_GOOGLEANALYTICS_SETCAMPAIGNTHANKYOUONLY' => 'Kampagnendaten nur in Bestellabschlussseite '.
'verwenden',
'D3_GOOGLEANALYTICS_SETCAMPAIGNTHANKYOUONLY_DESC' => 'Ist dieser Haken nicht gesetzt, wird der '.
'Kampagnencode shopweit eingef&uuml;gt. Ob diese Einstellung notwendig ist, erfahren Sie bei Ihrem Conversion '.
'Tracking Anbieter.',
'D3_GOOGLEANALYTICS_CAMPAIGNCODE_CODE' => 'Code',
'D3_GOOGLEANALYTICS_CAMPAIGNCODE_CODE_DESC' => 'Kopieren Sie hier den Kampagnen-Tracking-Code '.
'ein, den Sie vom Anbieter erhalten haben. Kopieren Sie auch ein eventuell vorhandenes "script"-Tag mit. '.
'Dieser Code wird 1:1 in den Seitenquelltext eingef&uuml;gt und nicht geparst.',
'D3_GOOGLEANALYTICS_TS_DESC' => 'Diese Einstellungen betreffen den Dienst '.
'<a href="http://www.google.de/zertifiziertehaendler/" target="_blank">"Google Zertifizierter Händler"</a>. '.
'Möchten Sie diesen nutzen, melden Sie sich auf der Webseite dafür an.',
'D3_GOOGLEANALYTICS_TS_DESC1' => 'Während der Aktivierung werden Sie '.
'aufgefordert, einen Trackingcode in den Quelltext Ihrer Seite einzukopieren. Dieser wird von unserem Modul '.
'eingebunden. Damit können Sie die Qualifizierungsphase starten. Erst nach erfolgreicher Beendigung sehen Sie '.
'das "Google Zertifizierter Händler"-Siegel. Über dessen Darstellung entscheidet allein Google.',
'D3_GOOGLEANALYTICS_TS_ACTIVE' => '"Zertifizierter Händler" im Shop aktivieren',
'D3_GOOGLEANALYTICS_TS_ACTIVE_DESC' => 'Dieser Haken bindet die nötigen Trackingcodes '.
'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.',
'D3_GOOGLEANALYTICS_TS_ID' => 'Konto-ID',
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER' => 'Zeitraum vom Bestelleingang bis zum Versand '.
'bei lagernden Artikeln',
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DAYS' => 'Werktag(e)',
'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 '.
'den für 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><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 '.
'Empfänger',
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER_DAYS' => 'Werktag(e)',
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER_DESC' => '<p>Google teilt Ihrem Kunden per Mail mit, '.
'nach welchem Zeitraum die bestellten Artikel in der Regel beim Kunden eintreffen. Geben Sie hier den für '.
'Normalfälle größten Zeitraum für die Lieferung in Tagen an (z.B. 4 bei "1 bis 4 Tage"). Der errechnete '.
'Termin wird dem Kunden per Mail mitgeteilt.</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_SHOPPING' => 'Verbindung zu Google Shopping',
'D3_GOOGLEANALYTICS_TS_SHOPPINGACTIVE' => 'zusätzliche Daten aus Google Shopping '.
'übertragen',
'D3_GOOGLEANALYTICS_TS_SHOPPINGACTIVE_DESC' => 'Verwenden Sie Google Shopping und möchten '.
'zusätzliche Daten zur Identifizierung übertragen, setzen Sie diesen Haken. Die folgenden Angaben sind dann '.
'ebenfalls erforderlich.',
'D3_GOOGLEANALYTICS_TS_SHOPPINGACCOUNTID' => 'Google Shopping Kontonummer',
'D3_GOOGLEANALYTICS_TS_SHOPPINGACCOUNTID_DESC' => 'Tragen Sie hier die Kontonummer (Account ID) '.
'aus Google Shopping ein.',
'D3_GOOGLEANALYTICS_TS_SHOPPINGCOUNTRY' => 'Kürzel des Landes Ihres Google Shopping-Kontos',
'D3_GOOGLEANALYTICS_TS_SHOPPINGCOUNTRY_DESC' => 'Geben Sie hier das Land Ihres Google Shopping '.
'Kontos an. Erwartet wird der ISO-3166-Ländercode (z.B.: DE, CH, AT, FR).',
'D3_GOOGLEANALYTICS_TS_SHOPPINGLANGUAGE' => 'Kürzel der Sprache Ihres Google Shopping-Kontos',
'D3_GOOGLEANALYTICS_TS_SHOPPINGLANGUAGE_DESC' => 'Geben Sie hier die Sprache Ihres Google '.
'Shopping Kontos an. Erwartet wird der ISO-639-1-Sprachcode (z.B.: de, en, fr).',
'D3_GOOGLEANALYTICS_TS_SHOPPINGARTID' => 'Identifikation Ihrer Artikel bei Google '.
'Shopping',
'D3_GOOGLEANALYTICS_TS_SHOPPINGARTID_ARTNUM' => 'Artikelnummer (oxartnum)',
'D3_GOOGLEANALYTICS_TS_SHOPPINGARTID_OXID' => 'interne Ident-Nummer (oxid)',
'D3_GOOGLEANALYTICS_TS_SHOPPINGARTID_DESC' => 'Über welches Feld kann Google Shopping die '.
'dort hinterlegten Artikel identfizieren?',
'D3_GOOGLEANALYTICS_METADATA_TITLE' => 'Google Services Schnittstelle',
'D3_GOOGLEANALYTICS_METADATA_DESC' => 'Dieses Modul stellt Ihnen die schnelle und '.
'unkomplizierte Einbindung Ihres Google-Analytics-Kontos in Ihren Shop zur Verf&uuml;gung. Hierbei werden '.
'&uuml;ber standardisierte Schnittstellen die Besucherdaten und eCommerce-Daten zu Google &uuml;bertragen. '.
'Ebenfalls &uuml;bermittelt werden Daten der Website-Suche.',
'D3_GOOGLEANALYTICS_MAIN_USEOPTOUT' => 'Opt Out anbieten',
'D3_GOOGLEANALYTICS_MAIN_USEOPTOUT_DESC' => '<p>Wird dieser Haken gesetzt, wird im Frontend '.
'ein Opt-Out-Bereich im Header angezeigt. In dem Bereich kann der Benutzer einen Link anklicken, '.
'mit dem das Tracking für diese Seite deaktiviert wird.</p><p>Weitere Informationen zu dieser Option finden '.
'Sie in der <a href="https://www.google.de/search?q=Analytics+_opt+out+script" target="gahelp">Google-Suche'.
'</a>.</p>',
'D3_GOOGLEANALYTICS_ADBLOCKER' => 'AdBlocker entdeckt - Bitte deaktivieren Sie diesen für diese Seite, da sonst '.
'Teile des Admin-Bereichs nicht richtig geladen werden können.',
// Erweiterung des Links in der Fussnote "Hilfe Starten"
'D3_GOOGLEANALYTICS_HELPLINK' => 'Fragen-zu-speziellen-Modulen/Google-Analytics/',
);
/*
[{oxmultilang ident="GENERAL_YOUWANTTODELETE"}]
*/

Datei anzeigen

@ -0,0 +1,421 @@
<?php
/**
* This module is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This module is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For further informations, see <http://www.gnu.org/licenses/>.
*
* @link http://www.oxidmodule.com
* @link http://www.shopmodule.com
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
*/
$sLangName = "English";
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
//Navigation
'charset' => 'UTF-8',
'd3mxgoogleanalytics' => "<i class='fa fa-google'></i> Google Services",
'd3mxgoogleanalytics_settings' => 'Settings',
'd3tbclgoogleanalytics_main' => 'Analytics',
'd3tbclgoogleanalytics_adwords' => 'AdWords',
'd3tbclgoogleanalytics_trustedstore' => 'Trusted Store',
'D3_GOOGLEANALYTICS_CFG_TITLE' => 'Google Services Connector - Settings',
'D3_GOOGLEANALYTICS_MAIN' => 'Main Settings',
'D3_GOOGLEANALYTICS_MAIN_DEBUG' => 'Aktivieren Sie mit dem Schalter den Debugmodus.'.
' Nach dem erfolgreichen &Uuml;bertragen des Trackingcodes erhalten Sie eine Meldung im Browser gezeigt. '.
'Deaktivieren Sie die Funktion f&uuml;r den Livebetrieb.',
'D3_GOOGLEANALYTICS_DESC' => 'Diese Einstellungen betreffen den Dienst '.
'<a href="http://www.google.com/analytics/" target="_blank">"Google Analytics"</a>. '.
'Möchten Sie diesen nutzen, melden Sie sich auf der Webseite dafür an.',
'D3_GOOGLEANALYTICS_DESC1' => 'Während der Anmeldung werden Sie aufgefordert, '.
'einen Trackingcode in den Quelltext Ihrer Seite einzukopieren. Dies erledigt das vorliegende Modul für Sie. '.
'Die Einstellungen zum Trackingcode nehmen Sie ebenfalls hier vor.',
'D3_GOOGLEANALYTICS_MAIN_GATYPE' => 'Tracking code type',
'D3_GOOGLEANALYTICS_MAIN_GATYPE_UNIVERSAL' => 'Universal',
'D3_GOOGLEANALYTICS_MAIN_GATYPE_UNIVERSAL_DESC' => 'F&uuml;r den Wechsel auf den Universal-'.
'Analytics-Trackingcode sind vorab &Auml;nderungen in Ihrem Analytics-Konto durchzuf&uuml;hren. Bitte '.
'konsultieren Sie vorab den Analytics-Migrationsleitfaden. Den Link finden Sie im Erkl&auml;rungstext '.
'dieser Option.\\n\\nBitte beachten Sie, dass mit Wechsel des Trackingcodes m&ouml;glicherweise andere '.
'Optionen im Modul verf&uuml;gbar sind. Kontrollieren Sie diese bitte noch einmal.',
'D3_GOOGLEANALYTICS_MAIN_GATYPE_ASYNC' => 'asynchron',
'D3_GOOGLEANALYTICS_MAIN_GATYPE_ASYNC_DESC' => 'Ein Wechsel vom neuen Universal-Analytics-'.
'Trackingcode zum bisherigen asynchronen Trackingcode wird von Google nicht angeboten. &Auml;ndern Sie diese '.
'Einstellung nur, wenn Ihr Analytics-Account noch auf dem asynchronen Trackingcode basiert.\\n\\nBitte '.
'beachten Sie, dass mit Wechsel des Trackingcodes m&ouml;glicherweise andere Optionen im Modul verf&uuml;gbar '.
'sind. Kontrollieren Sie diese bitte noch einmal.',
'D3_GOOGLEANALYTICS_MAIN_GATYPE_DESC' => 'Aktuell priorisiert Google den Trackingtyp '.
'"Universal". Setzen Sie hier den Typ, den Sie in Ihrem Analytics-Konto auch verwenden. Nutzen Sie noch den '.
'asynchronen Trackingcode, lesen Sie vor der Umstellung den <a href="'.
'https://support.google.com/analytics/answer/3450662?hl=de" target="gahelp">Leitfaden</a> zum Wechsel.<br><br>'.
'Manche der folgenden Optionen stehen Ihnen nur f&uuml;r einen Tracking-Typ zur Verf&uuml;gung und sind daher '.
'm&ouml;glicherweise ausgegraut.',
'D3_GOOGLEANALYTICS_MAIN_GAID' => 'Analyics id',
'D3_GOOGLEANALYTICS_MAIN_GAID_DESC' => 'F&uuml;gen Sie hier die Google Analytics '.
'Konto-ID ein. Diese finden Sie in Ihrem GA-Konto und beginnt im Normalfall mit "UA-".',
'D3_GOOGLEANALYTICS_MAIN_ANONYMIZEIP' => 'IP-Adressen anonymisiert &uuml;bertragen '.
'(dringend empfohlen)',
'D3_GOOGLEANALYTICS_MAIN_ANONYMIZEIP_DESC' => '<p>Die IP-Adressen Ihrer Shopbesucher werden '.
'anonymisiert. Zwar werden dadurch die Gebietszuordnungen etwas ungenauer. Jedoch k&ouml;nnen Sie nur mit '.
'dieser Einstellung den Datenschutzvorschriften in Deutschland entsprechen.</p><p>Weitere Informationen zu '.
'dieser Option finden Sie in der '.
'<a href="https://www.google.de/search?q=Analytics+anonymizeIp" target="gahelp">Google-Suche</a>.</p>',
'D3_GOOGLEANALYTICS_MAIN_SAMPLERATE' => "Tracking auswerten bei...",
'D3_GOOGLEANALYTICS_MAIN_SAMPLERATE_DESC' => '<p>Im Regelfall werden die &uuml;bertragenen '.
'Daten f&uuml;r alle Seitenbesucher ausgewertet und aufbereitet. Shops mit sehr hohem Besucheraufkommen '.
'geraten hiermit jedoch m&ouml;glicherweise an Limitierungen, die von Google gesetzt werden. Mit diesem Wert '.
'k&ouml;nnen Sie einstellen, wieviel Prozent der Besucherdaten von Google tats&auml;chlich ausgewertet werden '.
'sollen. Reduzieren Sie die Zahl, um Beschr&auml;nkungen zu umgehen.</p><p>Weitere Informationen zu '.
'dieser Option finden Sie in der <a href="https://www.google.de/search?q=Analytics+sampleRate+-siteSpeed" '.
'target="gahelp">Google-Suche </a>.</p>',
'D3_GOOGLEANALYTICS_MAIN_SAMPLERATE_1' => "% aller Besucher",
'D3_GOOGLEANALYTICS_MAIN_TRACKPAGELOADTIME' => 'Seitenladezeit mit &uuml;bertragen',
'D3_GOOGLEANALYTICS_MAIN_TRACKPAGELOADTIME_DESC' => '<p>Die Ladezeit Ihrer Seite ist, speziell auch '.
'in Hinblick auf verschiedene L&auml;nder, durchaus ein Faktor, der in das Ranking Ihrer Page einfliesst.<br>'.
'<br>Bei Universal-Analytics wird die Seitenladezeit generell &uuml;bertragen. Durch die Aktivierung dieser '.
'Option wird eine genauere Auswertung zus&auml;tzlich als Event &uuml;bergeben.</p><p>Weitere Informationen '.
'zu dieser Option finden Sie in der <a href="https://www.google.de/search?q=Analytics+track+page+load+time" '.
'target="gahelp">Google-Suche </a>.</p>',
'D3_GOOGLEANALYTICS_MAIN_SITESPEEDSAMPLERATE' => "Seitengeschwindigkeit messen bei...",
'D3_GOOGLEANALYTICS_MAIN_SITESPEEDSAMPLERATE_DESC' => '<p>Die Seitenladegeschwindigkeit wird nicht '.
'bei jedem Seitenaufruf gemessen. Bei wenig frequentierten Seiten verzerrt dies jedoch das Ergebnis. Soll der '.
'Standardwert von 1% ge&auml;ndert werden, tragen Sie den gew&uuml;nschten Wert hier ein. F&uuml;r Webseiten '.
'mit mehr als 1 Million Besuchern pro Tag wird dieser Wert von Google fix auf 1% gestellt.</p><p>Weitere '.
'Informationen zu dieser Option finden Sie in der '.
'<a href="https://www.google.de/search?q=Analytics+site+speed+sample+rate" target="gahelp">Google-Suche </a>.'.
'</p>',
'D3_GOOGLEANALYTICS_MAIN_SITESPEEDSAMPLERATE_1' => "% aller Besucher",
'D3_GOOGLEANALYTICS_MAIN_USEREMARKETING' => 'Remarketing-Auswertung erm&ouml;glichen',
'D3_GOOGLEANALYTICS_MAIN_USEREMARKETING_DESC' => '<p>Wenn Sie sich entschlie&szlig;en, '.
'Remarketing zu nutzen, setzen Sie diesen Haken. Nachdem Sie diese &Auml;nderung vorgenommen haben, '.
'erfasst und analysiert Google Analytics neben den &uuml;blichen Informationen auch das DoubleClick-Cookie, '.
'sofern vorhanden. Das DoubleClick-Cookie erm&ouml;glicht Remarketing im Google Display-Netzwerk f&uuml;r '.
'Produkte wie AdWords. Je nach verwendetem Tracking-Typ muss die Erfassung von Informationen aus dem Display-'.
'Netzwerk im Analytics-Konto aktiviert werden.</p><p>Weitere '.
'Informationen zu dieser Option finden Sie in der '.
'<a href="https://www.google.de/search?q=Analytics+require+displayfeatures" target="gahelp">Google-Suche </a>.'.
'</p>',
'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_SENDTIMEEVENT2' => 'Millisekunden (1000 = 1 Sekunde)',
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDTIMEEVENT_DESC' => '<p>Analytics wertet alle Seitenbucher, die '.
'sich nur eine Seite angesehen habe und dann den Shop verlassen, automatisch als Abbrecher. Zur '.
'Informationsbeschaffung reicht dem Kunden jedoch möglicherweise dieser eine Seitenbesuch aus. Sein Ziel '.
'konnte er erreichen. Demnach ist er eigentlich kein Abbrecher. Das Modul sendet automatisch nach der '.
'angegebenen Sekundenzahl ein EventTracking. Damit wertet Analytics diesen Besucher nur als Abbrecher, wenn '.
'er den Shop vor Ablauf dieser Zeit wieder verlässt. Verweilt er länger im Shop, wird der Besuch dann als '.
'Erfolg gewertet.</p><p>Diese Tracking-Veränderung stellt die Absprungrate daher im Analytics wesentlich '.
'genauer dar. Der Standardwert ist auf 10 Sekunden gesetzt. Ändern Sie bei Bedarf diese Angabe.</p><p>Weitere '.
'Informationen zu dieser Option finden Sie in der '.
'<a href="https://www.google.de/search?q=Analytics+_trackEvent+noBounce" target="gahelp">Google-Suche</a>.</p>',
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDSCROLLEVENT' => 'Seitenbesucher nicht als Abbrecher werten, '.
'wenn gescrollt wurde',
'D3_GOOGLEANALYTICS_BOUNCEOPT_SENDSCROLLEVENT_DESC' => '<p>Analytics wertet alle Seitenbucher, die '.
'sich nur eine Seite angesehen habe und dann den Shop verlassen, automatisch als Abbrecher. Zur '.
'Informationsbeschaffung reicht dem Kunden jedoch möglicherweise dieser eine Seitenbesuch aus. Sein Ziel '.
'konnte er erreichen. Demnach ist er eigentlich kein Abbrecher. Das Modul sendet automatisch ein '.
'EventTracking, wenn der Besucher die Seite gescrollt hat. Damit wertet Analytics diesen Besucher nur als '.
'Abbrecher, wenn er den Shop ohne Scrollen wieder verlässt.</p><p>Diese Tracking-Veränderung stellt die '.
'Absprungrate daher im Analytics wesentlich genauer dar.</p><p>Weitere Informationen zu dieser Option finden '.
'Sie in der <a href="https://www.google.de/search?q=_trackEvent+noBounce+scroll" target="gahelp">Google-Suche'.
'</a>.</p>',
'D3_GOOGLEANALYTICS_ECOMMERCE' => 'eCommerce settings',
'D3_GOOGLEANALYTICS_ECOMMERCE_SENDDATA' => 'eCommerce-Daten &uuml;bertragen',
'D3_GOOGLEANALYTICS_ECOMMERCE_SENDDATA_DESC' => '<p>Mit dieser Einstellung werden '.
'Warenkorbdaten Ihrer Kunden an Analytics &uuml;bertragen. Damit k&ouml;nnen Sie z.B. die Produktleistung und '.
'Umsatzzahlen ermitteln. Diese Option muss auch in Ihrem Analytics-Konto aktiviert werden.</p><p>Weitere '.
'Informationen zu dieser Option finden Sie in der '.
'<a href="https://www.google.de/search?q=Analytics+ecommerce+tracking" target="gahelp">Google-Suche </a>.</p>',
'D3_GOOGLEANALYTICS_ECOMMERCE_USENETTO' => 'Netto-Preise &uuml;bertragen, wenn '.
'verf&uuml;gbar',
'D3_GOOGLEANALYTICS_ECOMMERCE_USENETTO_DESC' => 'Betreiben Sie einen B2B-Shop, &uuml;bertragen '.
'Sie Ihre Artikelpreise netto an Analytics, wenn diese auch im Shop ohne Steuer zur Verf&uuml;gung stehen. ',
'D3_GOOGLEANALYTICS_DOMAIN' => 'Multi-Domain-Einstellungen',
'D3_GOOGLEANALYTICS_DOMAIN_SETALLOWLINKER' => 'Trackingdaten von unterschiedlichen Domains '.
'verwenden',
'D3_GOOGLEANALYTICS_DOMAIN_SETALLOWLINKER_DESC' => '<p>Cross Domain Tracking erlaubt das Sammeln '.
'von Trackinginformationen auch &uuml;ber verschiedene Domains hinweg.</p><p>Weitere Informationen finden '.
'Sie <a href="https://www.google.de/search?q=Analytics+_setAllowLinker" target="gahelp">hier</a>.</p>',
'D3_GOOGLEANALYTICS_DOMAIN_SETDOMAINNAME' => 'fixiert das Tracking-Cookie auf die angegebene '.
'Domain (optional)',
'D3_GOOGLEANALYTICS_DOMAIN_SETDOMAINNAME_DESC' => '<p>Lassen Sie dieses Feld leer, ist das '.
'Tacking-Cookie f&uuml;r unterschiedliche Seiten g&uuml;ltig. Wenn Sie statt dessen eine Domain angeben, ist '.
'das gesetzte Cookie nur f&uuml;r Seiten unter dieser Domain g&uuml;ltig. Andere zu trackende Seiten setzen '.
'dann ein neues Cookie.<br><br>Der Eintrag sollte hier so aussehen: .yourDomainName.com</p><p>Weitere '.
'Informationen finden Sie <a href="https://www.google.de/search?q=Analytics+_setDomainName" target="gahelp">'.
'hier</a>.</p>',
'D3_GOOGLEANALYTICS_DOMAIN_SETCOOKIEPATH' => 'Tracking nur auf ein Verzeichnis '.
'beschr&auml;nken (optional)',
'D3_GOOGLEANALYTICS_DOMAIN_SETCOOKIEPATH_DESC' => '<p>Ein Eintrag hier sollte so aussehen: '.
'/myStore/</p><p>Weitere Informationen finden Sie '.
'<a href="https://www.google.de/search?q=Analytics+set+Cookie+Path" target="gahelp">hier</a>.</p>',
'D3_GOOGLEANALYTICS_DOMAIN_COOKIEPATHCOPY' => 'Cookie Informationen werden in das Verzeichnis '.
'der selben Domain kopiert (optional)',
'D3_GOOGLEANALYTICS_DOMAIN_COOKIEPATHCOPY_DESC' => '<p>Ein Eintrag hier sollte so aussehen: '.
'/myStore/<br>Diese Option ist nur f&uuml;r den asynchronen Trackingcode verf&uuml;gbar.</p><p>Weitere '.
'Informationen finden Sie <a href="https://www.google.de/search?q=Analytics+set+Cookie+Path" target="gahelp">'.
'hier</a>.</p>',
'D3_GOOGLEANALYTICS_BROWSER' => 'Browser-Daten',
'D3_GOOGLEANALYTICS_BROWSER_SETCLIENTINFO' => '<span style="font-weight: bold;">Deaktiviert'.
'</span> die Erkennung von Browserdaten (z.B. Name und Version). Diese Einstellung steht f&uuml;r Universal '.
'Analytics nicht mehr zur Verf&uuml;gung',
'D3_GOOGLEANALYTICS_BROWSER_SETCLIENTINFO_DESC' => 'Weitere Informationen finden Sie '.
'<a href="https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiWebClient?hl=es#'.
'_gat.GA_Tracker_._getClientInfo" target="gahelp">hier</a>. Diese Einstellung steht f&uuml;r Universal '.
'Analytics nicht mehr zur Verf&uuml;gung',
'D3_GOOGLEANALYTICS_BROWSER_SETDETECTFLASH' => '<span style="font-weight: bold;">Unterbindet'.
'</span> die Erkennung, ob beim Kunden das Flash-Plugin installiert ist.',
'D3_GOOGLEANALYTICS_BROWSER_SETDETECTFLASH_DESC' => 'Weitere Informationen finden Sie '.
'<a href="https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiWebClient?hl=es#'.
'_gat.GA_Tracker_._setDetectFlash" target="gahelp">hier</a>. Diese Einstellung steht f&uuml;r Universal '.
'Analytics nicht mehr zur Verf&uuml;gung',
'D3_GOOGLEANALYTICS_BROWSER_SETDETECTTITLE' => '<span style="font-weight: bold;">Verhindert'.
'</span> die Erkennung des Seitentitels.',
'D3_GOOGLEANALYTICS_BROWSER_SETDETECTTITLE_DESC' => 'Weitere Informationen finden Sie '.
'<a href="https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiWebClient?hl=es#'.
'_gat.GA_Tracker_._setDetectTitle" target="gahelp">hier</a>. Diese Einstellung steht f&uuml;r Universal '.
'Analytics nicht mehr zur Verf&uuml;gung',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING' => 'Remarketing (via Analytics)',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING_TRANSMIT' => 'Remarketingdaten als individuelle Daten &uuml;bertragen',
'D3_GOOGLEANALYTICS_ANALYTICSREMARKETING_TRANSMIT_DESC' => 'Aktivieren Sie die Option, wenn Sie die '.
'Remarketingdaten au&szlig;erhalb von AdWords &uuml;bertragen m&ouml;chten. Diese werden dann als '.
'individuelle Daten gesendet. Richten Sie die Dimensionen so ein, wie dies unter '.
'<a href="https://support.google.com/analytics/answer/3455600?hl=de&ref_topic=3455490" target="gahelp">dem '.
'Google-Beitrag</a> beschrieben ist.<br>Zus&auml;tzliche &quot;individuelle Daten&quot; werden dann ab der '.
'4. Dimension &uuml;bermittelt.',
'D3_GOOGLEANALYTICS_CUSTOMVARS' => 'individuelle Daten',
'D3_GOOGLEANALYTICS_CUSTOMVARS_TRANSMIT' => 'individuelle Daten &uuml;bertragen',
'D3_GOOGLEANALYTICS_CUSTOMVARS_TRANSMIT_DESC' => 'Mit individuellen Daten k&ouml;nnen Sie '.
'Parameter &uuml;bermitteln, die sonst im Rahmen des Trackingcodes nicht gesammelt werden. Erg&auml;nzen Sie '.
'den entsprechenden Abschnitt im Template "modules/d3/d3_googleanalytics/views/tpl/widget/'.
'd3_googleanalytics.tpl" (f&uuml;r Async) oder "modules/d3/d3_googleanalytics/views/tpl/widget/inc/'.
'd3ga_universal_custom.tpl" (f&uuml;r Universal) um die gew&uuml;nschten Daten. Details F&uuml;r die '.
'Einrichtung der Datenaufzeichnung bei Analytics entnehmen Sie bitte der Moduldokumentation.<br><br>Weitere '.
'Informationen finden Sie <a href="http://code.google.com/apis/analytics/docs/tracking/'.
'gaTrackingCustomVariables.html" target="gahelp">hier</a>.<br>Auf Anregung durch <a href="http://'.
'www.commodule.de/blog/tracking/zahlungsarten-in-google-analytics-tracken/" target="Commodule">Commodule-Blog'.
'</a> haben wir nun noch weitere Beispiele hinterlegt. Vielen Dank f&uuml;r diese Unterst&uuml;tzung!',
'D3_GOOGLEANALYTICS_SECURITYINFORMATIONS' => 'Im CMS-Baustein "Analytics_Security_'.
'Informations" ist ein Text hinterlegt, den Sie Ihren Kunden unter Ihrer Datenschutzerkl&auml;rung '.
'verf&uuml;gbar machen sollten. Kl&auml;ren Sie jedoch bitte vor Verwendung von Google Analytics Tracking und '.
'diesem Hinweistext ab, ob beides mit den Datenschutzbestimmung Ihres Landes konform geht. '.
'Ausschlie&szlig;lich der Shopbetreiber haftet f&uuml;r Verst&ouml;&szlig;e. Beraten Sie sich im Zweifel mit '.
'Ihrem Rechtsanwalt.<br><br>Nach Aktivierung des Tracking-Codes dauert es in der Regel ca. 24 Stunden, bis '.
'die ersten Tracking-Daten in Analytics zur Verf&uuml;gung stehen.',
'D3_GOOGLEANALYTICS_ADWORDSGENERAL' => 'Conversion-Tracking',
'D3_GOOGLEANALYTICS_ADWORDS_SETCONVERSIONTRACKING' => 'Conversion-Tracking-Code aktivieren',
'D3_GOOGLEANALYTICS_ADWORDS_SETCONVERSIONTRACKING_DESC' => 'Diese Option aktiviert den AdWords-Code. Dann '.
'ist die Eingabe der Conversion-ID und des Conversion-Labels obligatorisch.',
'D3_GOOGLEANALYTICS_ADWORDS_CONVID' => 'Conversion-ID',
'D3_GOOGLEANALYTICS_ADWORDS_CONVID_DESC' => '<p>Diese ID finden Sie in Ihrem AdWords-Konto.'.
'</p><p>Weitere Informationen zu '.
'dieser Option finden Sie in der <a href="https://www.google.de/search?q=AdWords+conversion+id" '.
'target="gahelp">Google-Suche</a>.</p>',
'D3_GOOGLEANALYTICS_ADWORDS_CONVLABEL' => 'Conversion-Label',
'D3_GOOGLEANALYTICS_ADWORDS_CONVLABEL_DESC' => '<p>Weitere Informationen zu '.
'dieser Option finden Sie in der <a href="https://www.google.de/search?q=AdWords+conversion+label" '.
'target="gahelp">Google-Suche</a>.</p>',
'D3_GOOGLEANALYTICS_ADWORDS_DESC' => 'Diese Einstellungen betreffen den Dienst '.
'<a href="http://www.google.de/AdWords" target="_blank">"Google Adwords"</a>. '.
'Möchten Sie diesen nutzen, melden Sie sich auf der Webseite dafür an.',
'D3_GOOGLEANALYTICS_ADWORDS_DESC1' => 'Während der Anmeldung werden Sie aufgefordert, '.
'einen Trackingcode in den Quelltext Ihrer Seite einzukopieren. Dies erledigt das vorliegende Modul für Sie. '.
'Die Einstellungen zum Trackingcode nehmen Sie ebenfalls hier vor.',
'D3_GOOGLEANALYTICS_ADWORDSMAIN' => 'Kampagnen-Tracking',
'D3_GOOGLEANALYTICS_ADWORDSCODE_SETCAMPAIGNTRACK' => 'AdWords-Kampagnendaten <span style="'.
'font-weight: bold;">nicht</span> &uuml;bertragen',
'D3_GOOGLEANALYTICS_ADWORDSCODE_SETCAMPAIGNTRACK_DESC' => 'Das Kampagnentracking ist im Standard '.
'aktiviert. Setzen Sie diesen Haken, um die Kampagnen&uuml;bertragung zu deaktivieren.',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPAIGNCOOKIETIMEOUT' => 'Kampagnenlaufzeit (optional, sonst 6 Monate) - '.
'nur f&uuml;r Async-Code',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPAIGNCOOKIETIMEOUT_DESC' => 'Geben Sie hier eine optionale Laufzeit dieser '.
'Kampagne in Millisekunden an.<br><br>30 Tage = 2592000000<br>365 Tage = 31536000000<br><br>F&uuml;r '.
'Universal Analytics tragen Sie diesen Wert bitte in Ihrem Analytics-Konto nach.',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPAIGNCOOKIETIMEOUT_MS' => 'Millisekunden',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNOKEY' => 'erzwinge Verwendung der folgenden Kampagne',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNOKEY_DESC' => 'die hier festgelegte Kampagne wird zwingend '.
'verwendet, auch wenn die Cookie-Einstellungen schon eine andere Kampagne liefern.',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPIDKEY' => 'Kampagnen-ID (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPIDKEY_DESC' => 'Geben Sie hier die ID dieser Kamapagne an.<br>'.
'<br>Weitere Informationen finden Sie hier: <ul><li>Universal: <a href="https://developers.google.com/'.
'analytics/devguides/collection/analyticsjs/field-reference#campaignId" target="gahelp">hier</a></li></ul>'.
'Diese Angabe ist nur in Universal Analytics verf&uuml;gbar.',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNAMEKEY' => 'Kampagnenname (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNAMEKEY_DESC' => 'Unter diesem Namen sehen Sie die Auswertung '.
'der Daten aus dieser Shopkampagne in Analytics.<br><br>Weitere Informationen finden Sie hier: <ul><li>Async: '.
'<a href="http://code.google.com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html#_gat.GA_Tracker_._'.
'setCampNameKey" target="gahelp">hier</a></li><li>Universal: <a href="https://developers.google.com/analytics/'.
'devguides/collection/analyticsjs/field-reference#campaignName" target="gahelp">hier</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPMEDIUMKEY' => 'Kampagnenmedium (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPMEDIUMKEY_DESC' => 'Definieren Sie das Medium dieser Kampagne '.
'(z.B. Werbebanner, Mailkampagne oder auch Klickkampagne). Diese Einstellung finden Sie in der Kampagnen'.
'auswertung unter "Keywords".<br><br>Weitere Informationen finden Sie hier: <ul><li>Async: <a href="http://'.
'code.google.com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html#_gat.GA_Tracker_._setCampMediumKey" '.
'target="gahelp">hier</a></li><li>Universal: <a href="https://developers.google.com/analytics/devguides/'.
'collection/analyticsjs/field-reference#campaignMedium" target="gahelp">hier</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPSOURCEKEY' => 'Kampagnenquelle (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPSOURCEKEY_DESC' => 'Benennen Sie hier die Quelle der Shopkampagne, '.
'vergeben Sie zum Beispiel den Webseiten-Name oder den Firmenname.<br><br>Weitere Informationen finden Sie '.
'hier: <ul><li>Async: <a href="http://code.google.com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html#'.
'_gat.GA_Tracker_._setCampSourceKey" target="gahelp">hier</a></li><li>Universal: <a href="https://developers.'.
'google.com/analytics/devguides/collection/analyticsjs/field-reference#campaignSource" target="gahelp">hier'.
'</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPTERMKEY' => 'Schl&uuml;sselwort(e) Ihrer Kampagne (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPTERMKEY_DESC' => 'Auch diese Keywords erscheinen in Analytics '.
'unter "Keywords".<br><br>Weitere Informationen finden Sie hier: <ul><li>Async: <a href="http://code.google.'.
'com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html#_gat.GA_Tracker_._setCampTermKey" target="gahelp">'.
'hier</a></li><li>Universal: <a href="https://developers.google.com/analytics/devguides/collection/analyticsjs'.
'/field-reference#campaignKeyword" target="gahelp">hier</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPCONTENTKEY' => 'Inhaltsbeschreibung der Kampagne (optional)',
'D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPCONTENTKEY_DESC' => 'Den beschrieben Inhalt finden Sie in der '.
'Auswertung als "Ad Content".<br><br>Weitere Informationen finden Sie hier: <ul><li>Async: <a href="http://'.
'code.google.com/apis/analytics/docs/gaJS/gaJSApiCampaignTracking.html#_gat.GA_Tracker_._setCampContentKey" '.
'target="gahelp">hier</a></li><li>Universal: <a href="https://developers.google.com/analytics/devguides/'.
'collection/analyticsjs/field-reference#campaignContent" target="gahelp">hier</a></li></ul>',
'D3_GOOGLEANALYTICS_ADWORDSREMARKETING' => 'Remarketing (via AdWords)',
'D3_GOOGLEANALYTICS_ADWORDS_SETREMARKETING' => 'Remarketing-Code aktivieren',
'D3_GOOGLEANALYTICS_ADWORDS_SETREMARKETING_DESC' => 'Die Option aktiviert den Remarketing-Code. '.
'Dann ist die Eingabe der Conversion-ID obligatorisch.',
'D3_GOOGLEANALYTICS_ADWORDS_REMARKETINGCONVID' => 'Remarketing Conversion-ID',
'D3_GOOGLEANALYTICS_ADWORDS_REMARKETINGCONVID_DESC' => 'Tragen Sie hier die zu Ihrem eingerichteten '.
'Remarketing zugehörige Conversion-ID ein. Diese kann mit Ihrer AdWords-Conversion-Tracking-ID identisch '.
'sein. Auch Abweichungen sind möglich.',
'D3_GOOGLEANALYTICS_ADWORDS_REMARKETINGCONVLABEL' => 'Remarketing Conversion-Label (optional)',
'd3tbclgoogleanalytics_campaigns' => 'andere Kampagnen',
'D3_GOOGLEANALYTICS_CAMPAIGNS_DESC' => 'Diese Einstellungen betreffen andere (auch '.
'google-fremde) Kampagnen, die mit den Leistungen des Moduls nicht abgedeckt sind. Details zu den Kampagnen '.
'und dessen Implementierung erhalten Sie beim jeweiligen Anbieter.',
'D3_GOOGLEANALYTICS_CAMPAIGNS_DESC1' => 'Während der Anmeldung werden Sie aufgefordert, '.
'einen Trackingcode in den Quelltext Ihrer Seite einzukopieren. Konfigurieren Sie diesen bei Ihem '.
'Kampagnenanbieter und tragen Sie diesen dann hier ein das Eingabefeld ein.',
'D3_GOOGLEANALYTICS_CAMPAIGNSETTINGS' => 'Kampagnen-Einstellungen',
'D3_GOOGLEANALYTICS_SETCAMPAIGNTRACK' => 'Kampagnencode übertragen',
'D3_GOOGLEANALYTICS_SETCAMPAIGNTRACK_DESC' => 'Nur mit dieser Option wird der eingegebene '.
'Kampagnencode ausgeliefert',
'D3_GOOGLEANALYTICS_SETCAMPAIGNTHANKYOUONLY' => 'Kampagnendaten nur in Bestellabschlussseite '.
'verwenden',
'D3_GOOGLEANALYTICS_SETCAMPAIGNTHANKYOUONLY_DESC' => 'Ist dieser Haken nicht gesetzt, wird der '.
'Kampagnencode shopweit eingef&uuml;gt. Ob diese Einstellung notwendig ist, erfahren Sie bei Ihrem Conversion '.
'Tracking Anbieter.',
'D3_GOOGLEANALYTICS_CAMPAIGNCODE_CODE' => 'Code',
'D3_GOOGLEANALYTICS_CAMPAIGNCODE_CODE_DESC' => 'Kopieren Sie hier den Kampagnen-Tracking-Code '.
'ein, den Sie vom Anbieter erhalten haben. Kopieren Sie auch ein eventuell vorhandenes "script"-Tag mit. '.
'Dieser Code wird 1:1 in den Seitenquelltext eingef&uuml;gt und nicht geparst.',
'D3_GOOGLEANALYTICS_TS_DESC' => 'Diese Einstellungen betreffen den Dienst '.
'<a href="http://www.google.com/trustedstores/" target="_blank">"Google Zertifizierter Händler"</a>. '.
'Möchten Sie diesen nutzen, melden Sie sich auf der Webseite dafür an.',
'D3_GOOGLEANALYTICS_TS_DESC1' => 'Während der Aktivierung werden Sie '.
'aufgefordert, einen Trackingcode in den Quelltext Ihrer Seite einzukopieren. Dieser wird von unserem Modul '.
'eingebunden. Damit können Sie die Qualifizierungsphase starten. Erst nach erfolgreicher Beendigung sehen Sie '.
'das "Google Zertifizierter Händler"-Siegel. Über dessen Darstellung entscheidet allein Google.',
'D3_GOOGLEANALYTICS_TS_ACTIVE' => 'activate "Trusted Store" in shop',
'D3_GOOGLEANALYTICS_TS_ACTIVE_DESC' => 'Dieser Haken bindet die nötigen Trackingcodes '.
'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.',
'D3_GOOGLEANALYTICS_TS_ID' => 'account id',
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER' => 'Zeitraum vom Bestelleingang bis zum Versand '.
'bei lagernden Artikeln',
'D3_GOOGLEANALYTICS_TS_ESTSHIPDATEAFTER_DAYS' => 'Werktag(e)',
'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 '.
'den für 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><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 '.
'Empfänger',
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER_DAYS' => 'Werktag(e)',
'D3_GOOGLEANALYTICS_TS_ESTDELDATEAFTER_DESC' => '<p>Google teilt Ihrem Kunden per Mail mit, '.
'nach welchem Zeitraum die bestellten Artikel in der Regel beim Kunden eintreffen. Geben Sie hier den für '.
'Normalfälle größten Zeitraum für die Lieferung in Tagen an (z.B. 4 bei "1 bis 4 Tage"). Der errechnete '.
'Termin wird dem Kunden per Mail mitgeteilt.</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_SHOPPING' => 'Verbindung zu Google Shopping',
'D3_GOOGLEANALYTICS_TS_SHOPPINGACTIVE' => 'zusätzliche Daten aus Google Shopping '.
'übertragen',
'D3_GOOGLEANALYTICS_TS_SHOPPINGACTIVE_DESC' => 'Verwenden Sie Google Shopping und möchten '.
'zusätzliche Daten zur Identifizierung übertragen, setzen Sie diesen Haken. Die folgenden Angaben sind dann '.
'ebenfalls erforderlich.',
'D3_GOOGLEANALYTICS_TS_SHOPPINGACCOUNTID' => 'Google Shopping Kontonummer',
'D3_GOOGLEANALYTICS_TS_SHOPPINGACCOUNTID_DESC' => 'Tragen Sie hier die Kontonummer (Account ID) '.
'aus Google Shopping ein.',
'D3_GOOGLEANALYTICS_TS_SHOPPINGCOUNTRY' => 'Kürzel des Landes Ihres Google Shopping-Kontos',
'D3_GOOGLEANALYTICS_TS_SHOPPINGCOUNTRY_DESC' => 'Geben Sie hier das Land Ihres Google Shopping '.
'Kontos an. Erwartet wird der ISO-3166-Ländercode (z.B.: DE, CH, AT, FR).',
'D3_GOOGLEANALYTICS_TS_SHOPPINGLANGUAGE' => 'Kürzel der Sprache Ihres Google Shopping-Kontos',
'D3_GOOGLEANALYTICS_TS_SHOPPINGLANGUAGE_DESC' => 'Geben Sie hier die Sprache Ihres Google '.
'Shopping Kontos an. Erwartet wird der ISO-639-1-Sprachcode (z.B.: de, en, fr).',
'D3_GOOGLEANALYTICS_TS_SHOPPINGARTID' => 'Identifikation Ihrer Artikel bei Google '.
'Shopping',
'D3_GOOGLEANALYTICS_TS_SHOPPINGARTID_ARTNUM' => 'Artikelnummer (oxartnum)',
'D3_GOOGLEANALYTICS_TS_SHOPPINGARTID_OXID' => 'interne Ident-Nummer (oxid)',
'D3_GOOGLEANALYTICS_TS_SHOPPINGARTID_DESC' => 'Über welches Feld kann Google Shopping die '.
'dort hinterlegten Artikel identfizieren?',
'D3_GOOGLEANALYTICS_METADATA_TITLE' => 'Google Services Schnittstelle',
'D3_GOOGLEANALYTICS_METADATA_DESC' => 'Dieses Modul stellt Ihnen die schnelle und '.
'unkomplizierte Einbindung Ihres Google-Analytics-Kontos in Ihren Shop zur Verf&uuml;gung. Hierbei werden '.
'&uuml;ber standardisierte Schnittstellen die Besucherdaten und eCommerce-Daten zu Google &uuml;bertragen. '.
'Ebenfalls &uuml;bermittelt werden Daten der Website-Suche.',
'D3_GOOGLEANALYTICS_MAIN_USEOPTOUT' => 'Opt Out anbieten',
'D3_GOOGLEANALYTICS_MAIN_USEOPTOUT_DESC' => '<p>Wird dieser Haken gesetzt, wird im Frontend '.
'ein Opt-Out-Bereich im Header angezeigt. In dem Bereich kann der Benutzer einen Link anklicken, '.
'mit dem das Tracking für diese Seite deaktiviert wird.</p><p>Weitere Informationen zu dieser Option finden '.
'Sie in der <a href="https://www.google.de/search?q=Analytics+_opt+out+script" target="gahelp">Google-Suche'.
'</a>.</p>',
'D3_GOOGLEANALYTICS_ADBLOCKER' => 'AdBlocker detected - Please deactivate it for this page, because otherwise '.
'parts of the admin area can not be loaded correctly.',
// Erweiterung des Links in der Fussnote "Hilfe Starten"
'D3_GOOGLEANALYTICS_HELPLINK' => 'Fragen-zu-speziellen-Modulen/Google-Analytics/',
);
/*
[{oxmultilang ident="GENERAL_YOUWANTTODELETE"}]
*/

Datei anzeigen

@ -0,0 +1,324 @@
[{include file="headitem.tpl" title="D3_GOOGLEANALYTICS_CFG_TITLE"|oxmultilangassign}]
<script type="text/javascript">
<!--
[{if $updatelist == 1}]
UpdateList('[{$oxid}]');
[{/if}]
function UpdateList( sID)
{
var oSearch = parent.list.document.getElementById("search");
oSearch.oxid.value=sID;
oSearch.fnc.value='';
oSearch.submit();
}
function EditThis( sID)
{
var oTransfer = document.getElementById("transfer");
oTransfer.oxid.value=sID;
oTransfer.cl.value='';
oTransfer.submit();
var oSearch = parent.list.document.getElementById("search");
oSearch.actedit.value = 0;
oSearch.oxid.value=sID;
oSearch.submit();
}
function _groupExp(el) {
var _cur = el.parentNode;
if (_cur.className == "exp") _cur.className = "";
else _cur.className = "exp";
}
-->
</script>
<style type="text/css">
<!--
fieldset {
border: 1px inset black;
background-color: #F0F0F0;
}
legend {
font-weight: bold;
}
dl dt {
font-weight: normal;
width: 55%;
}
.ext_edittext {
padding: 2px;
}
td.edittext {
white-space: normal;
}
.servicedesc {
background-color: #d4ffd4;
border: 1px solid green;
margin-bottom: 10px;
padding: 5px;
text-align: center;
}
.servicedesc a {
text-decoration: underline;
}
-->
</style>
[{if $readonly}]
[{assign var="readonly" value="readonly disabled"}]
[{else}]
[{assign var="readonly" value=""}]
[{/if}]
<form name="transfer" id="transfer" action="[{$oViewConf->getSelfLink()}]" method="post">
[{$oViewConf->getHiddenSid()}]
<input type="hidden" name="oxid" value="[{$oxid}]">
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="actshop" value="[{$shop->id}]">
<input type="hidden" name="editlanguage" value="[{$editlanguage}]">
</form>
<form name="myedit" id="myedit" action="[{$oViewConf->getSelfLink()}]" method="post">
[{$oViewConf->getHiddenSid()}]
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="fnc" value="save">
<input type="hidden" name="oxid" value="[{$oxid}]">
<input type="hidden" name="editval[oxid]" value="[{$oxid}]">
<table border="0" width="98%">
<tr>
<td valign="top" class="edittext">
[{if $oView->getValueStatus() == 'error'}]
<hr>
<span style="font-weight: bold;">[{oxmultilang ident="D3_CFG_MOD_GENERAL_NOCONFIG_DESC"}]</span>
<br>
<br>
<span class="d3modcfg_btn fixed icon status_attention">
<input type="submit" value="[{oxmultilang ident="D3_CFG_MOD_GENERAL_NOCONFIG_BTN"}]">
<span></span>
</span>
</form>
</div>
[{else}]
[{if $oView->getGaType() == 'universal'}]
[{assign var="blUniversalDisabled" value="disabled readonly"}]
[{assign var="blAsyncDisabled" value=""}]
[{elseif $oView->getGaType() == 'async'}]
[{assign var="blUniversalDisabled" value=""}]
[{assign var="blAsyncDisabled" value="disabled readonly"}]
[{else}]
[{assign var="blUniversalDisabled" value=""}]
[{assign var="blAsyncDisabled" value=""}]
[{/if}]
<div class="servicedesc">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDS_DESC"}] [{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDS_DESC1"}]</div>
<div class="groupExp">
<div class="">
<a class="rc" onclick="_groupExp(this); return false;" href="#">
<span style="font-weight: bold;">
[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSMAIN"}]
</span>
</a>
<dl>
<dt>
<label for="blD3GASetAdWordsCampaignTrack">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSCODE_SETCAMPAIGNTRACK"}]</label>
[{* _gaq.push(['_setCampaignTrack', false]); *}]
</dt>
<dd>
<input type="hidden" name="value[blD3GASetAdWordsCampaignTrack]" value="0">
<input id="blD3GASetAdWordsCampaignTrack" class="edittext ext_edittext" type="checkbox" value="1" [{if $edit->getValue('blD3GASetAdWordsCampaignTrack')}]checked[{/if}] name="value[blD3GASetAdWordsCampaignTrack]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDSCODE_SETCAMPAIGNTRACK_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="blD3GASetCampNoKey">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNOKEY"}]</label>
[{* _gaq.push(['_setCampNOKey', 'ga_nooverride']); *}]
</dt>
<dd>
<input type="hidden" name="value[blD3GASetCampNoKey]" value="0">
<input id="blD3GASetCampNoKey" class="edittext ext_edittext" type="checkbox" value="1" [{$blUniversalDisabled}] [{if $edit->getValue('blD3GASetCampNoKey')}]checked[{/if}] name="value[blD3GASetCampNoKey]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNOKEY_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GASetCampIdKey">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPIDKEY"}]</label>
[{* _gaq.push(['_setCampId', 'ga_content']); *}]
</dt>
<dd>
<input id="sD3GASetCampIdKey" class="edittext ext_edittext" type="text" [{$blAsyncDisabled}] size="30" maxlength="100" value="[{$edit->getValue('sD3GASetCampIdKey')}]" name="value[sD3GASetCampIdKey]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPIDKEY_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GASetCampNameKey">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNAMEKEY"}]</label>
[{* _gaq.push(['_setCampNameKey', 'ga_campaign']); *}]
</dt>
<dd>
<input id="sD3GASetCampNameKey" class="edittext ext_edittext" type="text" size="30" maxlength="100" value="[{$edit->getValue('sD3GASetCampNameKey')}]" name="value[sD3GASetCampNameKey]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPNAMEKEY_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GASetCampMediumKey">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPMEDIUMKEY"}]</label>
[{* _gaq.push(['_setCampMediumKey', 'ga_medium']); *}]
</dt>
<dd>
<input id="sD3GASetCampMediumKey" class="edittext ext_edittext" type="text" size="30" maxlength="100" value="[{$edit->getValue('sD3GASetCampMediumKey')}]" name="value[sD3GASetCampMediumKey]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPMEDIUMKEY_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GASetCampSourceKey">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPSOURCEKEY"}]</label>
[{* _gaq.push(['_setCampSourceKey', 'ga_source']); *}]
</dt>
<dd>
<input id="sD3GASetCampSourceKey" class="edittext ext_edittext" type="text" size="30" maxlength="100" value="[{$edit->getValue('sD3GASetCampSourceKey')}]" name="value[sD3GASetCampSourceKey]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPSOURCEKEY_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GASetCampTermKey">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPTERMKEY"}]</label>
[{* _gaq.push(['_setCampTermKey', 'ga_term']); *}]
</dt>
<dd>
<input id="sD3GASetCampTermKey" class="edittext ext_edittext" type="text" size="30" maxlength="100" value="[{$edit->getValue('sD3GASetCampTermKey')}]" name="value[sD3GASetCampTermKey]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPTERMKEY_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GASetCampContentKey">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPCONTENTKEY"}]</label>
[{* _gaq.push(['_setCampContentKey', 'ga_content']); *}]
</dt>
<dd>
<input id="sD3GASetCampContentKey" class="edittext ext_edittext" type="text" size="30" maxlength="100" value="[{$edit->getValue('sD3GASetCampContentKey')}]" name="value[sD3GASetCampContentKey]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPCONTENTKEY_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GASetCampaignCookieTimeout">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPAIGNCOOKIETIMEOUT"}]</label>
[{* _gaq.push(['_setCampaignCookieTimeout', 31536000000]); *}]
</dt>
<dd>
<input id="sD3GASetCampaignCookieTimeout" class="edittext ext_edittext" [{$blUniversalDisabled}] type="text" size="30" maxlength="30" value="[{$edit->getValue('sD3GASetCampaignCookieTimeout')}]" name="value[sD3GASetCampaignCookieTimeout]"> [{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPAIGNCOOKIETIMEOUT_MS"}]
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDSMAIN_SETCAMPAIGNCOOKIETIMEOUT_DESC"}]
</dd>
</dl>
</div>
</div>
<div class="groupExp">
<div class="">
<a class="rc" onclick="_groupExp(this); return false;" href="#">
<span style="font-weight: bold;">
[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSGENERAL"}]
</span>
</a>
<dl>
<dt>
<label for="blD3GASetConversionTracking">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDS_SETCONVERSIONTRACKING"}]</label>
[{* _gaq.push(['_setCampaignTrack', false]); *}]
</dt>
<dd>
<input type="hidden" name="value[blD3GASetConversionTracking]" value="0">
<input id="blD3GASetConversionTracking" class="edittext ext_edittext" type="checkbox" value="1" [{if $edit->getValue('blD3GASetConversionTracking')}]checked[{/if}] name="value[blD3GASetConversionTracking]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDS_SETCONVERSIONTRACKING_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GAAdWordConversionId">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDS_CONVID"}]</label>
</dt>
<dd>
<input type="text" class="edittext ext_edittext" size="15" maxlength="50" name="value[sD3GAAdWordConversionId]" value="[{$edit->getValue('sD3GAAdWordConversionId')}]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDS_CONVID_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GAAdWordConversionLabel">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDS_CONVLABEL"}]</label>
</dt>
<dd>
<input type="text" class="edittext ext_edittext" size="15" maxlength="50" name="value[sD3GAAdWordConversionLabel]" value="[{$edit->getValue('sD3GAAdWordConversionLabel')}]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDS_CONVLABEL_DESC"}]
</dd>
</dl>
</div>
</div>
<div class="groupExp">
<div class="">
<a class="rc" onclick="_groupExp(this); return false;" href="#">
<span style="font-weight: bold;">
[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDSREMARKETING"}]
</span>
</a>
<dl>
<dt>
<label for="blD3GASetRemarketing">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDS_SETREMARKETING"}]</label>
</dt>
<dd>
<input type="hidden" name="value[blD3GASetRemarketing]" value="0">
<input id="blD3GASetRemarketing" class="edittext ext_edittext" type="checkbox" value="1" [{if $edit->getValue('blD3GASetRemarketing')}]checked[{/if}] name="value[blD3GASetRemarketing]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDS_SETREMARKETING_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GARemarketingConversionId">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDS_REMARKETINGCONVID"}]</label>
</dt>
<dd>
<input type="text" class="edittext ext_edittext" size="15" maxlength="15" name="value[sD3GARemarketingConversionId]" value="[{$edit->getValue('sD3GARemarketingConversionId')}]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDS_REMARKETINGCONVID_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GARemarketingConversionLabel">[{oxmultilang ident="D3_GOOGLEANALYTICS_ADWORDS_REMARKETINGCONVLABEL"}]</label>
</dt>
<dd>
<input type="text" class="edittext ext_edittext" size="15" maxlength="15" name="value[sD3GARemarketingConversionLabel]" value="[{$edit->getValue('sD3GARemarketingConversionLabel')}]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_ADWORDS_REMARKETINGCONVLABEL_DESC"}]
</dd>
</dl>
</div>
</div>
<table width="100%">
<tr>
<td class="edittext ext_edittext" align="left"><br>
<span class="d3modcfg_btn icon status_ok">
<input type="submit" name="save" value="[{oxmultilang ident="D3_CFG_MOD_GENERAL_SAVE"}]">
<span></span>
</span>
</td>
</tr>
</table>
[{/if}]
</td>
</tr>
</table>
[{include file="d3_cfg_mod_inc.tpl"}]

Datei anzeigen

@ -0,0 +1,176 @@
[{include file="headitem.tpl" title="D3_GOOGLEANALYTICS_CFG_TITLE"|oxmultilangassign}]
<script type="text/javascript">
<!--
[{if $updatelist == 1}]
UpdateList('[{$oxid}]');
[{/if}]
function UpdateList( sID)
{
var oSearch = parent.list.document.getElementById("search");
oSearch.oxid.value=sID;
oSearch.fnc.value='';
oSearch.submit();
}
function EditThis( sID)
{
var oTransfer = document.getElementById("transfer");
oTransfer.oxid.value=sID;
oTransfer.cl.value='';
oTransfer.submit();
var oSearch = parent.list.document.getElementById("search");
oSearch.actedit.value = 0;
oSearch.oxid.value=sID;
oSearch.submit();
}
function _groupExp(el) {
var _cur = el.parentNode;
if (_cur.className == "exp") _cur.className = "";
else _cur.className = "exp";
}
-->
</script>
<style type="text/css">
<!--
fieldset {
border: 1px inset black;
background-color: #F0F0F0;
}
legend {
font-weight: bold;
}
dl dt {
font-weight: normal;
width: 55%;
}
.ext_edittext {
padding: 2px;
}
td.edittext {
white-space: normal;
}
.servicedesc {
background-color: #d4ffd4;
border: 1px solid green;
margin-bottom: 10px;
padding: 5px;
text-align: center;
}
.servicedesc a {
text-decoration: underline;
}
-->
</style>
[{if $readonly}]
[{assign var="readonly" value="readonly disabled"}]
[{else}]
[{assign var="readonly" value=""}]
[{/if}]
<form name="transfer" id="transfer" action="[{$oViewConf->getSelfLink()}]" method="post">
[{$oViewConf->getHiddenSid()}]
<input type="hidden" name="oxid" value="[{$oxid}]">
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="actshop" value="[{$shop->id}]">
<input type="hidden" name="editlanguage" value="[{$editlanguage}]">
</form>
<form name="myedit" id="myedit" action="[{$oViewConf->getSelfLink()}]" method="post">
[{$oViewConf->getHiddenSid()}]
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="fnc" value="save">
<input type="hidden" name="oxid" value="[{$oxid}]">
<input type="hidden" name="editval[oxid]" value="[{$oxid}]">
<table border="0" width="98%">
<tr>
<td valign="top" class="edittext">
[{if $oView->getValueStatus() == 'error'}]
<hr>
<span style="font-weight: bold;">[{oxmultilang ident="D3_CFG_MOD_GENERAL_NOCONFIG_DESC"}]</span>
<br>
<br>
<span class="d3modcfg_btn fixed icon status_attention">
<input type="submit" value="[{oxmultilang ident="D3_CFG_MOD_GENERAL_NOCONFIG_BTN"}]">
<span></span>
</span>
</form>
</div>
[{else}]
<div class="servicedesc">[{oxmultilang ident="D3_GOOGLEANALYTICS_CAMPAIGNS_DESC"}] [{oxinputhelp ident="D3_GOOGLEANALYTICS_CAMPAIGNS_DESC1"}]</div>
<div class="groupExp">
<div class="">
<a class="rc" onclick="_groupExp(this); return false;" href="#">
<span style="font-weight: bold;">
[{oxmultilang ident="D3_GOOGLEANALYTICS_CAMPAIGNSETTINGS"}]
</span>
</a>
<dl>
<dt>
<label for="blD3GASetCampaignTrack">[{oxmultilang ident="D3_GOOGLEANALYTICS_SETCAMPAIGNTRACK"}]</label>
[{* _gaq.push(['_setCampaignTrack', false]); *}]
</dt>
<dd>
<input type="hidden" name="value[blD3GASetCampaignTrack]" value="0">
<input id="blD3GASetCampaignTrack" class="edittext ext_edittext" type="checkbox" value="1" [{if $edit->getValue('blD3GASetCampaignTrack')}]checked[{/if}] name="value[blD3GASetCampaignTrack]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_SETCAMPAIGNTRACK_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="blD3GASetCampaignOnThankyouOnly">[{oxmultilang ident="D3_GOOGLEANALYTICS_SETCAMPAIGNTHANKYOUONLY"}]</label>
</dt>
<dd>
<input type="hidden" name="value[blD3GASetCampaignOnThankyouOnly]" value="0">
<input id="blD3GASetCampaignOnThankyouOnly" class="edittext ext_edittext" type="checkbox" value="1" [{if $edit->getValue('blD3GASetCampaignOnThankyouOnly')}]checked[{/if}] name="value[blD3GASetCampaignOnThankyouOnly]">
[{oxinputhelp ident="D3_GOOGLEANALYTICS_SETCAMPAIGNTHANKYOUONLY_DESC"}]
</dd>
</dl>
<dl>
<dt>
<label for="sD3GACampaignCode">[{oxmultilang ident="D3_GOOGLEANALYTICS_CAMPAIGNCODE_CODE"}]</label>
</dt>
<dd>
<textarea id="sD3GACampaignCode" class="edittext ext_edittext" cols="80" rows="7" name="value[sD3GACampaignCode]">[{strip}]
[{$edit->getValue('sD3GACampaignCode')}]
[{/strip}]</textarea>
[{oxinputhelp ident="D3_GOOGLEANALYTICS_CAMPAIGNCODE_CODE_DESC"}]
</dd>
</dl>
</div>
</div>
<table width="100%">
<tr>
<td class="edittext ext_edittext" align="left"><br>
<span class="d3modcfg_btn icon status_ok">
<input type="submit" name="save" value="[{oxmultilang ident="D3_CFG_MOD_GENERAL_SAVE"}]">
<span></span>
</span>
</td>
</tr>
</table>
[{/if}]
</td>
</tr>
</table>
[{include file="d3_cfg_mod_inc.tpl"}]

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden Mehr anzeigen