ajax hendle v presenteru nejde prenacist stranka

crookslovacko
Člen | 75
+
0
-

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

emololftw
Člen | 82
+
0
-

Zkoušel jsi cokoliv dumpnout v metodě signálu ??

btw: handleUpdatePictureSizeWidth()

Lumeriol
Generous Backer | 62
+
0
-

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
+
0
-

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)