Почему в TYPO3 CMS 9.5 встроенный встроенный Javascript CDATA пуст? - PullRequest
0 голосов
/ 14 октября 2019

Мы создали стороннее расширение для TYPO3. После обновления до 9.5 мы теперь получаем PHP Warning: Invalid argument supplied for foreach() in [...]/typo3_src-9.5.9/vendor/typo3fluid/fluid/src/Core/Parser/TemplateProcessor/NamespaceDetectionTemplateProcessor.php line 180.

. После некоторых веб-исследований мы обнаружили, что проблема заключается в встроенном Javascript, и вы можете исправить его только с помощью правильной упаковки CDATA (подробнее: https://forge.typo3.org/issues/88615)

Итак, мы попробовали (в соответствии с мануэлем https://docs.typo3.org/m/typo3/guide-extbasefluid/master/en-us/Fluid/ThingsToKnow/JsAndInline.html):

<script>
    <![CDATA[
        (function($){
            alert('test');
        })(jQuery);
    ]]>
</script>

Но теперь все, что находится между оберткой CDATA, полностью исчезает в возвращении внешнего интерфейса. Также, если мы поместим теги сценария междуCDATA также.

И это также не работает:

<f:format.cdata>
   <script type="text/javascript">
      (function($){
        alert('test');
      })(jQuery);
   </script>
</f:format.cdata>

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

Обновление до TYPO3 CMS 9.5.10 LTS исправил все проблемы, которые у нас есть.

0 голосов
/ 14 октября 2019

Попробуйте либо:

<script type="text/javascript">
   <f:format.cdata>
      (function($){
        alert('test');
      })(jQuery);
   </f:format.cdata>
</script>

или

<f:format.raw>
   <script type="text/javascript">
      (function($){
        alert('test');
      })(jQuery);
   </script>
</f:format.raw>
...