ajax hendle v presenteru nejde prenacist stranka
- crookslovacko
- Člen | 75
Dobrý den mám presenter který zpracovává ajax požadavky (handle) a vytvořenou componentu ve stejném presenteru, v něm je klasický render na šablonu v níž je klasicky {control komponenta}
ale nedaří se mi prřekleslit nebo redirectnout nebo cokoliv.
Handle:
public function handleupdatepicturesizewidth($width)
{
$storyboards_id = $this->getParameter('storyboard_id');
$picture_id = $this->getParameter('picture_id');
$picture = $this->filmsData->pictureById($picture_id);
if($picture['max_width']<=intval($width)){
$file_name = $picture_id.$picture['file_ext'];
}
else{
$file_name = $picture_id.'resize'.$picture['file_ext'];
}
$file_name_r = $picture_id.'resize'.$picture['file_ext'];
$image_gd = imagecreatefromjpeg(__DIR__ . '../../../www/'.'/'.$storyboards_id.'/'.$file_name);
$ratio = intval($width) / imagesx($image_gd);
$height = imagesy($image_gd) * $ratio;
$new_image = imagecreatetruecolor(intval($width), intval($height));
imagecopyresampled($new_image, $image_gd, 0, 0, 0, 0, 1024, intval($height), imagesx($image_gd), imagesy($image_gd));
imagejpeg($new_image, __DIR__ . '../../../www/'.'/'.$storyboards_id.'/' . $file_name_r, 90);
$this->filmsData->updatePicture($picture_id, array('picture'=>$file_name,
'max_width'=>$width,
'max_height'=>$height));
$this->redirect('this');
}
Tvorba componenty:
protected function createComponentPictureChanges(): \PictureChangesComponent
{
$component = $this->pictureChanges->create($this->presenter->getParameter('picture_id'),$this->presenter->getParameter('storyboard_id'));
return $component;
}
render:
public function renderPictureChange($picture_id = null,$storyboard_id = null): void
{
$this->template->storyboard_id = $storyboard_id;
$this->template->id = $picture_id;
}
picturechange.late
{block content}
{snippet picturechange}
{control pictureChanges}<- tohle prekreslit
{/snippet}
Jen pro jistotu vše tohle je v jednom presenteru
Zkoušel jsem redirect zkoušel jsem snipet, mam i nahozenou naju Někde
dělám chzbu ale nevím kde
Všem děkuji za rady
- Lumeriol
- Generous Backer | 62
crookslovacko napsal(a):
Dobrý den mám presenter který zpracovává ajax požadavky (handle) a vytvořenou componentu ve stejném presenteru, v něm je klasický render na šablonu v níž je klasicky {control komponenta}
V ramci techto utrzku se neda uplne poznat, kde muze byt chyba. Takze jen nekolik poznatku:
- Pokud volas ajaxove ten signal updatepicturesizewidth, a pouzivas Naju, tak se ti „redirect“ neprovede viditelne. Bohuzel jakym zpusobem ten signal volas, a odkud, jsi nenapsal.
- Taktez nikde neni videt, ze bys volal prekresleni toho snippetu pomoci redrawControl, ani vykresleni sablony komponenty picturecode.latte
$this->redrawControl('picturechange');
Mozna by bylo lepsi dat tech par souboru na nejake uloziste / GitHub, aby se dalo lepe dohledat problemovy usek.
- crookslovacko
- Člen | 75
emololftw jasne vse se provede krome redirerectu nebo prenacteni. Lumeriol
Volaní signálu je v js v layout
<script>
function updatepicturesizewidth(){
let link = {link updatepicturesizewidth!};
let width = document.getElementById("new_width").value;
$.ajax({
type: 'GET',
url: link,
data: { width: width}
});
};
</script>
Jen dotaz pokud se hendl provede nemělo by to mít vliv
Omlouvám se pokud to nebylo jasné ale redraw jsem zkousel.
Editoval crookslovacko (16. 10. 2022 21:46)