Search code examples
javascriptmodernizrshopware

Shopware update captcha not visible


I have updated Shopware from 5.2.2(5|6)[Rev. 201706221543] to 5.4.6 (Rev. 201807181357).

The form contains captcha. But after an update I have to click on a field to see it. Why?

When I click any field computed and cached Modernizr js file executes:

widgets/Captcha/refreshCaptcha?_=15...

so captcha reloads and appears.


Modernizr:

n.ajaxTransport(function(b) {
...
  try {
    h.send(b.hasContent && b.data || null) <-- Console shows that string

HTML before:

<div class="captcha--placeholder" data-src="/widgets/Captcha/refreshCaptcha"></div>

HTML after clicking any input field:

<div class="captcha--placeholder" data-src="/widgets/Captcha/refreshCaptcha">
  <img src="data:image/png;base64,iV...=" alt="Captcha">
  <input type="hidden" name="sRand" value="fj..">
</div>

Solution

  • This is the default behaviour of shopware. The reason for this might be, that the captcha will only be loaded, when it is needed. There is a captcha on the detail-page as well and in shopware versions < 5.3 on every detail request a captcha was loaded, causing a slower site performance. Now the captcha is only loaded when accessing the rating tab. So the main reason is minimizing requests.