Как я могу обработать большую строку JSON в TYPO3
Я разработал небольшое расширение для заказа, где клиенты могут создать визитную карточку. Это расширение использует холст в ассоциации с fabric.js.
Клиенты могут добавлять текст, простые формы, изображения и т. Д., И результатом ее настройки является строка json, которую я связываю через jquery со скрытым вводом, чтобы сохранить эти данные в изображении свойства при отправке формы.
ЖИДКОСТИ:
<f:form.hidden class="custom-image" property="image" />
JS:
$('.step3 .custom-image').val(getJsonOfCanvas());
HTML результат:
<input class="custom-image" type="hidden" name="tx_example_orderform[step3data][image]" value="{"objects":[{"type":"rect","originX":"left","originY":"top","left":761,"top":181,"width":50,"height":50,"fill":"#68e5e7","stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":0.8,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","globalCompositeOperation":"source-over","transformMatrix":null,"params":{"base":1,"x":761,"y":181,"scaleX":1,"scaleY":1},"rx":0,"ry":0}],"background":""}">
Таким образом, модификации визитной карточки увеличивают ценность этого скрытого ввода -> много модификаций = большая строка json.
На более позднем этапе заказа клиенты могут проверять и редактировать ее записи, а также снова редактировать ее визитную карточку. По этой причине я использую ту же самую строку json, чтобы загрузить холст снова:
FLUID (немного сложно, потому что это встроенный JS):
<script type="text/javascript">
<![CDATA[var jsonCanvasString = ]]>
<f:if condition="{step3data.image}">
<f:then>
<f:format.htmlentitiesDecode>{step3data.image}</f:format.htmlentitiesDecode>
</f:then>
<f:else>
''
</f:else>
</f:if>
<![CDATA[;]]>
</script>
JS:
if (typeof jsonCanvasString !== 'undefined') {
canvas.loadFromJSON(jsonCanvasString, canvas.renderAll.bind(canvas));
}
Это прекрасно работает, когда строка json не так велика, но когда он слишком длинный, я получаю пустую страницу, и ничто не будет отображаться, но если я отлаживаю свое свойство image, я вижу, что свойство image все еще установлено:
Какие-либо предложения? Может быть, есть лучший способ сохранить строку json и передать его из js в php или из php в js?
Надеюсь, вы можете помочь мне:)