Skip to content

10 Rozloženie celej stránky

Patrik Hrkút edited this page Nov 11, 2023 · 2 revisions

Rozloženie celej stránky

Samotný pohľad neobsahuje zdrojový kód celej HTML stránky, ale len jej časti. Chýbajú tam napr. elementy <html> alebo <head>. Je to preto, že väčšina webových aplikácií má pevne definovaný dizajn (prípadne niekoľko dizajnov, napr. iný pre stránky dostupné bez prihlásenia a iný pre administrátorskú časť). Bolo by preto zbytočné, aby sa v každom pohľade opakoval celý HTML kód stránky.

Rozloženie stránky (layout) sa nachádza v súbore s koncovkou .layout.view.php v adresári App\Views. Týchto súborov môže byť viac, preto v konfigurácii je potrebné uviesť, ktoré rozloženia je základné a použije sa, ak pohľad nenastaví iné rozloženie. Konfiguračná konštanta ROOT_LAYOUT v súbore App\Config\Configuration.php je štandardne nastavená na root a preto framework používa rozloženie root.layout.view.php. V tomto rozložení sa nachádza aj sekcia <head>, kde sa importuje Bootstrap CSS framework, alebo menu, ktoré je možné vidieť na úvodnej stránke frameworku.

Obsah pohľadu do rozloženia framework vkladá cez premennú $contentHTML:

<div class="container-fluid mt-3">
    <div class="web-content">
        <?= $contentHTML ?>
    </div>
</div>

Zmena rozloženia

Ak by pohľad vyžadoval použitie iného rozloženia, je možné ho špecifikovať priamo v príslušnom pohľade. Napr. stránky s prihlasovaním nepotrebujú, aby na nich bolo aj menu, preto majú vlastné rozloženie definované v súbore auth.layout.view.php. Pohľad preto zmenu rozloženia nastaví pomocou premennej $layout v súbore s daným pohľadom (pozri napr. pohľad login.view.php v adresári App\Views\Auth\).

<?php

$layout = 'auth';
?>

Pri odosielaní odpovede sa do rozloženia stránky vloží pohľad a celý kompletný súbor HTMl sa pošle používateľovi.