Redirect na stránku mimo stránky s nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
SontoEremo
Člen | 341
+
0
-

Zdravím ľudkovia…
Ako v nette používať link v tvare https://www.facebook.com tak aby mi ladenka nekričala

Invalid link: No route for Web:Homepage:www.facebook.com()

Momentálne to mám poriešené tak, že mám presenter RedirectOutPresenter.php a v ňom natvrdo

<?php
namespace App\Presenters;

class RedirectOutPresenter extends MasterPresenter {
	public function renderDefault($redirect) {
		if($redirect === "facebook") {
			$this->template->pageName = "Facebook";
			$this->template->icons = "fa-facebook";
			$this->template->redirect = "https://www.facebook.com/";
		}
		if($redirect === "googleplus") {
			$this->template->pageName = "Google+";
			$this->template->icons = "fa-google-plus";
			$this->template->redirect = "https://plus.google.com/";
		}
		if($redirect === "twitter") {
			$this->template->pageName = "Twitter";
			$this->template->icons = "fa-twitter";
			$this->template->redirect = "https://www.twitter.com/";
		}
		if($redirect === "youtube") {
			$this->template->pageName = "Youtube";
			$this->template->icons = "fa-youtube";
			$this->template->redirect = "https://www.youtube.com/";
		}
	}
}

Potom už len v layout odkazujem takto

<ul class="dropdown-menu" role="menu">
	<li class="mob-hidden">
		<h5>Pripojte sa</h5>
	</li>
	<li>
		<a href="{plink :RedirectOut:default, $redirect = facebook}">
			<i class="fa fa-facebook"></i>
			Facebook
		</a>
	</li>
	<li>
		<a href="{plink :RedirectOut:default, $redirect = googleplus}">
			<i class="fa fa-google-plus"></i>
			Google+
		</a>
	</li>
	<li>
		<a href="{plink :RedirectOut:default, $redirect = twitter}">
			<i class="fa fa-twitter"></i>
			Twitter
		</a>
	</li>
	<li>
		<a href="{plink :RedirectOut:default, $redirect = youtube}">
			<i class="fa fa-youtube"></i>
			Youtube
		</a>
	</li>
</ul>

keď ma to presmeruje na stránku RedirectOut → default tam mám zas toto

<div class="window-redirect">
			<div class="window-left">
				<div class="window-text">
					<h2>Pozor</h2>
					<p>
						Snažíš sa presmerovať mimo stránky domena.
					<br>
						Pokiaľ si presmerovanie nevykonal klikli na
					</p>
					<p>
						<a href="{plink :Web:Homepage:default}" class="btn btn-success btn-block btn-lg">
							<i class="fa fa-reply fa-lg"></i>
							Na hlavú stránku domena
						</a>
					</p>
				</div>
			</div>
			<div class="window-left">
				<div class="window-text">
					<h2>Presmerovanie</h2>
					<span>Pokiaľ sa ti nezobrazí možosť kliknutia okopíruj text v okineku.</span>
					<p class="insert">
						{$redirect}
					</p>
					<p>
						<a href="{$redirect}" class="btn btn-danger btn-block btn-lg" target="_blank">
							Prejísť na stránku {$pageName}
							<i class="fa {$icons} fa-lg"></i>
						</a>
					</p>
				</div>
			</div>

		</div>

Myslíte, že môžem veselo bez strachu o bezpečnostnú chybu používať moje uvedené zápisy alebo je nejaké normálne a hlavne bezpečné riešenie.

Upozornenie: to prsmerovanie na stránku s presenterom RedirectPresenter by som chcel využiť poradíte nejaké riešenie? Ďakujem vopred za akékoľvek info.

Editoval SontoEremo (27. 4. 2015 11:21)

Ondris
Člen | 37
+
0
-

Co ti brání použít klasický href? Macro Plink nebo i n:href se bude snažit vždycky najít odpovídající presenter.

Editoval Ondris (27. 4. 2015 15:16)

SontoEremo
Člen | 341
+
0
-

Pretože chcem použiť upozornenie na presmerovanie mimo stránky.
Ja len potrebujeme vedieť či je bezpečné použiť môj kód v presenteri alebo je iný spôsob ako to urobiť

David Matějka
Moderator | 6445
+
0
-

A ktere volani vyhazuje ten error? na jake strance?

SontoEremo
Člen | 341
+
0
-

@DavidMatějka Ospravedlňujem sa ten error vyhadzoval iba pri pokuse

{plink https://www.facebook.com/}

Ja som zabudol, že to tak nefunguje
Teraz potrebujem vedieť či je v mojom RedirectOutPresenter-i všetko v poriadku a že to tak môžem používať.