Trade Republic - Provisionsfrei Aktien handeln
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: Eigene Box verschwindet nach Reload

    Friederike

    • Fördermitglied
    • Beiträge: 87
    Eigene Box verschwindet nach Reload
    am: 26. Oktober 2020, 22:01:38
    Hi, bin gerade völlig ratlos.
    Habe vor 1-2 Jahren eine eigene Box in mein umgebautes Template eingebaut, damals noch Shopversion 2.0.4.2.
    Dieses Jahr habe ich upgedated auf Version 2.0.5.1 und mein Template dafür umgestrickt.
    Diese Box zählt die Tage bis Weihnachten und war bisher deaktiviert. Nun möchte ich sie wieder in Betrieb nehmen.

    Rätselhaft: In meinem lokalen Testshop wird sie problemlos angezeigt. Wenn ich sie hochlade (nur die geänderte index.html mit der aktivierten Box-Anzeige-Zeile) wird sie im Liveshop angezeigt. Allerdings nur einmal. Sobald man die Seite neu lädt, verschwindet die Box spurlos. Auch im Quellcode ist sie nicht mehr zu sehen. Getestet in aktuellen Browsern (Firefox, Chrome, Edge und mit dem Chrome auf dem Android Handy). Überall das gleiche Phänomen.

    Cache leeren, Template Cache leeren, Komprimierung ausschalten... nichts davon hat einen Effekt.

    Hat jemand eine Idee was die Ursache sein könnte oder wie man das behebt?

    Herzlichen Dank und viele Grüße
    Friederike

    Linkback: https://www.modified-shop.org/forum/index.php?topic=41424.0
    Shop Hosting

    Q

    • Fördermitglied
    • Beiträge: 1.531
    Re: Eigene Box verschwindet nach Reload
    Antwort #1 am: 27. Oktober 2020, 21:17:46
    :glaskugel:

    Außer dir weiß glaub keiner wie die Box aussieht und programmiert ist... da wird's echt schwer zu helfen.

    Zitat
    Es war einmal .... ein Junge. Er kam zu seiner Tante und sagte: "Tante Erna, früher im Kindergarten konnte ich gaanz tolle Bilder malen. Jetzt in der Schule geht das nicht mehr. Wieso ist das so?"

    Wer weiß es?  :flee-mrgreen:

    Friederike

    • Fördermitglied
    • Beiträge: 87
    Re: Eigene Box verschwindet nach Reload
    Antwort #2 am: 28. Oktober 2020, 18:42:27
    Stimmt natürlich. Ich dachte vielleicht gibt es eine generelle Änderung in der Shopversion 2.0.5.x gegenüber 2.0.4.2 die man jetzt bei Boxen berücksichtigen muss?

    Also, hier der Quelltext. Ich nehme immer die Box_miscellanious zum Vorbild.

    Hier die Datei im Template-Ordner source/boxes:
    Code: PHP  [Auswählen]
    include(DIR_FS_BOXES_INC . 'smarty_default.php');

    // set cache id
    $cache_id = md5($_SESSION['language'].$_SESSION['customers_status']['customers_status_id'].(isset($coPath) ? $coPath : '0'));

    if (!$box_smarty->is_cached(CURRENT_TEMPLATE.'/boxes/box_information.html', $cache_id) || !$cache) {

      // include needed functions
     require_once (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/inc/xtc_show_content.inc.php');
     require_once (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/inc/close_ul_tags.inc.php');
     
      $content_array = array();
      $content_string = '';
     
     
      // Test FB:
      $content_string = 'Noch ewig!!';
     
    // von https://www.php.de/forum/php-de-intern/beitragsarchiv/46604-php-anzahl-der-tage-bis-tag-x-countdown
      function DaysUntilX($day,$month,$year){
        $dayX = mktime(0,0,0,$month,$day,$year); // Timestamp of day X
        $now = time(); // current timestamp
        $diff = $dayX - $now; // seconds until day X
        $days= ceil($diff/(60*60*24));  
         return $days;
      }

      $jahr = date("Y");
      $anztage = DaysUntilX(24,12,$jahr); // Tag,Monat,Jahr
     
      if ($anztage <= 0) {
        $jahr = $jahr + 1;
        $anztage = DaysUntilX(24,12,$jahr);
      }
     
      $content_string  = $anztage;
      $box_smarty->assign('BOX_CONTENT', $content_string);
    }


    if (!$cache) {
      $box_christmas = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_christmas.html');
    } else {
      $box_christmas = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_christmas.html', $cache_id);
    }

    $smarty->assign('box_CHRISTMAS', $box_christmas);
     

    Diese Datei ist auch eingetragen in der Datei source/boxes.php:
    Code: PHP  [Auswählen]
    ...
      require_once(DIR_FS_BOXES . 'daystillchristmas.php');
    ...
     

    Hier die Ausgabe-Datei aus dem Template-Ordner boxes:
    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="boxes"}
    {config_load file="lang_`$language`.custom"}
    {if isset($BOX_CONTENT) && $BOX_CONTENT != ''}

        <!--i class="fa fa-star" aria-hidden="true"-->
       
        <div class="listingbox rot">
        <p>
        {if $BOX_CONTENT == 1}{#christmas1#} <br><span id="tage">{$BOX_CONTENT}</span><br>{#christmas23#}</p>
       {elseif $BOX_CONTENT == 366}
            <br>{#christmas24#}<br>Frohes Fest!</p>
       {elseif $BOX_CONTENT == 365}
            <br>{#christmas25#}</p>
       {elseif $BOX_CONTENT == 364}
            <br>{#christmas26#}</p>
       {else}
            {#christmas1#} <br><span id="tage">{$BOX_CONTENT}</span><br>{#christmas2#}</p>
       {/if}    
        <!--i class="fa fa-star" aria-hidden="true"-->
       
        </div>

    {/if}
     

    (Die verschiedenen Texte sind für die Weihnachtstage.)

    Diese Ausgabe-Box ist auch in der index.html meines Templates eingetragen. Ich habe schon viele verschiedene Positionen ausprobiert, aber auf keiner wird sie länger als bis zum Refresh angezeigt.

    Wo liegt der Fehler?  :-?

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    Re: Eigene Box verschwindet nach Reload
    Antwort #3 am: 28. Oktober 2020, 18:50:12
    Moin

    Hast du mal den Cache deaktiviert und getestet?

    Der Cache funktioniert erst seit 2.0.5.0 und wenn ich mich recht erinnere gab es bei mehreren Punkten dadurch Probleme. Zb Rezensionen.

    Gruß Timm

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Eigene Box verschwindet nach Reload
    Antwort #4 am: 28. Oktober 2020, 19:12:54
    Ersetze mal testweise im geposteten Code folgende Codezeile,

    Code: PHP  [Auswählen]
    if (!$box_smarty->is_cached(CURRENT_TEMPLATE.'/boxes/box_information.html', $cache_id) || !$cache) {

    mit dieser.

    Code: PHP  [Auswählen]
    if (!$box_smarty->is_cached(CURRENT_TEMPLATE.'/boxes/box_christmas.html', $cache_id) || !$cache) {

    Gruss
    Hanspeter

    Friederike

    • Fördermitglied
    • Beiträge: 87
    Re: Eigene Box verschwindet nach Reload
    Antwort #5 am: 28. Oktober 2020, 19:19:27
    Hi, liebe FräuleinGarn, vielen Dank für den Tipp!
    Tatsächlich, wenn ich bei meinem lokalen Testshop den Cache ausschalte, wird der Banner immer angezeigt!

    Hm. Okay, bei meinem Liveshop würde ich den Cache gern eingeschaltet lassen. Hat jemand eine Idee, wie man das mit Cache vereinbaren kann?

    Vielen Dank :-)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: Eigene Box verschwindet nach Reload
    Antwort #6 am: 28. Oktober 2020, 19:21:49
    Den Hinweis von Hanspeter hattest du gesehen?

    Grüße

    Torsten

    Friederike

    • Fördermitglied
    • Beiträge: 87
    Re: Eigene Box verschwindet nach Reload
    Antwort #7 am: 28. Oktober 2020, 19:24:40
    Hi, sorry, so schnell kann ich gar nicht testen!

    Super, vielen Dank Hanspeter!
    Das war die Lösung, jetzt geht es auch mit eingeschaltetem Cache!

    Danke sehr  :-B

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: Eigene Box verschwindet nach Reload
    Antwort #8 am: 28. Oktober 2020, 19:26:45
    Na ich hatte nur den Code gesehen und wusste, dass es dein Problem löst, daher wollte ich darauf nochmal hinweisen. ;-)

    Grüße

    Torsten
    6 Antworten
    4771 Aufrufe
    07. September 2011, 15:39:55 von ThorstenK
    13 Antworten
    8245 Aufrufe
    30. Januar 2014, 14:33:31 von 61lazzo
               
    anything