Recirect v presenteru v render metode pri modalnom okne

alexan
Člen | 15
+
-4
-

Dobry den,
nevedel by mi niekto poradit neviem si rady s redirektom pri modalnom okne
vypise mi to iba modalne okno s hlaskou

{„redirect“:„http://localhost/.....“}

Dakujem.

kocourPB
Člen | 47
+
0
-

Ahoj,

mozes sem hodit nejaky kus kodu ako to mas vlastne implementovane? Bez toho ti tazko niekto poradi ;)

alexan
Člen | 15
+
0
-

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>
alexan
Člen | 15
+
0
-

Mam vytvoreny XYPresenter.php kde mam definovane render/action k sablone kde
chcem na zaklade nejakej podmienky redirektovat na ine miesto.

public function actionNazovSablony(){
...
if (){
	$this->flashMessage("....");
	$this->redirect('XYZ:abc');
}
}
Phalanx
Člen | 310
+
+2
-

@alexan Pořád nedává smysl co máš a co s tím chceš udělat.

Kamil Valenta
Člen | 758
+
0
-

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

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.

alexan
Člen | 15
+
0
-

Dakujem za radu.