Managed Server
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: OIL.js Cookie Consent Management

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.180
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #225 am: 03. September 2020, 20:16:49
    Es gibt zwei Möglichkeiten:

    1.) Tutorial: Template eines xt:Commerce Shops in der modified eCommerce Shopsoftware weiter verwenden - Erneute Überarbeitung der JavaScript Komprimierung im Template
    2.) Den Code aus der "/templates/tpl_modified_responsive/javascript/extra/cookieconsent.js.php" in die "/templates/tpl_modified_responsive/javascript/general_bottom.js.php" einfügen.

    Grüße

    Torsten

    Peter33

    • Fördermitglied
    • Beiträge: 73
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #226 am: 03. September 2020, 21:15:51
    @hpzeller

    Hallo Hanspeter,

    danke für die Korrektur. Ich habe den Code gewechselt und es funktioniert prima.

    Grüße
    Peter

    Jürgen

    • Viel Schreiber
    • Beiträge: 894
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #227 am: 04. September 2020, 09:42:25
    Hallo,

    scheint jetzt zu funktionieren - modified v2.0.3.0

    Konnte gerade auch sehen was das Problem war....

    Wenn ich folgendes Zeichen

    Code: PHP  [Auswählen]
    "

    in den Language files einfüge lädt das Popup nicht mehr.

    Gruß

    Jürgen

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.180
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #228 am: 04. September 2020, 11:36:51
    Wenn du da Gänsefüßchen einsetzen willst, dann musst du die mit einem Backslash escapen, beispielsweise:

    Code: PHP  [Auswählen]
      define('TEXT_COOKIE_CONSENT_LABEL_INTRO', 'Wir verwenden \"Cookies\" und ähnliche Technologien, auch von Drittanbietern, um die ordentliche Funktionsweise der Website zu gewährleisten, die Nutzung unseres Angebotes zu analysieren und Ihnen ein bestmögliches \"Einkaufserlebnis\" bieten zu können. Weitere Informationen finden Sie in unserer \"Datenschutzerklärung\".');

    Der Hintergrund ist, an welcher Stelle in der "/templates/TEMPLATENAME/javascript/extra/cookieconsent.js.php" die Sprach-Konstanten weiter verwendet werden:

    Code: PHP  [Auswählen]
          "label_intro_heading": "<?php echo TEXT_COOKIE_CONSENT_LABEL_INTRO_HEADING; ?>",
          "label_intro": "<?php echo TEXT_COOKIE_CONSENT_LABEL_INTRO; ?>",
          "label_button_yes": "<?php echo TEXT_COOKIE_CONSENT_LABEL_BUTTON_YES; ?>",
          "label_button_back": "<?php echo TEXT_COOKIE_CONSENT_LABEL_BUTTON_BACK; ?>",
          "label_button_yes_all": "<?php echo TEXT_COOKIE_CONSENT_LABEL_BUTTON_YES_ALL; ?>",
          "label_button_advanced_settings": "<?php echo TEXT_COOKIE_CONSENT_LABEL_BUTTON_ADVANCED_SETTINGS; ?>",
          "label_cpc_heading": "<?php echo TEXT_COOKIE_CONSENT_LABEL_CPC_HEADING; ?>",
          "label_cpc_activate_all": "<?php echo TEXT_COOKIE_CONSENT_LABEL_CPC_ACTIVATE_ALL; ?>",
          "label_cpc_deactivate_all": "<?php echo TEXT_COOKIE_CONSENT_LABEL_CPC_DEACTIVATE_ALL; ?>",
          "label_nocookie_head": "<?php echo TEXT_COOKIE_CONSENT_LABEL_NOCOOKIE_HEAD; ?>",
          "label_nocookie_text": "<?php echo TEXT_COOKIE_CONSENT_LABEL_NOCOOKIE_TEXT; ?>",
          "label_third_party": " ",
          "label_imprint_links": "<a href='<?php echo xtc_href_link(FILENAME_POPUP_CONTENT, "coID=2".$link_parameters); ?>' onclick='return cc_popup_content(this)'><?php echo TEXT_COOKIE_CONSENT_LABEL_INTRO_TEXT_PRIVACY; ?></a> <a href='<?php echo xtc_href_link(FILENAME_POPUP_CONTENT, "coID=4".$link_parameters); ?>' onclick='return cc_popup_content(this)'><?php echo TEXT_COOKIE_CONSENT_LABEL_INTRO_TEXT_IMPRINT; ?></a>"

    Grüße

    Torsten

    Jürgen

    • Viel Schreiber
    • Beiträge: 894
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #229 am: 04. September 2020, 13:56:53
    Danke für das feedback,

    hatte das jetzt auf die Schnelle mit &quot; gemacht.....

    Code: PHP  [Auswählen]
    define('TEXT_COOKIE_CONSENT_LABEL_INTRO', 'Um Ihr individuelles Einkaufserlebnis so angenehm wie m&ouml;glich zu gestalten, verwenden wir Cookies. Klicken Sie auf &quot;Ich stimme zu&quot; um alle Cookies zu akzeptieren und dann direkt zur Website weiter zu navigieren, oder klicken Sie auf &quot;Weitere Einstellungen&quot;, um eine genaue Beschreibung der Cookies zu erhalten und eine pers&ouml;nliche Auswahl zu treffen.');

    Danke

    Gruß

    Jürgen

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.180
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #230 am: 04. September 2020, 14:10:01
    Das geht natürlich auch. ;-)

    Grüße

    Torsten

    Boosterfan

    • Neu im Forum
    • Beiträge: 11
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #231 am: 09. September 2020, 00:12:31
    Hallo,

    Dateien hochgeladen, nun ist der Standardbanner im Frontend weg, aber im Backend unter Module ist kein Cookie Consent zum installieren???

    Wie kann ich den Standardbanner am besten einfach nur entfernen, da ich ihn gar nicht benötige?

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.180
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #232 am: 09. September 2020, 14:58:59
    Welche Shopversion setzt du ein und welchen Namen trägt dein Admin-Ordner?

    Grüße

    Torsten

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #233 am: 11. September 2020, 15:34:47
    Ufffff... das wird an dieser Stelle schwer abzufangen sein, aber ich packe es mir mal auf die interne ToDo-Liste.
    [...]

    Die Ursache liegt am fehlerhaften Regex in Zeile 432 der Datei  /includes/external/compactor/compactor.php des aktuellen modified-shop_2.0.5.1-r12725_install, aber abgesehen davon stehen im letzten Teil der Datei noch einige Ungereimtheiten und Performance Killer drin.

    Hier der original Code der Datei /includes/external/compactor/compactor.php ab Zeile 416,

    Code: PHP  [Auswählen]
                    /**
                     * Use simple preg_replace to compresses code (ie javascript and css) whitespace.
                     * It would be advisable to use another library such as 'minify' http://code.google.com/p/minify/
                     * because this function has certain limitations with comments and other regex expressions.
                     * You can set another function callback using the 'compress_js_callback' option.
                     *
                     * @access private
                     * @param string $code Code string
                     * @return string
                     **/

                    private function _simpleCodeCompress($code)
                    {
          // Remove multiline comment
                            $code = preg_replace('/\/\*(?!-)[\x00-\xff]*?\*\//', '', $code);
          // Removes single line '//' comments
          $code = $this->_removeSingleLineComments($code);
          $code = preg_replace('/[^:]\\/\\/[^\\n\\r]*[\\n\\r]/', '', $code);
          $code = preg_replace('/\\/\\*[^*]*\\*+([^\\/][^*]*\\*+)*\\//', '', $code);
          // Remove extra spaces
                            $code = preg_replace('/\s+/', ' ', $code);
          // prevent negative px styles
          $code = preg_replace('/(?<!px)\s?(-)\s?/', "\\1", $code);
          // Remove spaces that can be removed
                            return trim(preg_replace('/\s?([\{\};\=\(\)\/\+\*])\s?/', "\\1", $code));
                    }

                    /**
                     * Strips PHP Comments from the buffer
                     *
                     * @access private
                     * @param string $html The HTML string for comment removal.
                     * @return string
                     */

        private function _stripPHPComments($html) {
          // Removes single line '//' comments
          $html = $this->_removeSingleLineComments($html);
         
          // Strip blank lines
          $html = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $html);
         
          return trim(preg_replace('/\/\*.*?\*\//s', '', $html));
        }
       
                    /**
                     * Strips single line Comments from the buffer
                     *
                     * @access private
                     * @param string $code Code string
                     * @return string
                     */

        private function _removeSingleLineComments($code) {
          if ($this->_options['compress_css'] == false) {
            $code = preg_replace('/(?:(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:(?<!\:|\\\|\'|\")\/\/.*))/', '', $code);
          }
          return $code;
        }
            }
    ?>

    und hier der selbe Code von mir kommentiert,

    Code: PHP  [Auswählen]
                    /**
                     * Use simple preg_replace to compresses code (ie javascript and css) whitespace.
                     * It would be advisable to use another library such as 'minify' http://code.google.com/p/minify/
                     * because this function has certain limitations with comments and other regex expressions.
                     * You can set another function callback using the 'compress_js_callback' option.
                     *
                     * @access private
                     * @param string $code Code string
                     * @return string
                     **/

                    private function _simpleCodeCompress($code)
                    {
          // Remove multiline comment
                            $code = preg_replace('/\/\*(?!-)[\x00-\xff]*?\*\//', '', $code);  // entfernt multi line comments '/* */', ist ueberfluessig! hpzeller
          // Removes single line '//' comments
          $code = $this->_removeSingleLineComments($code); // entfernt sowohl multi line commenst '/* */' als auch single line '//' comments! hpzeller
          $code = preg_replace('/[^:]\\/\\/[^\\n\\r]*[\\n\\r]/', '', $code);  // entfernt single line '//' comments auch innerhalb doppelter Anführungszeichen FEHLER, und ist ausserdem ueberfluessig! hpzeller
          $code = preg_replace('/\\/\\*[^*]*\\*+([^\\/][^*]*\\*+)*\\//', '', $code); // entfernt nochmals multi line comment '/* */', ist uebrfluessig! hpzeller
          // Remove extra spaces
                            $code = preg_replace('/\s+/', ' ', $code);
          // prevent negative px styles
          $code = preg_replace('/(?<!px)\s?(-)\s?/', "\\1", $code);
          // Remove spaces that can be removed
                            return trim(preg_replace('/\s?([\{\};\=\(\)\/\+\*])\s?/', "\\1", $code));
                    }

                    /**
                     * Strips PHP Comments from the buffer
                     *
                     * @access private
                     * @param string $html The HTML string for comment removal.
                     * @return string
                     */

        private function _stripPHPComments($html) {
          // Removes single line '//' comments
          $html = $this->_removeSingleLineComments($html); // entfernt sowohl multi line commenst '/* */' als auch single line '//' comments! hpzeller
         
          // Strip blank lines
          $html = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $html);
         
          return trim(preg_replace('/\/\*.*?\*\//s', '', $html));  // entfernt multi line comments '/* */', ist aber so ueberfluessig, und kann durch folgenden Code ersetzt werden return trim($html);! hpzeller
        }
       
                    /**
                     * Strips single line Comments from the buffer
                     *
                     * @access private
                     * @param string $code Code string
                     * @return string
                     */

        private function _removeSingleLineComments($code) { // Methode umbenennen in _removeMultiLineAndSingleLineComments, gleiches gilt auch fuer Zeile 431 und 451 ! hpzeller
          if ($this->_options['compress_css'] == false) { // [IF ANFANG] diese Bedingung ist ueberfluessig und muss entfernt werden bzw. mit der Alternative, siehe unten ab Zeile 470 ersetzt werden! hpzeller
            $code = preg_replace('/(?:(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:(?<!\:|\\\|\'|\")\/\/.*))/', '', $code);  // entfernt sowohl multi line commenst '/* */' als auch single line '//' comments! hpzeller
          } // [IF ENDE] diese Bedingung ist ueberfluessig und muss entfernt werden! hpzeller
    /* Alternative zum Code Zeile 467 bis 469 ! hpzeller  
          if ($this->_options['compress_css'] == false) {
            $code = preg_replace('/(?:(?<!\:|\\\|\'|\")\/\/.*)/', '', $code);  // entfernt single line '//' comments. hpzeller
          }
          $code = preg_replace('/(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)/', '', $code); // entfernt multi line '/* */
    ' comments. hpzeller
    */          
          return $code;
        }
            }
    ?>

    und hier mein Vorschlag  für den Code ab Zeile 416 welcher den Fehler beheben, die Ungereimtheiten entfernen und die Performance steigern soll.

    Code: PHP  [Auswählen]
                    /**
                     * Use simple preg_replace to compresses code (ie javascript and css) whitespace.
                     * It would be advisable to use another library such as 'minify' http://code.google.com/p/minify/
                     * because this function has certain limitations with comments and other regex expressions.
                     * You can set another function callback using the 'compress_js_callback' option.
                     *
                     * @access private
                     * @param string $code Code string
                     * @return string
                     **/

                    private function _simpleCodeCompress($code)
                    {
          $code = $this->_removeMultiLineAndSingleLineComments($code); // entfernt sowohl multi line commenst '/* */' als auch single line '//' comments. hpzeller
          // Remove extra spaces
                            $code = preg_replace('/\s+/', ' ', $code);
          // prevent negative px styles
          $code = preg_replace('/(?<!px)\s?(-)\s?/', "\\1", $code);
          // Remove spaces that can be removed
                            return trim(preg_replace('/\s?([\{\};\=\(\)\/\+\*])\s?/', "\\1", $code));
                    }

                    /**
                     * Strips PHP Comments from the buffer
                     *
                     * @access private
                     * @param string $html The HTML string for comment removal.
                     * @return string
                     */

        private function _stripPHPComments($html) {
          $html = $this->_removeMultiLineAndSingleLineComments($html); // entfernt sowohl multi line commenst '/* */' als auch single line '//' comments. hpzeller
         
          // Strip blank lines
          $html = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $html);
         
          return trim($html);
        }
       
                    /**
                     * Strips single line Comments from the buffer
                     *
                     * @access private
                     * @param string $code Code string
                     * @return string
                     */

        private function _removeMultiLineAndSingleLineComments($code) {  
          if ($this->_options['compress_css'] == false) {
            $code = preg_replace('/(?:(?<!\:|\\\|\'|\")\/\/.*)/', '', $code);  // entfernt single line '//' comments. hpzeller
          }
          $code = preg_replace('/(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)/', '', $code); // entfernt multi line '/* */' comments. hpzeller        
          return $code;
        }
      }

    Gruss
    Hanspeter

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.180
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #234 am: 11. September 2020, 15:39:11
    Danke dir! Ich habe das in Ticket #930 ergänzt.

    Grüße

    Torsten

    mroschk

    • Frisch an Board
    • Beiträge: 54
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #235 am: 13. September 2020, 19:58:36
    Hallo,

    ich hab schon wieder ne Frage... sorry.

    Ich hab das Cookie Modul installiert, is ja nicht sooo schwer. Alle Dateien kopiert und in Module das Modul aktiviert.

    Nun kommt da auch ein Fenster, aber ganz unten auf der seite, und nicht so als PopUp wie es eigentlich sollte.

    An was kann das liegen ?
    Matthias

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #236 am: 13. September 2020, 21:19:04
    Lösche den kompletten Inhalt der Datei /templates/dein_verwedetes_template/css/tpl_plugins.min.css, aber nicht die Datei selbst, und rufe danach den Shop im Browser erneut auf ev. noch Browsercache leeren.

    Gruss
    Hanspeter

    mroschk

    • Frisch an Board
    • Beiträge: 54
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #237 am: 13. September 2020, 21:24:08
    COOOOOOLLLLL... funktioniert.

    Hab ich das überlesen irgendwo oder woher weißt du das ??

    hpzeller

    • Experte
    • Beiträge: 4.130
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #238 am: 13. September 2020, 21:36:40
    Woher ich das weiss? ->  :glaskugel:

    Nein  im Ernst, ich hatte nach der Modulinstallation den selben Fehler und habe dann im Template und im Entwicklertool meines Browsers nachgeschaut und konnte so die Ursache verifizieren.

    [...] Hab ich das überlesen irgendwo [...]

    Kann sein, dann habe ich es aber auch überlesen.

    Gruss
    Hanspeter

    mroschk

    • Frisch an Board
    • Beiträge: 54
    • Geschlecht:
    Re: MODUL: OIL.js Cookie Consent Management
    Antwort #239 am: 13. September 2020, 23:21:05
    Ahh, so hast du das herausgefunden... na da bist du aber mit so was viel besser drauf als ich. :-)
    Hut ab

    Danke noch mal
    Matthias
    11 Antworten
    2455 Aufrufe
    10. Dezember 2021, 21:55:58 von gdl-joe
    11 Antworten
    3251 Aufrufe
    17. Dezember 2021, 12:40:07 von Pixelknecht
    8 Antworten
    1344 Aufrufe
    16. Oktober 2023, 16:47:54 von Tomcraft
    2 Antworten
    725 Aufrufe
    07. Oktober 2022, 13:16:22 von Viol
               
    anything