premenna ako $baseUri z jednou subdomenou

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

Dobry den,

na linkovanie scriptov, css a pod pouzivam $baseUri. problem je, ze ak mam web na viac subdomenach, pre kazdu subdomenu sa ten subor stahuje znovu. existuje nejaka premenna ktora by bola www.domena.com a nemenila by sa? alebo budem musiet nieco taketo nadefinovat sam

Aurielle
Člen | 1281
+
0
-

Můžeš $baseUri explicitně přepsat na tvoji hodnotu, nicméně to není příliš čisté a přenositelné řešení.

wopice
Člen | 21
+
0
-

japlavaren napsal(a):

Dobry den,

na linkovanie scriptov, css a pod pouzivam $baseUri. problem je, ze ak mam web na viac subdomenach, pre kazdu subdomenu sa ten subor stahuje znovu. existuje nejaka premenna ktora by bola www.domena.com a nemenila by sa? alebo budem musiet nieco taketo nadefinovat sam

Pokud vím, tak Nette nic takového neobsahuje. Na vašem místě bych zvážil HTML5 appcache, což může pomoci s tím, že se soubory stáhnou pouze jednou.

Nebo na produkčním serveru upravit hodnotu vrácenou z Url::getHost():

<?php
public function beforeRender() {
	// Vrati napr. foo.example.com
	$host = $this->context->httpRequest->uri->host;
	if (\Nette\Environment::isProduction()) {
		$cacheHost = \Nette\Utils\Strings::replace($host, "~^\w+(?=\.)~", "www");
		$this->template->cacheHost = $cacheHost;
	} else {
		$this->template->cacheHost = $host;
	}
}
?>

… a odkazovat pomocí upraveného host.

JakubJarabica
Gold Partner | 184
+
0
-

Tiež som problém so subdomenami riešil a skončil som pri premennej $domain v šablóne. Mám localhost, staging a production. Premenna mi umožňuje maximálnu flexibilitu. BaseUri by som radšej neprepisoval.

David Grudl
Nette Core | 8173
+
0
-

japlavaren napsal(a):

existuje nejaka premenna ktora by bola www.domena.com a nemenila by sa?

Jasně, $template->mediaUrl = 'www.domena.com' ;-)