Frontend startet nicht (Wrong format... missing 0 in engine/Library/Zend/Locale/Format.php)

Hallo allerseits,

hier mein allerersten Post im Forum Smile

Ich habe heute zum erstenmal ein 5.4.1 Shopware auf meinem Server als Evaluationssystem installiert. Alles lief im Backend reibungslos. Einzige Meldung, der aus der Reihe fiel ist:

IonCube: missing or unsupported version installed (only needed for encrypted third-party plugins)

Ich habe aber keine third-party Plugins installiert, sodass das Fehlen von IonCube keine Rolle spielen sollte (soweit ich das verstanden habe).

Die deutsche Demo-Shop habe ich mit installiert und die Theme Responsive ist aktiviert.

Jetzt wenn ich den Frontend aufrufe, komme ich nicht weiter. Ich bekomme immer die Fehlermeldung:

Wrong format… missing 0 in engine/Library/Zend/Locale/Format.php on line 338

Stacktrace und Request, die ich in der Fehler-Email vom Server bekomme, habe ich unten reinkopiert.

Ich habe den Forum durchgesucht, bin aber nicht f√ľndig geworden. Kann jemand mich hiermit helfen?

Gruß,

Chip

Stacktrace

Wrong format... missing 0 in engine/Library/Zend/Locale/Format.php on line 338Zend_Locale_Exception: Wrong format... missing 0 in /home/sites/site3/web/mtShopware/engine/Library/Zend/Locale/Format.php:338
Stack trace:
#0 /home/sites/site3/web/mtShopware/engine/Library/Zend/Currency.php(189): Zend_Locale_Format::toNumber('0.0', Array)
#1 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Template/Plugins/modifier.currency.php(62): Zend_Currency->toCurrency(0, Array)
#2 /home/sites/site3/web/mtShopware/var/cache/production_201803081536/templates/frontend_Bare_de_DE_1_secure/61/67/7e/61677ed0495867e0c42ae00f10b147eb463a2296.snippet.info.tpl.php(157): smarty_modifier_currency(0)
#3 /home/sites/site3/web/mtShopware/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(180): content_5abe960ac1df56_62197521(Object(Enlight_Template_Default))
#4 /home/sites/site3/web/mtShopware/engine/Library/Enlight/View/Default.php(300): Smarty_Internal_TemplateBase->fetch()
#5 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(216): Enlight_View_Default->render(Object(Enlight_Template_Default))
#6 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(242): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default))
#7 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render()
#8 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Event/Handler/Default.php(91): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->onPostDispatch(Object(Enlight_Controller_ActionEventArgs))
#9 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Event/EventManager.php(220): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#10 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Action.php(235): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#11 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(549): Enlight_Controller_Action->dispatch('infoAction')
#12 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Template/Plugins/function.action.php(100): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#13 /home/sites/site3/web/mtShopware/var/cache/production_201803081536/templates/frontend_Bare_de_DE_1_secure/ca/c0/35/cac0354249516e114affaee75d363148beae4ef8.snippet.index.tpl.php(953): smarty_function_action(Array, Object(Enlight_Template_Default))
#14 /home/sites/site3/web/mtShopware/var/cache/production_201803081536/templates/frontend_Bare_de_DE_1_secure/ca/c0/35/cac0354249516e114affaee75d363148beae4ef8.snippet.index.tpl.php(287): content_5abe9609b14a93_70900642(Object(Enlight_Template_Default))
#15 /home/sites/site3/web/mtShopware/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(180): content_5abe960a5f4865_35118201(Object(Enlight_Template_Default))
#16 /home/sites/site3/web/mtShopware/engine/Library/Enlight/View/Default.php(300): Smarty_Internal_TemplateBase->fetch()
#17 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(216): Enlight_View_Default->render(Object(Enlight_Template_Default))
#18 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(242): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default))
#19 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render()
#20 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Event/Handler/Default.php(91): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->onPostDispatch(Object(Enlight_Controller_ActionEventArgs))
#21 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Event/EventManager.php(220): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#22 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Action.php(235): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#23 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(549): Enlight_Controller_Action->dispatch('indexAction')
#24 /home/sites/site3/web/mtShopware/engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#25 /home/sites/site3/web/mtShopware/engine/Shopware/Kernel.php(215): Enlight_Controller_Front->dispatch()
#26 /home/sites/site3/web/mtShopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(486): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#27 /home/sites/site3/web/mtShopware/engine/Shopware/Components/HttpCache/AppCache.php(268): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#28 /home/sites/site3/web/mtShopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(443): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#29 /home/sites/site3/web/mtShopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(339): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#30 /home/sites/site3/web/mtShopware/engine/Shopware/Components/HttpCache/AppCache.php(189): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#31 /home/sites/site3/web/mtShopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(205): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#32 /home/sites/site3/web/mtShopware/engine/Shopware/Components/HttpCache/AppCache.php(116): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#33 /home/sites/site3/web/mtShopware/shopware.php(118): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#34 {main}

Request:

{
    "uri": "/mtShopware/frontend/_public/src/img/logos/logo--tablet.png",
    "method": "GET",
    "query": {
        "module": "frontend",
        "controller": "_public",
        "action": "src",
        "img": "logos",
        "logo--tablet.png": ""
    },
    "post": []
}

 

Der Fehler tritt bei der Formatierung von Währungen auf.

Im Template steht irgendwo |currency. Dieser Smarty Modifier versucht die √ľbergebene Zahl in eine W√§hrung zu ‚Äě√ľbertragen‚Äú.

Die Methode die den Fehler verursacht, versucht die Zahl anhand von lokalen Währungseinstellungen zu formatieren.

##0.# -> 12345.12345 -> 12345.12345
##0.00 -> 12345.12345 -> 12345.12
##,##0.00 -> 12345.12345 -> 12,345.12

Das √ľbergebene Format enth√§lt keine 0, daher der Fehler

if (iconv_strpos($format, '0') === false) {
  self::_setEncoding($oenc);
  throw new Zend_Locale_Exception('Wrong format... missing 0');
}

Könnte an den Zeit und Währungseinstellungen des Servers liegen.

Vielleicht hilft dieser Thread weiter:

 

Ansonsten einfach probieren eine Zahl zu formatieren:

(PHP Datei im Shopware Root erstellen)

toCurrency(1000);

 

2 Likes

Das Problem war wie im oben erwähnten Thread. Die iconv-Installation am Server war wohl nicht vollständig. Ich habe auch ein kleiner Testskript gemacht (s.u), der iconv getestet hat, ohne Shopware und den Zend-Framework. Ging auch nicht.

Das habe ich meinen Provider gemeldet, und sie haben das Problem schnell gelöst.

Danke f√ľr die Antwort und Link auf den alten Post.

Chip

 

Datei: iconv_test.php

 

  PHP Test

 
 
   <?php
      echo ’

testing iconv_strpos

';
¬†¬†¬†¬†¬† $format = ‚Äě#,##0.00 ¬§‚Äú;
      echo ’

format is '. $format . ’

';
      echo ’

now calling iconv_strpos($format,‚Äö0‚Äė)

';
¬†¬†¬†¬†¬† $pos = iconv_strpos($format,‚Äö0‚Äė);
      echo ’

pos is

';
¬†¬†¬†¬†¬† if (iconv_strpos($format,‚Äö0‚Äė) === false ) {
        echo ’

should return 4, but iconv_strpos returns false

';
      }

      ?>