abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:33 | IT novinky

    Dle plánu certifikační autorita Let's Encrypt nově vydává také certifikáty s šestidenní platností (160 hodin) s možností vystavit je na IP adresu.

    Ladislav Hagara | Komentářů: 2
    včera 14:44 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 14.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 2
    včera 13:11 | Zajímavý projekt

    Just the Browser je projekt, 'který vám pomůže v internetovém prohlížeči deaktivovat funkce umělé inteligence, telemetrii, sponzorovaný obsah, integraci produktů a další nepříjemnosti' (repozitář na GitHubu). Využívá k tomu skrytá nastavení ve webových prohlížečích, určená původně pro firmy a organizace ('enterprise policies'). Pod linuxem je skriptem pro automatickou úpravu nastavení prozatím podporován pouze prohlížeč Firefox.

    NUKE GAZA! 🎆 | Komentářů: 2
    16.1. 16:44 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.

    Ladislav Hagara | Komentářů: 2
    16.1. 15:11 | IT novinky

    Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.

    Ladislav Hagara | Komentářů: 16
    16.1. 13:55 | IT novinky

    Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny

    … více »
    Ladislav Hagara | Komentářů: 0
    16.1. 02:22 | Nová verze

    D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    16.1. 02:00 | Nová verze

    Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    15.1. 19:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 3
    15.1. 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (5%)
     (0%)
     (10%)
     (19%)
     (3%)
     (6%)
     (2%)
     (11%)
     (41%)
    Celkem 485 hlasů
     Komentářů: 12, poslední 14.1. 21:12
    Rozcestník

    CakePHP: tvoríme CMS - 2 (začíname pracovať)

    8. 4. 2008 | Tibor Piňo | Programování | 8848×

    Počnúc touto časťou bude každý diel venovaný tvorbe redakčného systému a na konkrétnych ukážkach si predstavíme jednotlivé prednosti a vlastnosti tohto frameworku.

    V minulej časti sme si niečo málo povedali o základných vlastnostiach a prednostiach CakePHP. Pokračujeme v našom seriály a tentokrát začneme pracovať priamo s frameworkom.

    1. krok – získavame framework

    Základný balík si môžete stiahnuť priamo zo stránok CakePHP – download sekcia. V dobe písania tejto časti je aktuálna vývojová verzia 1.2.0.6311-beta. Po stiahnutí balíka rozbalíme príslušné súbory do adresára cakephp a umiestníme ho do zložky, kde bude prístupný webovému serveru (v mojom prípade je to zložka ~/www/cakephp, a následne sa môžeme po spustení webového servera, napr. Apache, odkazovať na adresár prostredníctvom adresy http://localhos­t/cakephp). Týmto máme všetky potrebné súbory skopírované a framework pripravený k použitiu.

    2. krok – prvé kroky

    Medzi prvé kroky patrí nastavenie práv pre zápis pre adresár app/tmp/cache a zmena predvoleného hashovacieho stringu v súbore app/config/co­re.php

    Configure::write('Security.salt', 'DYhG93b0asdf97473qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');

    Po zadaní adresy do webového prehliadača, v našom prípade http://localhos­t/cakephp, môžeme vidieť úvodnú obrazovku, ktorou nás CakePHP privíta a ktorá zároveň indikuje, že sa nám framework podarilo úspešne nainštalovať.

    cakephp 02-1

    Ako môžeme vidieť na obrázku, Cake nám taktiež oznamuje, že nemáme nastavený prístup k databáze, a to oznámením Your database configuration file is NOT present. Treba nám premenovať súbor app/config/da­tabase.php.de­fault na app/config/da­tabase.php a v ňom upraviť nasledovnú časť (jednotlivé položky sú dosť intuitívne a nemusím ich predstavovať):

    var $default = array(
            'driver' => 'mysql',
            'persistent' => false,
            'host' => 'localhost',
            'port' => '',
            'login' => 'user',
            'password' => 'password',
            'database' => 'database_name',
            'schema' => '',
            'prefix' => '',
            'encoding' => ''
    );

    Ak doplníme správne hodnoty a Cake bude schopný pripojiť sa do databázy, oznámi nám to nasledovnou hláškou: Your database configuration file is present. Cake is able to connect to the database.

    3. krok – upravujeme vzhľad

    Na obrázku vyššie môžeme vidieť výchozí vzhľad CakePHP po prvom spustení. My si chceme však vzhľad prispôsobiť podľa vlastných potrieb. Na to, aby sme chápali, ako sa vykresľuje celý vzhľad, pozrime si nasledujúci obrázok:

    LAYOUT
    VIEW
    LAYOUT

    Modrou farbou je vykreslený tzv. layout stránky, ktorý sa vkladá do každej zobrazenej stránky a ak neurčíme inak, je pre všetky zobrazené stránky rovnaký (môžeme si to predstaviť, že na každej stránke so zobrazí napr. logo a práve dané logo bude umiestnené v jednom jedinom súbore, ktorý sa nazýva layout). Žltou farbou môžeme vidieť konkrétny view, pod ktorým si môžeme predstaviť napr. zoznam článkov, komentárov, noviniek atď.

    Keď už vieme, ako celý zobrazovací mechanizmus pracuje, môžeme sa pustiť do prvých úprav. Najprv si zmeníme text úvodnej stránky v samotnom view, a to vytvorením súboru app/views/pages/ho­me.ctp a vložením skúšobného textu do novovytvoreného súboru. Po úprave môžeme vidieť niečo obdobné:

    cakephp 02-2

    Výchozí layout necháme nezmenený a pre tento seriál budeme používať pôvodný priamo z CakePHP. Ak by sme sa ho však rozhodli zmeniť, vytvorili by sme súbor **app/views/la­youts/default­.ctp, do ktorého by sme umiestnili napr. nasledovný kód

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <?p echo $html -> charset("utf-8"); ?>
    <title><?php echo $title_for_layout?></title>
    <? echo $html -> css("stylesheet"); ?>
    <? echo $javascript -> link("scriptaculous/prototype.js"); ?>
    
    </head>
    
    <body>
    <div id="container">
    <div id="header">
        <div id="menu">
        </div>
    </div>
    
    <?
            if ($session->check('Message.flash')):
                            $session->flash();
            endif;
    ?>
    <div id="content">
            <?php echo $content_for_layout ?>
    </div>
    
    <div id="footer">
            <a href="mailto:tibor.pino@gmail.com">Vyrobil Tibor Piňo</a>
    
    </div>
    </div>
    </body>
    </html>

    Jednotlivé časti layoutu si vysvetlíme neskôr, ale už aj teraz môžete vidieť, ako sa vkladajú CSS súbory a javascript súbory, ako sa zobrazuje view (pohľad) v layoute pomocou direktívy <?php echo $content_for_layout ?> atď.

    A to by bolo pre túto časť zhruba všetko. V tejto časti sme sa už dostali k prvým úpravám vzhľadu, vysvetlili sme si, ako funguje celý princíp zobrazovanie v Cake a taktiež ako si správne nakonfigurovať prístup do databázy. Týchto pár krokov nám stačí k plnohodnotnej práci a v ďalšej časti si správne vytvoríme databázové tabuľky, vysvetlíme si vzťahy medzi jednotlivými tabuľkami a celý návrh otestujeme pomocou tzv. lešenia alebo scaffolding

           

    Hodnocení: 64 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    8.4.2008 22:57 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: CakePHP: tvoríme CMS - 2 (začíname pracovať)
    Je tu nějaký mišmaš s příponami, já mám teda na těch zmíněných místech ne .ctp ale .thtml ... ale asi je to jedno ne?

    A taky by to chtělo více vysvětlit tu stránku /app/views/pages/home, člověku který k tomu právě přišel asi z článku nedojde že to je stránka která se zobrazí na /
    9.4.2008 15:22 Tibor Piňo | skóre: 26 | blog: Iron_Maiden
    Rozbalit Rozbalit vše Re: CakePHP: tvoríme CMS - 2 (začíname pracovať)

    No s priponami je to jedno. Starsie verzie 1.1.* pouzivaju priponu .thtml Novsie verzie 1.2.* pouzivaju priponu .ctp

    Avsak nie je problem si to prepnut podla potreby a to danou direktivou v controlleri

    /**
    * File extension for view templates. Defaults to Cake's conventional ".ctp".
    *
    * @var string
    * @access public
    */
    var $ext = '.ctp';

    K súboru /pages/home.ctp a samotným Router rules sa dostaneme v ďalších častiach seriálu. V tejto časti to bola len ilustrácia a je tam uvedené, že úvodnú stránku môžeme zmeniť v danom súbore. Vyššie v článku spomínam, že práve úvodná strana je zobrazená na adrese / a žiadne iné adresy sa tam neuvádzajú, takže by k nepochopeniu alebo zmäteniu nemalo dôjsť. Ale ako hovorím, určite sa k tomu podrobne dostaneme.

    9.4.2008 20:37 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: CakePHP: tvoríme CMS - 2 (začíname pracovať)
    9.4.2008 17:44 MiK
    Rozbalit Rozbalit vše Re: CakePHP: tvoríme CMS - 2 (začíname pracovať)
    vylozene kratky a tak trochu k nicemu.... asocioval bych to jako soustava clanku o vymene kola, kdy prvni cast bude o tom, ze kolo je kulata vec na aute a druhy clanek bude o tom, ze musime na zacatku za pouziti heveru auto zvednout... pokracovani priste
    Daniel Kvasnička ml. avatar 10.4.2008 09:08 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: CakePHP: tvoríme CMS - 2 (začíname pracovať)
    echo $html -> charset("utf-8");
    Tohleto jsem nikdy nepochopil... rekl bych, ze to jen problematizuje spolupraci s externim koderem (musi se zabyvat PHP) a zneprehlednuje markup. Prinos nevidim zadny. Je mi jasny, ze se bez toho lze bez problemu obejit, jen nechapu proc nekdo investuje cas do vyvoje takove veci.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    7.6.2008 02:10 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: CakePHP: tvoríme CMS - 2 (začíname pracovať)
    Mozna striktni objektovost... Proc pouzivat primo promennou class.X kdyz muzu mit metodu class.return_X
    Daniel Kvasnička ml. avatar 7.6.2008 15:42 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: CakePHP: tvoríme CMS - 2 (začíname pracovať)
    O to vubec nejde. Nechapu, proc tam vubec je to PHP. To je takovy problem napsat META tag, ktery definuje kodovani stranky?...
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    10.6.2008 09:24 Tibor Piňo | skóre: 26 | blog: Iron_Maiden
    Rozbalit Rozbalit vše Re: CakePHP: tvoríme CMS - 2 (začíname pracovať)
    Je to robene kvoli tomu, ze default kodovanie si mozes nastavit aj v jednom globalnom konfiguracnom subore /app/config/core.php a potom ti staci volat metodu takto

    echo $html -> charset();

    a vlozi ti to default kodovanie, ktore si si nastavil. A to plati aj o inych veciach, ktore sa daju jednoducho nastavovat na jednom mieste a su platne pre celu aplikaciu.
    Daniel Kvasnička ml. avatar 10.6.2008 09:38 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: CakePHP: tvoríme CMS - 2 (začíname pracovať)
    Tak od toho jsou snad ruzne principy dedeni layoutu, ne? Vsechny mnou pouzivane view technologie (PHPTAL, Genshi, JSP) maji moznost definovat "rodicovsky layout" a v nem <head> se vsim potrebnym... Proste se mi vubec nelibi, kdyz se PHP (nebo jakykoliv jiny jazyk) taha do sablon. Prenositelnost tech sablon je pak prakticky nulova a editovatelnost pro markup kodery taktez. Nehlede na to, ze je to proste obecne extremne vizualne neprehledny :-)
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    10.6.2008 10:59 Tibor Piňo | skóre: 26 | blog: Iron_Maiden
    Rozbalit Rozbalit vše Re: CakePHP: tvoríme CMS - 2 (začíname pracovať)
    Samozrejme tam principi dedenia layoutu su. Tato vlastnost je tam z dovodu toho, ktory som ti napisal vyssie. Ak sa ti takyto pristup nepaci, nikto ta nenuti to puzivat a mozes tam pisat priamo html tagy pre kodovanie, avsak mas moznost si vybrat pristup aky ti vyhovuje.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.