Statický web v Nette – nakopnutí
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- franko
- Člen | 4
Dobrý den,
snažím se vytvořit jednoduchý statický web v nette 2.2.3 dle tutoriálu, ale narazil jsem hned na začátku. Můžete mi prosím poradit ?
- nainstaluji nette pomocí composeru
- ukázková šablona mi funguje
- zapnu si laděnku
- vytvořím v app/presenters BasePresenter.php
<?php
namespace App\Presenters;
use Nette,
App\Model;
/**
* Base presenter for all application presenters.
*/
abstract class BasePresenter extends Nette\Application\UI\Presenter {
public function beforeRender(){
parent::beforeRender(); // nezapomeňte volat metodu předka, stejně jako u startup()
$this->template->menuItems = array(
'Domů' => 'Homepage:',
'Produkty' => 'Product:',
'Kontakty' => 'Contact:',
);
}
}
potom vytvořím další HomepagePresenter.php:
<?php
namespace App\Presenters;
use Nette,
App\Model;
/**
* Homepage presenter.
*/
class HomepagePresenter extends BasePresenter
{
}
- a poté ContactPresenter.php a obdobně ProductPresenter.php:
<?php
namespace App\Presenters;
use Nette,
App\Model;
/**
* Contact presenter.
*/
class ContactPresenter extends BasePresenter
{
}
- nyní vytvořím v /app/templates jednoduchou šablonu @layout.latte:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{include #title}</title>
<link rel="stylesheet" media="screen,projection,tv" href="{$basePath}/css/screen.css">
<link rel="stylesheet" media="print" href="{$basePath}/css/print.css">
<link rel="shortcut icon" href="{$basePath}/favicon.ico">
{block head}{/block}
</head>
<body>
<header>
<nav>
<ul n:inner-foreach="$menuItems as $item => $link">
<li {ifCurrent $link}class="current"{/ifCurrent}>
<a n:href="$link">{$item}</a>
</ul>
</nav>
</header>
<div id="cistic">
</div>
{include #content}
</body>
</html>
- vytvořím v /app/templates adresáře Homepage, Product a Contact
a vložím do nich obdobné soubory s názvem default.latte, např.:
{block title}
<title>Nette test - Úvod</title>
{/block}
{block content}
<div>
<p>Kontakty</p>
</div>
{/block}
Pak tento web zobrazím v prohlížeči /myApp/www/ a vidím úvodní stránku, pokud klepnu na položku menu „Domů“, tak to funguje odkazuje se na /myApp/www/, pokud ale klepnu na položku Produkty nebo Kontakty, tak se otevře Error Not Found (odkazu je se na /myApp/www/product/ a /myApp/www/contact/). Zkoušel jsem upravovat presentery, ale nedari se mi měnit content.
- David Matějka
- Moderator | 6445
error not found od nette nebo od apache? jsou tam jeste dalsi informace?