Initial commit - Typo3 11.5.41
@@ -0,0 +1,68 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _config:
|
||||
|
||||
|
||||
=============================================================
|
||||
Configuration
|
||||
=============================================================
|
||||
|
||||
.. container:: row m-0 p-0
|
||||
|
||||
.. container:: col-12 col-md-6 pl-0 pr-3 py-3 m-0
|
||||
|
||||
.. container:: card px-0 h-100
|
||||
|
||||
.. rst-class:: card-header h3
|
||||
|
||||
.. rubric:: :ref:`Basic <config_basics>`
|
||||
|
||||
.. container:: card-body
|
||||
|
||||
The default constants configruation for the plugin
|
||||
|
||||
.. container:: col-12 col-md-6 pl-0 pr-3 py-3 m-0
|
||||
|
||||
.. container:: card px-0 h-100
|
||||
|
||||
.. rst-class:: card-header h3
|
||||
|
||||
.. rubric:: :ref:`Palette <config_palette>`
|
||||
|
||||
.. container:: card-body
|
||||
|
||||
Customizing the consent Window
|
||||
|
||||
.. container:: col-12 col-md-6 pl-0 pr-3 py-3 m-0
|
||||
|
||||
.. container:: card px-0 h-100
|
||||
|
||||
.. rst-class:: card-header h3
|
||||
|
||||
.. rubric:: :ref:`Overlay <config_overlay>`
|
||||
|
||||
.. container:: card-body
|
||||
|
||||
Customizing the Overlay Window
|
||||
|
||||
.. container:: col-12 col-md-6 pl-0 pr-3 py-3 m-0
|
||||
|
||||
.. container:: card px-0 h-100
|
||||
|
||||
.. rst-class:: card-header h3
|
||||
|
||||
.. rubric:: :ref:`Example Configuration <example>`
|
||||
|
||||
.. container:: card-body
|
||||
|
||||
A example configuration
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:hidden:
|
||||
:titlesonly:
|
||||
|
||||
Constants/Default
|
||||
Constants/Palette
|
||||
Constants/Overlay
|
||||
Constants/Example
|
||||
@@ -0,0 +1,91 @@
|
||||
.. include:: ../../Includes.rst.txt
|
||||
|
||||
.. _config_basics:
|
||||
|
||||
===========
|
||||
Basic
|
||||
===========
|
||||
|
||||
plugin.tx_cookieconsent.settings.
|
||||
=========
|
||||
|
||||
url
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
PID to Data Protection
|
||||
|
||||
storagePid
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
PID to Cookie Folder
|
||||
|
||||
target
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Link target of read more link
|
||||
:aspect:`Default`
|
||||
_bank
|
||||
|
||||
theme
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Layout Class of the consent
|
||||
:aspect:`Options`
|
||||
edgeless, :guilabel:`... following ..`
|
||||
:aspect:`Default`
|
||||
edgeless
|
||||
|
||||
position
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
position of the consent
|
||||
:aspect:`Options`
|
||||
bottom, top, bottom-left, bottom-right
|
||||
:aspect:`Default`
|
||||
bottom-right
|
||||
|
||||
revokable
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Some countries REQUIRE that users can change their mind
|
||||
:aspect:`Options`
|
||||
true, false
|
||||
:aspect:`Default`
|
||||
true
|
||||
|
||||
reloadOnRevoke
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
force page reload after revoke
|
||||
:aspect:`Options`
|
||||
true, false
|
||||
:aspect:`Default`
|
||||
false
|
||||
|
||||
type
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
consent types
|
||||
:aspect:`Options`
|
||||
opt-in, :guilabel:`... following ..`
|
||||
:aspect:`Default`
|
||||
opt-in
|
||||
|
||||
statistics
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
pre check statistics in checkboxes layout
|
||||
:aspect:`Options`
|
||||
true, false
|
||||
:aspect:`Default`
|
||||
false
|
||||
|
||||
marketing
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
pre check marketing in checkboxes layout
|
||||
:aspect:`Options`
|
||||
true, false
|
||||
:aspect:`Default`
|
||||
false
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
.. include:: ../../Includes.rst.txt
|
||||
|
||||
.. _example:
|
||||
|
||||
===========
|
||||
Example
|
||||
===========
|
||||
|
||||
This example configuration is based on the base TypoScript-Constants configuration (see :ref:`installation`).
|
||||
|
||||
.. code-block:: typoscript
|
||||
:caption: TypoScript constants
|
||||
|
||||
plugin.tx_cookieconsent.settings {
|
||||
# PID to Data Protection
|
||||
url =
|
||||
# PID of Cookie Storage
|
||||
storagePid =
|
||||
# Layout
|
||||
theme = edgeless
|
||||
# Position
|
||||
position = bottom-right
|
||||
# Type (info, opt-out, opt-in)
|
||||
type = opt-in
|
||||
# pre check statistics in checkboxes layout
|
||||
statistics = false
|
||||
# pre check statistics in checkboxes layout
|
||||
marketing = false
|
||||
|
||||
# show Iframe overlay
|
||||
overlay {
|
||||
# Enable Iframe overlay
|
||||
notice = true
|
||||
|
||||
box {
|
||||
# Overlay: Background
|
||||
background = rgba(0,0,0,.8)
|
||||
# Overlay: Text
|
||||
text = #fff
|
||||
}
|
||||
button {
|
||||
# Overlay Button: Background
|
||||
background = #b81839
|
||||
# Overlay Button: Text
|
||||
text = #fff
|
||||
}
|
||||
}
|
||||
|
||||
# Cookiehint Style
|
||||
palette {
|
||||
popup {
|
||||
# Bar: Background color
|
||||
background = rgba(0,0,0,.8)
|
||||
# Bar: text color
|
||||
text = #fff
|
||||
}
|
||||
button {
|
||||
# Button: Background color
|
||||
background = #b81839
|
||||
# Button: text color
|
||||
text = #fff
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
.. include:: ../../Includes.rst.txt
|
||||
|
||||
.. _config_overlay:
|
||||
|
||||
===========
|
||||
Overlay
|
||||
===========
|
||||
|
||||
Customizing the Overlay Window
|
||||
|
||||
.. figure:: ../../Images/iframe-overlay.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
plugin.tx_cookieconsent.settings.overlay.
|
||||
=========
|
||||
|
||||
notice
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
enable or disable overlays (iframe, content)
|
||||
:aspect:`Options`
|
||||
true, false
|
||||
:aspect:`Default`
|
||||
true
|
||||
|
||||
box.background
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Overlay: Background color
|
||||
:aspect:`Options`
|
||||
rgba(), #hexa
|
||||
:aspect:`Default`
|
||||
rgba(0,0,0,.8)
|
||||
|
||||
box.text
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Overlay: text color
|
||||
:aspect:`Options`
|
||||
rgba(), #hexa
|
||||
:aspect:`Default`
|
||||
#fff
|
||||
|
||||
button.background
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Overlay: Button Background color
|
||||
:aspect:`Options`
|
||||
rgba(), #hexa
|
||||
:aspect:`Default`
|
||||
#b81839
|
||||
|
||||
button.text
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Overlay: Button text color
|
||||
:aspect:`Options`
|
||||
rgba(), #hexa
|
||||
:aspect:`Default`
|
||||
#fff
|
||||
@@ -0,0 +1,52 @@
|
||||
.. include:: ../../Includes.rst.txt
|
||||
|
||||
.. _config_palette:
|
||||
|
||||
===========
|
||||
Palette
|
||||
===========
|
||||
|
||||
Customizing the consent Window
|
||||
|
||||
.. figure:: ../../Images/consent-box.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
plugin.tx_cookieconsent.settings.palette.
|
||||
=========
|
||||
|
||||
popup.background
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Consent Background color
|
||||
:aspect:`Options`
|
||||
rgba(), #hexa
|
||||
:aspect:`Default`
|
||||
rgba(0,0,0,.8)
|
||||
|
||||
popup.background
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Consent Text color
|
||||
:aspect:`Options`
|
||||
rgba(), #hexa
|
||||
:aspect:`Default`
|
||||
#fff
|
||||
|
||||
button.background
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Consent Button Background color
|
||||
:aspect:`Options`
|
||||
rgba(), #hexa
|
||||
:aspect:`Default`
|
||||
#b81839
|
||||
|
||||
button.text
|
||||
--------------------
|
||||
:aspect:`Description`
|
||||
Consent Button Text color
|
||||
:aspect:`Options`
|
||||
rgba(), #hexa
|
||||
:aspect:`Default`
|
||||
#fff
|
||||
@@ -0,0 +1,19 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _content:
|
||||
|
||||
===========
|
||||
Content Loading
|
||||
===========
|
||||
If you want to load a Youtube Video or any other HTMl Code after the consent is accepted take a loot to the new Content element.
|
||||
|
||||
.. figure:: ../Images/be-element.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
Just add your Youtube embed Code into this element, and the Plugin will handle it four you.
|
||||
|
||||
.. figure:: ../Images/be-element-detail.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _cookielist:
|
||||
|
||||
===========
|
||||
Cookie listing
|
||||
===========
|
||||
|
||||
.. figure:: ../Images/be-element-cookie-list.png
|
||||
:class: with-shadow
|
||||
:width: 600px
|
||||
|
||||
If you want to list all your defined cookies in the data privacy, use the **Cookie Listing** content element.
|
||||
|
||||
.. figure:: ../Images/be-cookies.png
|
||||
:class: with-shadow
|
||||
:width: 600px
|
||||
|
||||
Define the Startingpoint where u placed alle cookie information.
|
||||
|
||||
.. figure:: ../Images/data-privacy-cookie-list.png
|
||||
:class: with-shadow
|
||||
:width: 600px
|
||||
|
||||
As result u get a `Bootstrap Table <https://getbootstrap.com/docs/5.0/content/tables/>`_ which shows u all defined cookies.
|
||||
@@ -0,0 +1,78 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _language:
|
||||
|
||||
===========
|
||||
Language changes
|
||||
===========
|
||||
|
||||
You can change the default language packs by adding new translations via TypoScript
|
||||
|
||||
.. note::
|
||||
**If you are from a country other than Germany, let me know your legal text and I will mark it for the next version!**
|
||||
|
||||
Arguments
|
||||
=========
|
||||
.. _language_arguments:
|
||||
plugin.tx_dp_cookieconsent._LOCAL_LANG.##LANG##.
|
||||
--------------------
|
||||
:aspect:`message`
|
||||
the default consent message
|
||||
|
||||
:aspect:`dismiss`
|
||||
allow cookie button
|
||||
|
||||
:aspect:`link`
|
||||
read more link
|
||||
|
||||
:aspect:`deny`
|
||||
decline button
|
||||
|
||||
:aspect:`allow`
|
||||
allow cookie button
|
||||
|
||||
:aspect:`allowall`
|
||||
allow all cookie button
|
||||
|
||||
:aspect:`dpRequire`
|
||||
checkbox required label
|
||||
|
||||
:aspect:`dpStatistik`
|
||||
checkbox statistic label
|
||||
|
||||
:aspect:`dpMarketing`
|
||||
checkbox marketing label
|
||||
|
||||
:aspect:`media.notice`
|
||||
overlay notice headline
|
||||
|
||||
:aspect:`media.desc`
|
||||
overlay notice text
|
||||
|
||||
:aspect:`media.btn`
|
||||
overlay button text
|
||||
|
||||
|
||||
.. code-block:: typoscript
|
||||
:caption: TypoScript setup
|
||||
|
||||
plugin.tx_dp_cookieconsent._LOCAL_LANG {
|
||||
de {
|
||||
message = XXX
|
||||
dismiss = XXX
|
||||
allow = XXX
|
||||
link = XXX
|
||||
deny = XXX
|
||||
allowall = XXX
|
||||
|
||||
# Checkbox labels
|
||||
dpRequire = XXX
|
||||
dpStatistik = XXX
|
||||
dpMarketing = XXX
|
||||
|
||||
# Iframe Overlay text
|
||||
media.notice = XXX
|
||||
media.desc = XXX
|
||||
media.btn = XXX
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _scripts:
|
||||
|
||||
===========
|
||||
Script loading
|
||||
===========
|
||||
Since version 1.3.0, you can define scripts such as Google Analytics in the TYPO3 backend that are loaded after the content has been accepted.
|
||||
To do this, define the cookie and select the consent type.
|
||||
|
||||
.. note::
|
||||
make sure u defined the storagePid :ref:`Configuration <config_arguments>`
|
||||
|
||||
.. figure:: ../Images/be-cookies.png
|
||||
:class: with-shadow
|
||||
:width: 600px
|
||||
|
||||
list of defined cookies
|
||||
|
||||
.. figure:: ../Images/be-cookie-example.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
basic cookie information
|
||||
|
||||
.. figure:: ../Images/be-cookie-example-scripts.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
script that loads after consent
|
||||
|
||||
|
||||
If you want to define the script directly in your code, look in the :ref:`developer area <scripts_code>`.
|
||||
@@ -0,0 +1,26 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _checkboxes_code:
|
||||
|
||||
===========
|
||||
Dynamic Checkboxes
|
||||
===========
|
||||
With this feature you can add or modify the checkbox types by configuration.
|
||||
All you have to do is setting your new checkbox in TS and add it to the partial template:
|
||||
|
||||
Configuration/TypoScript/setup.txt:
|
||||
|
||||
.. code-block:: typoscript
|
||||
|
||||
page.footerData.998.20.settings.checkboxes.thirdparty = {$plugin.tx_cookieconsent.settings.thirdparty}
|
||||
|
||||
Resources/Private/Partials/CookieSelection.html:
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<label for="dp--cookie-thirdparty">
|
||||
<f:form.checkbox id="dp--cookie-thirdparty" class="dp--check-box" checked="{settings.checkboxes.thirdparty}" value="" />
|
||||
<f:translate key="dpThirdparty" extensionName="dp_cookieconsent" />
|
||||
</label>
|
||||
|
||||
`F.A.Q. How to remove unneccesary checkboxes <https://github.com/DirkPersky/typo3-dp_cookieconsent/wiki/How-to-remove-unneccesary-checkboxes>`_
|
||||
@@ -0,0 +1,24 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _content_code:
|
||||
|
||||
===========
|
||||
load content after accepting
|
||||
===========
|
||||
**if you want to add contents that will only be visible if the consent hint is accepted**
|
||||
You can also handle this part from an :ref:`Content element <content>` if you want.
|
||||
|
||||
Your HTML markup for this is
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<dp-content
|
||||
data-cookieconsent="statistics"
|
||||
class="dp--iframe"
|
||||
|
||||
data-cookieconsent-notice="Cookie Notice"
|
||||
data-cookieconsent-description="Loading this...."
|
||||
data-cookieconsent-btn="allow cookies and load this ...."
|
||||
>
|
||||
YOUR CONTENT
|
||||
</dp-content>
|
||||
@@ -0,0 +1,45 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _iframe_code:
|
||||
|
||||
===========
|
||||
iframe loading from HTML
|
||||
===========
|
||||
You can also handle this part from an :ref:`Content element <content>` if you want.
|
||||
|
||||
load iframe after accepting
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
If you want to load iframes (YouTube, GMap, ..) after the Cookie is accepted you can use this snippet
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<iframe width="560" height="315"
|
||||
data-cookieconsent="statistics"
|
||||
data-src="https://www.youtube-nocookie.com/embed/XXXXXX?autoplay=1"
|
||||
class="dp--iframe"
|
||||
frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreenn >
|
||||
</iframe>
|
||||
|
||||
With the :guilabel:`class="dp--iframe"` the iframe is hidden by default and would be shown after accepting of the cookie.
|
||||
|
||||
iframe overlay
|
||||
^^^^^^^^^^^^^^
|
||||
**if you want to add an overlay to accept Cookies outside of the cookie hint**
|
||||
|
||||
.. figure:: ../Images/iframe-overlay.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
You also can modify the text in this hint individually per iframe
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<iframe
|
||||
data-cookieconsent="statistics"
|
||||
data-src="https://www.youtube-nocookie.com/embed/XXXXXX?autoplay=1"
|
||||
class="dp--iframe"
|
||||
|
||||
data-cookieconsent-notice="Cookie Notice"
|
||||
data-cookieconsent-description="Loading this...."
|
||||
data-cookieconsent-btn="allow cookies and load this ...."
|
||||
>
|
||||
@@ -0,0 +1,74 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _javascript-api:
|
||||
|
||||
=============================================================
|
||||
JavaScript API
|
||||
=============================================================
|
||||
|
||||
Events
|
||||
=======
|
||||
|
||||
dp--cookie-init
|
||||
^^^^^^^^^^^^^^^
|
||||
.. rst-class:: dl-parameters
|
||||
|
||||
dp--cookie-init
|
||||
:sep:`|`
|
||||
fire event when initialize process is done
|
||||
|
||||
dp--cookie-fire
|
||||
^^^^^^^^^^^^^^^
|
||||
.. rst-class:: dl-parameters
|
||||
|
||||
dp--cookie-fire
|
||||
:sep:`|` :aspect:`Event paremeter:` event.detail.$el
|
||||
:sep:`|`
|
||||
fire after a consent script/iframe is loaded
|
||||
|
||||
dp--cookie-accept
|
||||
^^^^^^^^^^^^^^^
|
||||
.. rst-class:: dl-parameters
|
||||
|
||||
dp--cookie-accept
|
||||
:sep:`|`
|
||||
fire when the consent is accepted
|
||||
|
||||
dp--cookie-accept-init
|
||||
^^^^^^^^^^^^^^^
|
||||
.. rst-class:: dl-parameters
|
||||
|
||||
dp--cookie-accept-init
|
||||
:sep:`|`
|
||||
fire accepted event on revisited
|
||||
|
||||
dp--cookie-deny
|
||||
^^^^^^^^^^^^^^^
|
||||
.. rst-class:: dl-parameters
|
||||
|
||||
dp--cookie-deny
|
||||
:sep:`|`
|
||||
fire when the consend is denied
|
||||
|
||||
dp--cookie-revoke
|
||||
^^^^^^^^^^^^^^^
|
||||
.. rst-class:: dl-parameters
|
||||
|
||||
dp--cookie-revoke
|
||||
:sep:`|`
|
||||
fire when the consent is revoked
|
||||
|
||||
.. code-block:: js
|
||||
|
||||
document.addEventListener('dp--cookie-fire', function (e) {
|
||||
console.log('dp--cookie-fire', e.detail.$el);
|
||||
});
|
||||
document.addEventListener('dp--cookie-accept', function (e) {
|
||||
console.log('dp--cookie-accept', e);
|
||||
});
|
||||
document.addEventListener('dp--cookie-deny', function (e) {
|
||||
console.log('dp--cookie-deny', e);
|
||||
});
|
||||
document.addEventListener('dp--cookie-revoke', function (e) {
|
||||
console.log('dp--cookie-deny', e);
|
||||
});
|
||||
@@ -0,0 +1,27 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _more_code:
|
||||
|
||||
===========
|
||||
build your own overlay
|
||||
===========
|
||||
or accept/deny cookies outside of the cookie hint, you can use the followed examples
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<button
|
||||
onclick="window.DPCookieConsent.forceAccept(this)"
|
||||
data-cookieconsent="statistics"
|
||||
>allow cookies and play video</button>
|
||||
|
||||
**allow cookies**
|
||||
|
||||
.. code-block:: js
|
||||
|
||||
window.DPCookieConsent.forceAccept(this)
|
||||
|
||||
**deny cookies**
|
||||
|
||||
.. code-block:: js
|
||||
|
||||
window.DPCookieConsent.forceDeny(this)
|
||||
@@ -0,0 +1,50 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _scripts_code:
|
||||
|
||||
===========
|
||||
Script loading from HTML
|
||||
===========
|
||||
|
||||
load scripts after accepting
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
**load script sources**
|
||||
If you want to load JavaScript resources after the Cookie is accepted you can use this snippet
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<script data-ignore="1" data-cookieconsent="statistics" type="text/plain" data-src="{YOUR_LINK_TO_JS}"></script>
|
||||
|
||||
**load inline script**
|
||||
If you want to load Inline JavaScript after the Cookie is accepted use this snippet.
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<script data-ignore="1" data-cookieconsent="statistics" type="text/plain">
|
||||
{YOUT_DYN_JS_CODE}
|
||||
</script>
|
||||
|
||||
The :guilabel:`data-ignore="1"` attribute is to cover the `Scriptmerger <https://extensions.typo3.org/extension/scriptmerger/>`_ engine to not combine these parts.
|
||||
|
||||
Checkbox mode
|
||||
^^^^^^^^^^^^
|
||||
Your customer can choose what types of scripts/cookies he wants to allow.
|
||||
These 2 types are possible and handled by the consent:
|
||||
|
||||
|
||||
statistics
|
||||
--------------------
|
||||
:aspect:`data-cookieconsent`
|
||||
statistics
|
||||
.. code-block:: html
|
||||
|
||||
<script data-cookieconsent="statistics" type="text/plain" data-ignore="1">
|
||||
|
||||
marketing
|
||||
--------------------
|
||||
:aspect:`data-cookieconsent`
|
||||
marketing
|
||||
.. code-block:: html
|
||||
|
||||
<script data-cookieconsent="marketing" type="text/plain" data-ignore="1">
|
||||
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 62 KiB |
@@ -0,0 +1,51 @@
|
||||
```typoscript
|
||||
plugin.tx_cookieconsent.settings {
|
||||
# PID to Data Protection
|
||||
url =
|
||||
# Layout
|
||||
theme = edgeless
|
||||
# Position
|
||||
position = bottom-right
|
||||
# Type (info, opt-out, opt-in)
|
||||
type = opt-in
|
||||
# pre check statistics in checkboxes layout
|
||||
statistics = false
|
||||
# pre check statistics in checkboxes layout
|
||||
marketing = false
|
||||
|
||||
# show Iframe overlay
|
||||
overlay {
|
||||
# Enable Iframe overlay
|
||||
notice = true
|
||||
|
||||
box {
|
||||
# Overlay: Background
|
||||
background = rgba(0,0,0,.8)
|
||||
# Overlay: Text
|
||||
text = #fff
|
||||
}
|
||||
button {
|
||||
# Overlay Button: Background
|
||||
background = #b81839
|
||||
# Overlay Button: Text
|
||||
text = #fff
|
||||
}
|
||||
}
|
||||
|
||||
# Cookiehint Style
|
||||
palette {
|
||||
popup {
|
||||
# Bar: Background color
|
||||
background = rgba(0,0,0,.8)
|
||||
# Bar: text color
|
||||
text = #fff
|
||||
}
|
||||
button {
|
||||
# Button: Background color
|
||||
background = #b81839
|
||||
# Button: text color
|
||||
text = #fff
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
After Width: | Height: | Size: 105 KiB |
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,21 @@
|
||||
```typoscript
|
||||
plugin.tx_dp_cookieconsent._LOCAL_LANG {
|
||||
de {
|
||||
message = XXX
|
||||
dismiss = XXX
|
||||
link = XXX
|
||||
deny = XXX
|
||||
allowall = XXX
|
||||
|
||||
# Checkbox labels
|
||||
dpRequire = XXX
|
||||
dpStatistik = XXX
|
||||
dpMarketing = XXX
|
||||
|
||||
# Iframe Overlay text
|
||||
media.notice = XXX
|
||||
media.desc = XXX
|
||||
media.btn = XXX
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,34 @@
|
||||
.. ==================================================
|
||||
.. FOR YOUR INFORMATION
|
||||
.. --------------------------------------------------
|
||||
.. -*- coding: utf-8 -*- with BOM.
|
||||
.. This is 'Includes.txt'. It is included at the very top of each and
|
||||
every ReST source file in this documentation project (= manual).
|
||||
|
||||
.. ----------
|
||||
.. text roles
|
||||
.. ----------
|
||||
|
||||
.. role:: aspect(emphasis)
|
||||
.. role:: html(code)
|
||||
.. role:: js(code)
|
||||
.. role:: php(code)
|
||||
.. role:: pn(emphasis)
|
||||
.. role:: rst(code)
|
||||
.. role:: sep(strong)
|
||||
.. role:: typoscript(code)
|
||||
|
||||
.. role:: ts(typoscript)
|
||||
:class: typoscript
|
||||
|
||||
.. role:: yaml(code)
|
||||
|
||||
.. default-role:: code
|
||||
|
||||
.. ---------
|
||||
.. highlight
|
||||
.. ---------
|
||||
|
||||
.. By default, code blocks are html
|
||||
|
||||
.. highlight:: html
|
||||
96
typo3conf/ext/dp_cookieconsent/Documentation/Index.rst
Normal file
@@ -0,0 +1,96 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _start:
|
||||
|
||||
=============================================================
|
||||
Cookie Consent
|
||||
=============================================================
|
||||
|
||||
.. container:: row m-0 p-0
|
||||
|
||||
.. container:: col-12 col-md-6 pl-0 pr-3 py-3 m-0
|
||||
|
||||
.. container:: card px-0 h-100
|
||||
|
||||
.. rst-class:: card-header h3
|
||||
|
||||
.. rubric:: :ref:`Installation <installation>`
|
||||
|
||||
.. container:: card-body
|
||||
|
||||
A quick introduction in how to use this extension.
|
||||
|
||||
.. container:: col-12 col-md-6 pl-0 pr-3 py-3 m-0
|
||||
|
||||
.. container:: card px-0 h-100
|
||||
|
||||
.. rst-class:: card-header h3
|
||||
|
||||
.. rubric:: :ref:`Introduction <introduction>`
|
||||
|
||||
.. container:: card-body
|
||||
|
||||
Introduction to the general extension information.
|
||||
|
||||
.. container:: col-12 col-md-6 pl-0 pr-3 py-3 m-0
|
||||
|
||||
.. container:: card px-0 h-100
|
||||
|
||||
.. rst-class:: card-header h3
|
||||
|
||||
.. rubric:: :ref:`Example Configuration <example>`
|
||||
|
||||
.. container:: card-body
|
||||
|
||||
A example configuration for a quick start
|
||||
|
||||
.. container:: col-12 col-md-6 pl-0 pr-3 py-3 m-0
|
||||
|
||||
.. container:: card px-0 h-100
|
||||
|
||||
.. rst-class:: card-header h3
|
||||
|
||||
.. rubric:: :ref:`JavaScript API <javascript-api>`
|
||||
|
||||
.. container:: card-body
|
||||
|
||||
JavaScript API Documentation
|
||||
|
||||
|
||||
This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:hidden:
|
||||
:titlesonly:
|
||||
|
||||
Introduction/Index
|
||||
Introduction/About
|
||||
Introduction/Screenshot
|
||||
Introduction/Links
|
||||
|
||||
.. toctree::
|
||||
:caption: For Integrators
|
||||
:glob:
|
||||
:hidden:
|
||||
:titlesonly:
|
||||
|
||||
Installation/Index
|
||||
Configuration/Configuration
|
||||
Configuration/Language
|
||||
Configuration/Scripts
|
||||
Configuration/Content
|
||||
Configuration/CookieList
|
||||
|
||||
.. toctree::
|
||||
:caption: For Developers
|
||||
:glob:
|
||||
:hidden:
|
||||
:titlesonly:
|
||||
|
||||
Developer/JavaScript
|
||||
Developer/Scripts
|
||||
Developer/Iframe
|
||||
Developer/Content
|
||||
Developer/Checkboxes
|
||||
Developer/More
|
||||
@@ -0,0 +1,25 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _installation:
|
||||
|
||||
===========
|
||||
Installation
|
||||
===========
|
||||
|
||||
.. rst-class:: bignums-tip
|
||||
|
||||
#. Install this extension:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
composer require dirkpersky/typo3-dp_cookieconsent
|
||||
|
||||
#. Configuration:
|
||||
|
||||
- Include the basic TypoScript
|
||||
- Further configuration
|
||||
|
||||
#. Create initial cookie:
|
||||
|
||||
- Create Cookie records
|
||||
- Add JavaScript to Cookies
|
||||
@@ -0,0 +1,51 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. _about:
|
||||
|
||||
=============================================================
|
||||
About
|
||||
=============================================================
|
||||
|
||||
.. container:: row m-0 p-0
|
||||
|
||||
.. figure:: https://img.shields.io/badge/Donate-PayPal-green.svg?style=for-the-badge
|
||||
:alt: Donate
|
||||
:target: https://www.paypal.me/dirkpersky
|
||||
|
||||
.. figure:: https://img.shields.io/packagist/v/dirkpersky/typo3-dp_cookieconsent?style=for-the-badge
|
||||
:alt: Latest Stable Version
|
||||
:target: https://packagist.org/packages/dirkpersky/typo3-dp_cookieconsent
|
||||
|
||||
.. figure:: https://img.shields.io/badge/TYPO3-dp__cookieconsent-%23f49700?style=for-the-badge
|
||||
:alt: TYPO3
|
||||
:target: https://extensions.typo3.org/extension/dp_cookieconsent/
|
||||
|
||||
.. figure:: https://img.shields.io/packagist/l/dirkpersky/typo3-dp_cookieconsent?style=for-the-badge
|
||||
:alt: License
|
||||
:target: https://github.com/DirkPersky/typo3-dp_cookieconsent
|
||||
|
||||
.. _credits:
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
This manual was originally written in 2021 by `Dirk Persky <https://dp-wired.de/>`_. A number of other
|
||||
people have made changes and improved this extension and its documentation.
|
||||
You can see the `list of contributors on GitHub <https://github.com/DirkPersky/typo3-dp_cookieconsent/graphs/contributors>`_.
|
||||
|
||||
The content of this document is related to TYPO3,
|
||||
a GNU/GPL CMS/Framework available from `www.typo3.org <https://www.typo3.org/>`_.
|
||||
|
||||
.. _feedback:
|
||||
|
||||
Please give feedback
|
||||
=======
|
||||
|
||||
I would appreciate any kind of feedback or ideas for further developments to keep improving the extension for your needs.
|
||||
|
||||
.. _support:
|
||||
|
||||
Say thanks! and support me
|
||||
=======
|
||||
|
||||
You like this extension? Get something for me (surprise!) from my wishlist on `Amazon <https://www.amazon.de/hz/wishlist/ls/15L17XDFBEYFL/r>`_ or `Donate <https://www.paypal.me/dirkpersky>`_ the next pizza. Thanks a lot!
|
||||
@@ -0,0 +1,40 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _introduction:
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
|
||||
.. container:: row m-0 p-0
|
||||
|
||||
.. figure:: https://img.shields.io/badge/Donate-PayPal-green.svg?style=for-the-badge
|
||||
:alt: Donate
|
||||
:target: https://www.paypal.me/dirkpersky
|
||||
|
||||
.. figure:: https://img.shields.io/packagist/v/dirkpersky/typo3-dp_cookieconsent?style=for-the-badge
|
||||
:alt: Latest Stable Version
|
||||
:target: https://packagist.org/packages/dirkpersky/typo3-dp_cookieconsent
|
||||
|
||||
.. figure:: https://img.shields.io/badge/TYPO3-dp__cookieconsent-%23f49700?style=for-the-badge
|
||||
:alt: TYPO3
|
||||
:target: https://extensions.typo3.org/extension/dp_cookieconsent/
|
||||
|
||||
.. figure:: https://img.shields.io/packagist/l/dirkpersky/typo3-dp_cookieconsent?style=for-the-badge
|
||||
:alt: License
|
||||
:target: https://github.com/DirkPersky/typo3-dp_cookieconsent
|
||||
|
||||
What does it do?
|
||||
================
|
||||
This Plugin includes a solution for the EU Cookie law (`ePrivacy`, `TTDSG`). It extends some function to load Scripts, iframe and content after the user accepted the consent.
|
||||
Though don't care about the latest EU laws and handle your Cookies with this Plugins.
|
||||
|
||||
When is the popup shown to users?
|
||||
---------------------------------
|
||||
|
||||
The popup is shown on every page load until the user saves the consent.
|
||||
|
||||
|
||||
CS_SEO
|
||||
---------------------------------
|
||||
This Plugin extends the Config from `CS_SEO <https://extensions.typo3.org/extension/cs_seo/>`_ so that the Google analytics script, tag manager and piwiki will fire after the Cookie is accepted.
|
||||
@@ -0,0 +1,11 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _links:
|
||||
|
||||
============
|
||||
Links
|
||||
============
|
||||
|
||||
1. `German: data protection passage <https://github.com/DirkPersky/typo3-dp_cookieconsent/wiki/German:-data-protection-passage>`_
|
||||
2. `How to remove unneccesary checkboxes <https://github.com/DirkPersky/typo3-dp_cookieconsent/wiki/How-to-remove-unneccesary-checkboxes>`_
|
||||
3. `reopen Consent from Privacy Link <https://github.com/DirkPersky/typo3-dp_cookieconsent/wiki/reopen-Consent-from-Privacy-Link>`_
|
||||
@@ -0,0 +1,61 @@
|
||||
.. include:: ../Includes.rst.txt
|
||||
|
||||
.. _screenshot:
|
||||
|
||||
============
|
||||
Screenhots
|
||||
============
|
||||
|
||||
Fontend
|
||||
^^^^^^^
|
||||
|
||||
.. figure:: ../Images/consent-box.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
Consent Box
|
||||
|
||||
.. figure:: ../Images/iframe-overlay.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
Overlay Box
|
||||
|
||||
.. figure:: ../Images/data-privacy-cookie-list.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
Data Privacy cookie listing
|
||||
|
||||
Backend
|
||||
^^^^^^^
|
||||
|
||||
.. figure:: ../Images/be-cookies.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
Backend cookie list
|
||||
|
||||
.. figure:: ../Images/be-cookie-example.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
Backend cookie detail
|
||||
|
||||
.. figure:: ../Images/be-cookie-example-scripts.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
Backend cookie detail - Script Tab
|
||||
|
||||
.. figure:: ../Images/be-element.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
Backend content element
|
||||
|
||||
.. figure:: ../Images/be-element-cookie-list.png
|
||||
:class: with-shadow
|
||||
:width: 400px
|
||||
|
||||
Cookie listing element
|
||||
54
typo3conf/ext/dp_cookieconsent/Documentation/Settings.cfg
Normal file
@@ -0,0 +1,54 @@
|
||||
[general]
|
||||
project = Cookie Consent
|
||||
copyright = by dirk persky
|
||||
version = 11.3
|
||||
|
||||
[html_theme_options]
|
||||
github_branch = master
|
||||
github_repository = DirkPersky/typo3-dp_cookieconsent
|
||||
|
||||
project_contact =
|
||||
project_discussions =
|
||||
project_home = https://github.com/DirkPersky/typo3-dp_cookieconsent
|
||||
project_issues = https://github.com/DirkPersky/typo3-dp_cookieconsent/issues
|
||||
project_repository = https://github.com/DirkPersky/typo3-dp_cookieconsent
|
||||
|
||||
|
||||
[intersphinx_mapping]
|
||||
|
||||
h2document = https://docs.typo3.org/m/typo3/docs-how-to-document/master/en-us/
|
||||
# t3contribute = https://docs.typo3.org/m/typo3/guide-contributionworkflow/master/en-us/
|
||||
# t3coreapi = https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/
|
||||
# t3docteam = https://docs.typo3.org/m/typo3/team-t3docteam/master/en-us/
|
||||
t3editors = https://docs.typo3.org/m/typo3/tutorial-editors/master/en-us/
|
||||
# t3extbase = https://docs.typo3.org/m/typo3/guide-extbasefluid/master/en-us/
|
||||
# t3extbasebook = https://docs.typo3.org/m/typo3/book-extbasefluid/master/en-us/
|
||||
# t3install = https://docs.typo3.org/m/typo3/guide-installation/master/en-us/
|
||||
# t3l10n = https://docs.typo3.org/m/typo3/guide-frontendlocalization/master/en-us/
|
||||
# t3start = https://docs.typo3.org/m/typo3/tutorial-getting-started/master/en-us/
|
||||
# t3sitepackage = https://docs.typo3.org/m/typo3/tutorial-sitepackage/master/en-us/
|
||||
# t3tca = https://docs.typo3.org/m/typo3/reference-tca/master/en-us/
|
||||
# t3templating = https://docs.typo3.org/m/typo3/tutorial-templating/master/en-us/
|
||||
# t3ts45 = https://docs.typo3.org/m/typo3/tutorial-typoscript-in-45-minutes/master/en-us/
|
||||
t3tsconfig = https://docs.typo3.org/m/typo3/reference-tsconfig/master/en-us/
|
||||
t3tsref = https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/
|
||||
# t3vhref = https://docs.typo3.org/other/typo3/view-helper-reference/master/en-us/
|
||||
|
||||
# ----------------
|
||||
# system extension
|
||||
# ----------------
|
||||
|
||||
# ckedit = https://docs.typo3.org/c/typo3/cms-rte-ckeditor/master/en-us/
|
||||
# t3core = https://docs.typo3.org/c/typo3/cms-core/master/en-us/
|
||||
# form = https://docs.typo3.org/c/typo3/cms-form/master/en-us/
|
||||
# fsc = https://docs.typo3.org/c/typo3/cms-fluid-styled-content/master/en-us/
|
||||
# sched = https://docs.typo3.org/c/typo3/cms-scheduler/master/en-us/
|
||||
|
||||
[extlinks]
|
||||
|
||||
# .................................................................................
|
||||
# ... (optional) If you want to be able to refer to issues like this:
|
||||
# ... :issue:`number`
|
||||
# .................................................................................
|
||||
|
||||
issue = https://github.com/DirkPersky/typo3-dp_cookieconsent/issues/%s | Issue #
|
||||