Autor Zpráva
Karlos
Profil *
Ahoj, začínám s CMV a dělám takovou jednoduchou aplikaci. Bude to stránka třeba s články, nahoře bude formulář pro registraci...
Mám zhruba toto:
view/index.phtml - hlavní soubor do kterého načítám pohledy:
<html>
    <head>
        <meta charset="<?= $charset ?>">
        <meta http-equiv="Content-Type" content="text/html; charset=<?= $charset ?>">
        <title><?= $title ?></title>
        <meta name="description" content="<?= $description ?>">
        <meta name="keywords" content="<?= $keywords ?>">
        <link rel="stylesheet" href="<?= $style ?>" type="text/css">
    </head>
    <body>
       <?php $this->controller->GetView(); ?> 
    </body>
</html>
Potom mám třídu controller/Router.php, která má za úkol vytvářet instance kontrolerů a také spouští ten index.
celá stránka by měla vypadat nějak takto:
<div>Hlavicka
<div align=right>Prihlasovaci formulář</div>
</div
<div>Menu</div>
<div>COntent
<div>levy panel</div>
<div>obsah</div>
<div>pravy panel</div>
</div>

Nevýhodou toho mého řešení je to, že každý pohled bude muset obsahovat celou strukturu té stránky a to nechci. dá se vkládat nějak více view? například pohled pro menu, pohled pro levý panel...

Tak mě napadá, že by v indexu byla struktura celé stránky a nějak bych do těch divů vkládal všechny pohledy, ale nevím jak...

Další věc je registrace:
mám soubor view/login.phtml:
<form action="login" method="POST">
<label for="name">Jméno: </label>
<input type="text" name="login" id="name"><br>

<label for="password">Heslo: </label>
<input type="password" name="password" id="password"><br>

<input type="submit" value="Přihlásit se">
<a href="registration">Registrovat</a>
</form>
Při kliknutí na odkaz registration se má objevit pouze okno s formulářem. Jenomže pokud index bude obsahovat strukturu stránky, zobrazí se mi to do ní tam kde volám GetView(). zkouším ve složce registration vytvořit nový index a nějak na něj přesměrovat, ale to mi nejde...
Děkuji za radu, je to můj první projekt v CVM...


Pardon, myslel jsem samozřejme MVC :D
Alphard
Profil
1. To je nějaký váš vlastní systém? Jako si to uděláte, takové to budete mít. Obecně se v MVC samozřejmě používá skládání stránek z bloků, včetně dědičnosti, includování, vkládání komponent. Já bych využil Latte a nesnažil bych se o vlastní řešení. Jakékoliv duplikování kódu je samozřejmě chybné.

2. To souvisí s bodem 1. Normálně stránku skládám z částí. Mám jeden základní layout, který je pro všechny stránky společný, drobné odlišnosti lze řešit podmíněnými bloky, ale nesmí se to začít hromadit, to je pak cesta do pekel. Ten základní layout zdědí další, který přidá další struktury (horní, levý, pravý blok) a dá do nich data, nebo se nechá opět zdědit. Pak pochopitelně není problém vycházet pro registraci ze základního layoutu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: