Recirect v presenteru v render metode pri modalnom okne
- alexan
- Člen | 15
mam vytvorenu sablonu
<style>
.form-group { margin-bottom: 0px; }
</style>
{form nazovForm class=> 'form-horizontal' }
<div class="modal-header bg-danger">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span></button>
<h4 class="modal-title">Nazov okna.</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<table class="table table-striped">
<tbody>
<tr>
...
</tr>
</tbody>
</table>
</div>
<div class="col-md-6">
<table class="table table-striped">
<tbody >
<tr>
....
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">SPÄŤ</button>
{input apply class=>'btn-danger'}
</div>
{/form}
tuto zavolam z inej sablony tlacidlom
<a data-toggle="modal" data-target="#remoteModalMd" target="_blank" title="" class="btn btn-xs btn-danger" href="/cesta/k/sablone/"><i class="fa fa-file-text-o"></i> TLACIDLO</a>
- Kamil Valenta
- Člen | 822
Nejprve píšeš o redirectu z renderu (což nedává smysl), pak ale pošleš ukázku s actionNazovSablony().
Pokud skutečně potřebuješ, aby byl modal původcem nějakého přesměrování, tak to udělej buď odkazem, nebo javascriptem.
- jiri.pudil
- Nette Blogger | 1032
Ahoj @alexan. Trochu hádám z křišťálového kódu, ale myslím
si, že Bootstrap nebo něco jiného, co ti obsluhuje ten modal, posílá
ajaxový požadavek a předpokládá, že se mu vrátí HTML kód s obsahem.
Pokud ale v Nette presenteru uděláš redirect v ajaxovém požadavku, vrací
zpátky JSON: {"redirect":"/where/to/redirect"}
. Tak to prostě
je. Nette pak předpokládá, že implementace na straně klienta instruuje
prohlížeč, aby provedl přesměrování.
Tyhle dva předpoklady nejdou dohromady a budeš muset buďto upravit obsluhu těch modalů tak, aby reagovala na JSON s redirectem, nebo použít nějakou client-side implementaci a podporu modalů pro ni najít nebo dopsat.