Multiplier Unsupported operand types: string – int
- vanaveno
- Člen | 144
Ahojte, aktualizoval jsem jadro nette a nastavil na serveru php 8.1 Začal mi Multiplier házet error Unsupported operand types: string – int
<?php
protected function createComponentCartCategoryForm(): Multiplier
{
return new Multiplier(function ($productId) {
$form = new Nette\Application\UI\Form;
$form->addInteger('quantity', 'Počet zboží:')
->setDefaultValue(1);
$form->addHidden('productId', $productId);
$form->addSubmit('send', 'Přidat do košíku');
$form->onSuccess[] = [$this, 'addToCartSucceeded'];
return $form;
});
}
/* šablona */
{form cartCategoryForm-$product->productId}
<button class="addcart fs-08 tt-ups pr-3 pl-3 d-ib lh-40 f-left" n:name="send">
Koupit</button>
<div class="quantity mr-2 f-left">{input quantity}</div>
{/form}
?>
Editoval vanaveno (30. 12. 2022 16:13)
- Marek Bartoš
- Nette Blogger | 1280
U každé chyby je dobré uvést, kde přesně vznikla (viz stacktrace), jinak jenom hádáme.
Chyba říká, že se pokouší od stringu odečíst int. Někde ti nejspíš chybí převod numerického stringu na int a to PHP od verze 8 považuje za chybu.
Editoval Marek Bartoš (30. 12. 2022 16:26)
- vanaveno
- Člen | 144
Laděnka mi ukazuje na tento řádek {form cartCategoryForm-$product->productId}
Marek Bartoš napsal(a):
U každé chyby je dobré uvést, kde přesně vznikla (viz stacktrace), jinak jenom hádáme.
Chyba říká, že se pokouší od stringu odečíst int. Někde ti nejspíš chybí převod numerického stringu na int a to PHP od verze 8 považuje za chybu.