12. 10. 2020, 14:47

Guten Tag zusammen,

ich bin neu im Forum und beschäftige mich eigentlich mit Online-Marketing via Goole Ads und co.

Jetzt ist es aber so, dass wir eine Website haben, die mit Typo3 erstellt wurde und bisher keine Statistiken aufzeichnet.

Nun habe ich von Piwik bzw. Matomo gehört und würde dies gerne in die Typo3 Website integrieren (Code).

Habe den Quellcode soweit erstellt und auch schon herausgefunden, wo dieser intergiert werden müsste.

Bevor ich aber zu schnell agiere und die Website möglicherweise nicht mehr läuft, würde ich euch gerne um Rat fragen und hoffe ihr könnt mir helfen. :)

Dies ist der Code von Matoma:
<!-- Matomo -->
<script type="text/javascript">
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
_paq.push(["setCookieDomain", "*.carl.media"]);
_paq.push(["setDomains", ["*.carl.media"]]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://carlmedia.matomo.cloud/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.src='//cdn.matomo.cloud/carlmedia.matomo.cloud/matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="https://carlmedia.matomo.cloud/matomo.php?idsite=1&amp;rec=1" style="border:0;" alt="" /></p></noscript>
<!-- End Matomo Code -->

Die Frage ist jetzt, wo ich diesen einfügen kann?
Bisherige Recherche ergab folgenden Pfad:
Template -> "Klicken Sie hier, um dieses Template anzuzeigen." -> "Setup"
Dort wird folgendes angezeigt:

#Page Config
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/ts/tsConfig.ts">

tt_content.image.20.1.layout.picturefill {
element (
<picture class="first-match">
<!--[if IE 9]><video style="display: none;"><![endif]-->
###SOURCECOLLECTION###



<img srcset="###SRC###" ###PARAMS### ###ALTPARAMS######SELFCLOSINGTAGSLASH###>
<!--[if IE 9]></video><![endif]-->

<noscript>
<img src="###SRC###" ###ALTPARAMS######SELFCLOSINGTAGSLASH###>
</noscript>

</picture>
)
source = <source srcset="###SRC###" media="###MEDIAQUERY###"></source>
}

tt_content.image.20.maxW >
tt_content.image.20.maxWInText >
tt_content.image.20.maxWInText = 375
tt_content.image.20.maxW = 1240
tt_content.image.20.1.sourceCollection {

small >
smallRetina >

small {
width = 180
maxW = 200
mediaQuery = (min-width: 100px) AND (max-width: 400px)
srcsetCandidate = 200w
dataKey = small
}

middle {
width =
maxW = 300
mediaQuery = (min-width: 401px) AND (max-width: 480px)
srcsetCandidate = 300w
dataKey = middle
}

smallRetina {
width =
maxW =
pixelDensity = 2
mediaQuery = (max-device-width: 601px) AND (min-resolution: 96dpi)
srcsetCandidate = 600w 2x
dataKey = smallRetina

}

large {
width =
maxW < tt_content.image.20.maxW
srcsetCandidate = 1240w
mediaQuery = (min-width: 481px) AND (max-width: 1240px)
dataKey = large
}
extralarge_x2 {
width =
maxW =
srcsetCandidate = 1240w
mediaQuery = (min-width: 481px) AND (max-width: 1024px)
dataKey = extralarge_x2
}

# extralarge_x2.maxW = 100px
# extralarge_x2.mediaQuery = only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait)
}

page.includeJSFooterlibs.bootstrap >

#CE Layout

tt_content.stdWrap.innerWrap.cObject.default.20.40 = CASE
tt_content.stdWrap.innerWrap.cObject.default.20.40 {
key.field = layout

1 = TEXT
1.value = csc-default whiteFont

2 = TEXT
2.value = csc-default lightBg

3 = TEXT
3.value = csc-default darkBg

100 = TEXT
100.value = csc-default download

}

#CE Rahmen
tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
key.field = section_frame
90 = TEXT
90.value=<div class="bdRec">|</div>
#90.dataWrap= <a id="c{field:uid}"></a>|
100 = TEXT
100.value=<div class="download">|</div>

}

lib.stdheader.10 {
70 = TEXT
70.current = 1
70.insertData = 1
70.fontTag = <h3 class="borderTopBlack">|</h3>
}
#tt_content.stdWrap.wrap = <div class="ce layout-{field:layout}"><div class="inner">|</div></div>
#tt_content.stdWrap.insertData = 1

#Header Layout
lib.bsheader < lib.stdheader

lib.bsheader.10.5.dataWrap >
lib.bsheader.10.5.noTrimWrap = |<h2 class="borderTopBlack">{register:headerIcon} | {register:subheader}</h2>|
lib.bsheader.10.5.insertData = 1

lib.bsheader.10.70 < lib.bsheader.10.1
lib.bsheader.10.70.noTrimWrap = |<h3 class="GTRockt">{register:headerIcon} | {register:subheader}</h3>|
lib.bsheader.10.70.insertData = 1

lib.bsheader.10.75 < lib.bsheader.10.1
lib.bsheader.10.75.noTrimWrap = |<h4 class="borderTopBlack">{register:headerIcon} | {register:subheader}</h4>|
lib.bsheader.10.75.insertData = 1

lib.bsheader.10.72 < lib.bsheader.10.1
lib.bsheader.10.72.noTrimWrap = |<h2 class="borderTopBlack">{register:headerIcon} | {register:subheader}</h2>|
lib.bsheader.10.72.insertData = 1

lib.mainContent = TEXT
lib.mainContent.data = TSFE:id
lib.mainContent.insertData = 1

###Header im Tab weg machen
tt_content.gridelements_pi1.20.10.setup.tabs_tab {
innerWrap.cObject = <
}

###Background Image
lib.backImage = IMG_RESOURCE
lib.backImage {
file {
import.data = levelmedia:-1
treatIdAsReference = 1
import.listNum = 0

}
stdWrap.noTrimWrap = | data-background="https://carl.media/| "
required = 1

}

page.bodyTagCObject {
50 < lib.backImage
}

page.cssInline {
# 133 < lib.backImage
}

lib.datum = TEXT
lib.datum.data = date : U
#lib.datum.strftime = %A, %d. %B %Y
# z.B. Dienstag, 01. Juni 2010

lib.zeit = TEXT
lib.zeit.data = date : U
lib.zeit.strftime = %R

lib.pageid = TEXT
lib.pageid.typolink {
parameter.data = page:uid
returnLast = url
}

#plugin.tx_news.settings.enablePreviewOfHiddenRecords =1

###Linkhandler
plugin.tx_linkhandler {
# Tabellenname
tx_news_domain_model_news {
# Link erzwingen, auch wenn die News versteckt ist
forceLink = 1
# typolink settings
parameter = 5
# alle nötigen Parameter
#additionalParams = &tx_news_pi1[news]={field:uid}&tx_news_pi1[controller]=News&tx_news_pi1[action]=detail
additionalParams = &tx_news_pi1[news]={field:uid}
additionalParams.insertData = 1
# use caching
useCacheHash = 1
}
}

tt_content.shortcut.20.conf.tx_news_domain_model_news.settings.list.media.image.maxWidth = 720
tt_content.shortcut.20.conf.tx_news_domain_model_news.settings.list.media.image.maxHeight = 260

module.tx_powermail.view.templateRootPath =

plugin.tx_powermail {
view {
templateRootPath >
templateRootPaths {
100 = fileadmin/templates/ext/powermail/Templates/
200 = fileadmin/templates/ext/powermail200/Templates/
}
partialRootPath >
partialRootPaths {
100 = fileadmin/templates/ext/powermail/Partials/
200 = fileadmin/templates/ext/powermail200/Partials/
}
layoutRootPath >
layoutRootPaths {
100 = EXT:powermail/Resources/Private/Layouts/
}
}
}

###Timestamp für Bestellung
lib.tstamp = TEXT
lib.tstamp.data = date:U

plugin.tx_scriptmerger.javascript.parseBody = 0

plugin.tx_yag.settings.themes.nivoSlider.includeJS.nivoSlider =<

config.tx_extbase.persistence.enableAutomaticCacheClearing = 0
plugin.tx_scriptmerger.javascript.merge.ignore =
#page.headerData.30.5.wrap =
page.headerData.30.5.wrap = <meta name="author" content="|" />

Ich freue mich auf euer Feedback