Bei Jedem Shop Seitenaufruf wird der Inhalt im Ordner public/theme neu erstellt

Thema wurde von Kai Schoelzke, 27. Januar 2023 erstellt.

  1. Kai Schoelzke

    Kai Schoelzke Beta-Held

    Registriert seit:
    30. März 2016
    Beiträge:
    3.803
    Danke erhalten:
    548
    Danke vergeben:
    248
    #1 Kai Schoelzke, 27. Januar 2023
    Zuletzt bearbeitet: 30. Januar 2023
    Nach einem Umzug von Strato zu All-inkl.com ist folgendes aufgefallen.
    Bei Jedem Aufruf einer Seite im Frontend, wird der Inhalt im Ordner public/theme neu erstellt. Bei Strato ist das scheinbar nicht aufgefallen, da die seite so langsam ausgeliefert wurden das der Inhalt im Hintergrund in Ruhe generiert werden konnte. Jetzt werden die Seiten schneller zur Verfügung stellt als der Inhalt generiert werden kann, was zur Folge hat, es werden dann Dateien im Ordner nicht gefunden und es wird eine Fehlermeldung [CSS compile error]'file_get_contents/(Pfad zur Datei) ausgegeben Log Dateien sehen dann in etwa so aus.
    Code:
    2023-01-27 19:52:51 CRITICAL: Source: Missing  name
    context:
    session ID:
    
    session-63d41d83c652c2.21229046
    
    exception:
    class:
    
    SmartyException
    
    message:
    
    Source: Missing  name
    
    code:
    
    0
    
    file:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_template_source.php
    
    line:
    
    168
    
    trace:
    0:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php:168
    │          // Template resource
    │          $this->template_resource = $template_resource;
    ├─         $this->source = $_isConfig ? Smarty_Template_Config::load($this) : Smarty_Template_Source::load($this);
    │          parent::__construct();
    │          if ($smarty->security_policy && method_exists($smarty->security_policy, 'registerCallBacks')) {
    
    1:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/Smarty.class.php:987
    │          } else {
    │              /* @var Smarty_Internal_Template $tpl */
    ├─             $tpl = new $this->template_class($template, $this, null, $cache_id, $compile_id, null, null);
    │              $tpl->templateId = $_templateId;
    │          }
    
    2:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/GXSmarty.inc.php:57
    │          $template = $this->_getGambioUsermodFilePath($template);
    │     
    ├─         return parent::createTemplate($template, $cache_id, $compile_id, $parent, $do_clone);
    │      }
    │ 
    
    3:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php:189
    │              // get template object
    │              $saveVars = false;
    ├─             $template = $smarty->createTemplate($template, $cache_id, $compile_id, $parent ? $parent : $this, false);
    │              if ($this->_objType === 1) {
    │                  // set caching in template object
    
    4:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php:116
    │      public function fetch($template = null, $cache_id = null, $compile_id = null, $parent = null)
    │      {
    ├─         $result = $this->_execute($template, $cache_id, $compile_id, $parent, 0);
    │          return $result === null ? ob_get_clean() : $result;
    │      }
    
    5:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/ThemeContentViews/core/ThemeContentView.inc.php:448
    │              $fetchTemplatePath .= implode('|', $extenderTemplateFiles);
    │          }
    ├─         $t_html_output = $this->v_coo_smarty->fetch($fetchTemplatePath, $this->get_cache_id());
    │     
    │          # insert session_ids
    
    6:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/ThemeContentViews/core/ThemeContentView.inc.php:155
    │          $this->prepare_data();
    │          if ($this->build_html == true) {
    ├─             $t_html_output = $this->build_html();
    │          }
    │     
    
    7:
    
    /www/htdocs/xxxxxx/shop/system/classes/slider/SliderContentControl.inc.php:141
    │              $sliderContentView->set_('slider_set_id', $this->sliderId);
    │              $sliderContentView->set_('language_id', (int)($_SESSION['languages_id'] ?? null));
    ├─            $html = $sliderContentView->get_html();
    │          }
    │      
    
    8:
    
    /www/htdocs/xxxxxx/shop/system/classes/slider/SliderContentControl.inc.php:72
    │          }
    │      
    ├─        $this->v_output_buffer = $this->_getHtml();
    │      
    │          return true;
    
    9:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/Boxes/boxes/slider.php:16
    │   */
    │  $sliderContentControl = MainFactory::create('SliderContentControl', $this->category_id, $this->coo_product->pID);
    ├─ $sliderContentControl->proceed();
    │
    │  $this->set_content_data('IMGSLIDER', $sliderContentControl->get_response());
    
    10:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/Boxes/boxes.php:22
    │  include(DIR_WS_BOXES . 'extraboxes.php');
    │  include(DIR_WS_BOXES . 'gm_logo.php');
    ├─ include(DIR_WS_BOXES . 'slider.php');
    │  include(DIR_WS_BOXES . 'top_menu.php');
    │
    
    11:
    
    /www/htdocs/xxxxxx/shop/system/classes/menuboxes/MenuBoxesContentControl.php:101
    │      public function proceed()
    │      {
    ├─         include(DIR_FS_CATALOG . 'GXMainComponents/View/Boxes/boxes.php');
    │     
    │          return true;
    
    12:
    
    /www/htdocs/xxxxxx/shop/index.php:62
    │  $coo_mn_menu_boxes_control->set_('coo_product', $GLOBALS['product']);
    │  $coo_mn_menu_boxes_control->set_('coo_xtc_price', $GLOBALS['xtPrice']);
    ├─ $coo_mn_menu_boxes_control->proceed();
    │
    │  $coo_listing_control = MainFactory::create_object('ProductListingContentControl');
    
    extra:
    ...
    
    2023-01-27 19:52:51 ERROR: t_template_file does not exist: /www/htdocs/xxxxxx/shop/public/theme/html/system/image_slider.html
    context:
    session ID:
    
    session-63d41d83c652c2.21229046
    
    code:
    
    256
    
    file:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/ThemeContentViews/core/ThemeContentView.inc.php
    
    line:
    
    443
    
    context:
    previous output:
    
    code snippet:
    
    │                  $fetchTemplatePath = 'extends:';
    │              } elseif (!count($extenderTemplateFiles)) {
    ├─                 trigger_error('t_template_file does not exist: ' . $t_full_template_path, E_USER_ERROR);
    │              }
    │         
    
    trace:
    0:
    file:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/ThemeContentViews/core/ThemeContentView.inc.php
    
    line:
    
    155
    
    function:
    
    build_html
    
    class:
    
    ThemeContentView
    
    snippet:
    
    │          $this->prepare_data();
    │          if ($this->build_html == true) {
    ├─             $t_html_output = $this->build_html();
    │          }
    │     
    
    1:
    file:
    
    /www/htdocs/xxxxxx/shop/system/classes/slider/SliderContentControl.inc.php
    
    line:
    
    141
    
    function:
    
    get_html
    
    class:
    
    ThemeContentView
    
    snippet:
    
    │              $sliderContentView->set_('slider_set_id', $this->sliderId);
    │              $sliderContentView->set_('language_id', (int)($_SESSION['languages_id'] ?? null));
    ├─            $html = $sliderContentView->get_html();
    │          }
    │      
    
    2:
    file:
    
    /www/htdocs/xxxxxx/shop/system/classes/slider/SliderContentControl.inc.php
    
    line:
    
    72
    
    function:
    
    _getHtml
    
    class:
    
    SliderContentControl
    
    snippet:
    
    │          }
    │      
    ├─        $this->v_output_buffer = $this->_getHtml();
    │      
    │          return true;
    
    3:
    ...
    4:
    ...
    5:
    ...
    6:
    ...
    extra:
    ...
    
    2023-01-27 19:05:45 CRITICAL: Unable to load template 'get_usermod:/www/htdocs/xxxxxx/shop/public/theme/html/system/product_info_gallery_swiper.html' in 'get_usermod:/www/htdocs/xxxxxx/shop/public/theme/html/system/product_info_gallery_main.html'
    context:
    session ID:
    
    session-63d41279b04621.15971971
    
    exception:
    class:
    
    SmartyException
    
    message:
    
    Unable to load template 'get_usermod:/www/htdocs/xxxxxx/shop/public/theme/html/system/product_info_gallery_swiper.html' in 'get_usermod:/www/htdocs/xxxxxx/shop/public/theme/html/system/product_info_gallery_main.html'
    
    code:
    
    0
    
    file:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php
    
    line:
    
    195
    
    trace:
    0:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php:385
    │                  $tpl->compiled->render($tpl);
    │              } else {
    ├─                 $tpl->render();
    │              }
    │          }
    
    1:
    
    /www/htdocs/xxxxxx/shop/cache/smarty/dd0514f0a25c975e7e9f548acbbc263770951709_0.get_usermod.wwwhtdocsxxxxxxvogtland.php:56
    │          <div class="product-info-image <?php if (smarty_modifier_gm_get_conf('SHOW_ZOOM') === 'true') {?>has-zoom<?php }?>" <?php if (smarty_modifier_gm_get_conf('SHOW_ZOOM') === 'true') {?>data-gambio-widget="<?php if (smarty_modifier_gm_get_conf('GALLERY_LIGHTBOX') === 'true') {?>image_gallery_lightbox<?php } else { ?>image_gallery<?php }?> magnifier" data-magnifier-target=".magnifier-target"<?php } else { ?>data-gambio-widget="<?php if (smarty_modifier_gm_get_conf('GALLERY_LIGHTBOX') === 'true') {?>image_gallery_lightbox<?php } else { ?>image_gallery<?php }?>"<?php }?>>
    │              <div class="product-info-image-inside">
    ├─                <?php $_smarty_tpl->_subTemplateRender("get_usermod:".((string)$_smarty_tpl->tpl_vars['tpl_path']->value)."product_info_gallery_swiper.html", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, 0, $_smarty_tpl->cache_lifetime, array('swiperId'=>"product_image_swiper",'startWidget'=>"true",'swiperImages'=>$_smarty_tpl->tpl_vars['images']->value,'swiperControls'=>"#product_thumbnail_swiper, #product_thumbnail_swiper_mobile",'swiperOptions'=>", \"effect\": \"fade\", \"autoplay\": null"), 0, true);
    │  ?>
    │              </div>
    
    2:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php:248
    │          $this->sourceStack[] = $tpl->source;
    │          $tpl->source = $this->sources[ $block->tplIndex ];
    ├─         $block->callBlock($tpl);
    │          $tpl->source = array_pop($this->sourceStack);
    │      }
    
    3:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php:184
    │          }
    │          if ($block->callsChild || !isset($block->child) || ($block->child->hide && !isset($block->child->child))) {
    ├─             $this->callBlock($block, $tpl);
    │          } else {
    │              $this->process($tpl, $block->child, $block);
    
    4:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php:156
    │              $block->child = $block->child->child;
    │          }
    ├─         $this->process($tpl, $block);
    │      }
    │
    
    5:
    
    /www/htdocs/xxxxxx/shop/cache/smarty/dd0514f0a25c975e7e9f548acbbc263770951709_0.get_usermod.wwwhtdocsxxxxxxvogtland.php:29
    │  if (count($_smarty_tpl->tpl_vars['images']->value) > 0) {?>
    │      <?php
    ├─ $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_169298115163d41279ceb9b8_49782736', "product_info_gallery_image");
    │  ?>
    │
    
    6:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php:123
    │                  }
    │              }
    ├─             $unifunc($_template);
    │              foreach ($_template->endRenderCallbacks as $callback) {
    │                  call_user_func($callback, $_template);
    
    7:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php:114
    │              $_template->source->handler->renderUncompiled($_template->source, $_template);
    │          } else {
    ├─             $this->getRenderedTemplateCode($_template);
    │          }
    │          if ($_template->caching && $this->has_nocache_code) {
    
    8:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php:216
    │                  $this->loadCompiled(true);
    │              }
    ├─             $this->compiled->render($this);
    │          }
    │          // display or fetch
    
    9:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php:385
    │                  $tpl->compiled->render($tpl);
    │              } else {
    ├─                 $tpl->render();
    │              }
    │          }
    
    10:
    
    /www/htdocs/xxxxxx/shop/cache/smarty/614b299bbaab833e0c62cc6dd057242e9a4df362_0.file.product_info_gallery.html.php:88
    │
    │              <div id="image-collection-container">
    ├─                <?php $_smarty_tpl->_subTemplateRender("get_usermod:".((string)$_smarty_tpl->tpl_vars['tpl_path']->value)."product_info_gallery_main.html", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, 0, $_smarty_tpl->cache_lifetime, array(), 0, true);
    │  ?>
    │              </div>
    
    11:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php:248
    │          $this->sourceStack[] = $tpl->source;
    │          $tpl->source = $this->sources[ $block->tplIndex ];
    ├─         $block->callBlock($tpl);
    │          $tpl->source = array_pop($this->sourceStack);
    │      }
    
    12:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php:184
    │          }
    │          if ($block->callsChild || !isset($block->child) || ($block->child->hide && !isset($block->child->child))) {
    ├─             $this->callBlock($block, $tpl);
    │          } else {
    │              $this->process($tpl, $block->child, $block);
    
    13:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php:156
    │              $block->child = $block->child->child;
    │          }
    ├─         $this->process($tpl, $block);
    │      }
    │
    
    14:
    
    /www/htdocs/xxxxxx/shop/cache/smarty/614b299bbaab833e0c62cc6dd057242e9a4df362_0.file.product_info_gallery.html.php:30
    │  ?>
    │      <?php
    ├─ $_smarty_tpl->inheritance->instanceBlock($_smarty_tpl, 'Block_160264756563d41279ce4c50_91733095', "product_info_template_standard_images");
    │  ?>
    │
    
    15:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php:123
    │                  }
    │              }
    ├─             $unifunc($_template);
    │              foreach ($_template->endRenderCallbacks as $callback) {
    │                  call_user_func($callback, $_template);
    
    16:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php:114
    │              $_template->source->handler->renderUncompiled($_template->source, $_template);
    │          } else {
    ├─             $this->getRenderedTemplateCode($_template);
    │          }
    │          if ($_template->caching && $this->has_nocache_code) {
    
    17:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php:216
    │                  $this->loadCompiled(true);
    │              }
    ├─             $this->compiled->render($this);
    │          }
    │          // display or fetch
    
    18:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php:238
    │                      $template->tpl_vars = array_merge(Smarty::$global_tpl_vars, $template->tpl_vars);
    │                  }
    ├─                 $result = $template->render(false, $function);
    │                  $template->_cleanUp();
    │                  if ($saveVars) {
    
    19:
    
    /www/htdocs/xxxxxx/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php:116
    │      public function fetch($template = null, $cache_id = null, $compile_id = null, $parent = null)
    │      {
    ├─         $result = $this->_execute($template, $cache_id, $compile_id, $parent, 0);
    │          return $result === null ? ob_get_clean() : $result;
    │      }
    
    20:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/ThemeContentViews/core/ThemeContentView.inc.php:448
    │              $fetchTemplatePath .= implode('|', $extenderTemplateFiles);
    │          }
    ├─         $t_html_output = $this->v_coo_smarty->fetch($fetchTemplatePath, $this->get_cache_id());
    │     
    │          # insert session_ids
    
    21:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/ThemeContentViews/core/ThemeContentView.inc.php:155
    │          $this->prepare_data();
    │          if ($this->build_html == true) {
    ├─             $t_html_output = $this->build_html();
    │          }
    │     
    
    22:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/ThemeContentViews/products/ProductInfoThemeContentView.inc.php:1307
    │                                                                                     $this->languageId));
    │     
    ├─         $html = $view->get_html();
    │          $this->set_content_data('IMAGE_GALLERY', $html);
    │     
    
    23:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/ThemeContentViews/products/ProductInfoThemeContentView.inc.php:233
    │          $this->_assignGraduatedPrices();
    │          $this->_assignId();
    ├─         $this->_assignImageData();
    │          $this->_assignImageMaxHeight();
    │          $this->_assignLegalAgeFlag();
    
    24:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/ThemeContentViews/products/ProductInfoThemeContentView.inc.php:184
    │              $this->init_groups();
    │         
    ├─             $this->_assignProductData();
    │         
    │              $this->_assignProductNavigator();
    
    25:
    
    /www/htdocs/xxxxxx/shop/GXModules/Gambio/KlarnaOSM/Shop/Overloads/ProductInfoThemeContentView/KlarnaOSMProductInfoThemeContentView.inc.php:19
    │      public function prepare_data()
    │      {
    ├─         parent::prepare_data();
    │     
    │          if (!$this->_productIsForSale()) {
    
    26:
    
    /www/htdocs/xxxxxx/shop/GXModules/Gambio/OmnibusPolicy/Shop/Overloads/ProductInfoThemeContentView/GambioOmnibusPolicyProductInfoThemeContentView.inc.php:24
    │      public function prepare_data()
    │      {
    ├─         parent::prepare_data();
    │
    │          $productListingTextPhrase = $productInfoBadge = null;
    
    27:
    
    /www/htdocs/xxxxxx/shop/GXMainComponents/View/ThemeContentViews/products/ProductInfoThemeContentView.inc.php:213
    │              $htmlOutput = $errorView->get_html();
    │          } else {
    ├─             $this->prepare_data();
    │              $htmlOutput = $this->build_html();
    │          }
    
    28:
    
    /www/htdocs/xxxxxx/shop/product_info.php:134
    │  $coo_product_info_view->setAppendPropertiesModel(APPEND_PROPERTIES_MODEL === 'true');
    │  $coo_product_info_view->setShowPriceTax((int)$_SESSION['customers_status']['customers_status_show_price_tax'] === 1);
    ├─ $t_main_content = $coo_product_info_view->get_html();
    │
    │  $coo_layout_control = MainFactory::create_object('LayoutContentControl');
    
    
    Die Aktuelle Shop version ist 4.7.2.3
    Was habe ich alles gemacht?
    Configure Datei gecheckt, Caches nach allen Regeln der Kunst geleert, auch Browser, alle Systemdateien einmal alle überschrieben u.s.w
    Wenn jemand eine Idee hat, wie wir dem Kunden helfen können dann wäre das eine echte Hilfe. Ich verdiene damit kein Geld, das ist eine Ehrenamptliche Sache die mir am Herzen liegt.
    Also dann, einen schönen Abend an Alle!

    Nachtrag: Montag 30.01.2023 Problem behoben, ich habe den Shop komplett neu Installiert.
     
  2. Kai Schoelzke

    Kai Schoelzke Beta-Held

    Registriert seit:
    30. März 2016
    Beiträge:
    3.803
    Danke erhalten:
    548
    Danke vergeben:
    248
    Mir ist jetzt ein zweiter Fall bekannt, der das gleiche Problem hatte, ein Umzug von Strato nach Estugo. Estugo hat diesmal den Umzug gemacht.
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Hallo Kai,

    ich hatte was Ähnliches glaube ich, aber bei mir lag das daran dass der Shop unter unterschiedlichen (Sub-)Domains aufrufbar ist. Vermutlich für den Fall eines Umzugs, damit der Theme Cache dann neu erstellt wird, prüft Gambio bei jedem Seitenaufruf, ob die aufrufende Domain sich geändert hat. Wenn ja, wird das Theme invalid, gelöscht und nicht umgehend wieder neu generiert, so dass es zu Fehlermeldungen bzgl. fehlenden CSS etc. kommt und auch das Design ab und zu mal zerschossen dargestellt wird.

    Wenn du der Meinung bist, dass das auch bei dir Ursache sein könnte, schicke ich dir gerne einen nicht-updatesicheren Fix, den ich bei @Dominik Späte beauftragt hatte.

    VG