Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: MVC jednoduchý redakční systém - dotazy

Aktivity
Avatar
tbartolen
Člen
Avatar
tbartolen:28.1.2015 16:21

http://www.itnetwork.cz/…er-kontroler

Jako první zakážeme výpis souborů ve složce na webu, budou tedy zvenku skryty, což my chceme. Přidáme řádek:

Options -Indexes

Nějak sem z kontextu nepochopil, kam bych to měl přidávat...?

Odpovědět
28.1.2015 16:21
Navštiv www.fb.com/skkelticz
Avatar
Odpovídá na tbartolen
Neaktivní uživatel:28.1.2015 16:43

Napíšeš to do souboru .htaccess, který sis před chvíli vytvořil. Na každém řádku je jeden příkaz... ;)

Nahoru Odpovědět
28.1.2015 16:43
Neaktivní uživatelský účet
Avatar
mkub
Tvůrce
Avatar
Odpovídá na tbartolen
mkub:28.1.2015 16:51

bud do .htaccess, alebo rovno do nastavenia webservera pre danu domenu,
viac informacii sa dozvies na strankach (resp. v dokumentacii) daneho webservera

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
28.1.2015 16:51
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
mkub:28.1.2015 16:52

webserver umoznuje viac moznosti a nie kazdy webserver berie subor .htaccess

 
Nahoru Odpovědět
28.1.2015 16:52
Avatar
tbartolen
Člen
Avatar
Odpovídá na Neaktivní uživatel
tbartolen:28.1.2015 17:32

A v čem bych ho měl otevřít? V XAMP? Či? To neni klasickej texťák přeci...nebo php, nebo cokoliv

Nahoru Odpovědět
28.1.2015 17:32
Navštiv www.fb.com/skkelticz
Avatar
Nahoru Odpovědět
28.1.2015 17:46
Neaktivní uživatelský účet
Avatar
Odpovídá na tbartolen
Neaktivní uživatel:28.1.2015 17:47

Je to klasickej texťák, ale Windows to berou jako soubor bezejména (jen přípona), takže Poznámkový blok, napíšeš, a dáš Uložit jako > Všechny soubory, název = .htaccess ;)

Nahoru Odpovědět
28.1.2015 17:47
Neaktivní uživatelský účet
Avatar
tbartolen
Člen
Avatar
tbartolen:28.1.2015 21:26

A ten rewrite engine bych měl psát taky do toho .hotacess ? Je to tam dost nejednoznačně napsaný...:(

Nahoru Odpovědět
28.1.2015 21:26
Navštiv www.fb.com/skkelticz
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na tbartolen
David Hartinger:28.1.2015 21:43

Mně to z kontextu přijde docela jasné, když to je pod nadpisem .htaccess.

Nahoru Odpovědět
28.1.2015 21:43
New kid back on the block with a R.I.P
Avatar
tbartolen
Člen
Avatar
Odpovídá na David Hartinger
tbartolen:28.1.2015 21:52

Už mi to došlo, děkuji :-) Hledám v tom zbytečně moc velkou vědu, to bude zásadní problém.

Nahoru Odpovědět
28.1.2015 21:52
Navštiv www.fb.com/skkelticz
Avatar
Danny
Člen
Avatar
Danny:18.1.2016 22:53

Ahoj, děkuju moc za skvělý seriál, strašně mě to posunulo dopředu a chtěl bych se zkušenějších zeptat, jestli jsem princip pochopil správně. Snažil jsem se o vypsání Navigace podle uložených článků v databázi a zajímalo by mě jenom, jestli jsem ten princip pochopil správně.

Do modelu jsem zapsal toto:

class NactiMenu {

public function vratMenu()
        {
           return Db::dotazVsechny('
            SELECT `url`, `lang`, `tlacitko`
            FROM `clanky`
            ');
        }
}

Do obecného Kontroleru:

public function menu()
    {
        $nactiMenu = new NactiMenu();
        $menu = $nactiMenu->vratMenu();
        return $menu;
    }

A do Směrovače už jenom naplnění proměnných pro šablonu:

$this->data['menu'] = $this->menu();

Díky za odpověď :)

 
Nahoru Odpovědět
18.1.2016 22:53
Avatar
Danny
Člen
Avatar
Danny:21.1.2016 19:49

Neporadíte někdo prosím? :)

 
Nahoru Odpovědět
21.1.2016 19:49
Avatar
Odpovídá na Danny
Neaktivní uživatel:23.1.2016 14:46

Ahoj. Vypadá to, že princip tý architektury jsi zvládl. Akorát bych lépe pojmenovával. Například model by měl držet metody vracející podobná data. Například model Articles. Čili model s názvem NactiMenu je trochu nicneříkající. A ta funkce v kontroleru slouží k čemu? Není jednodušší vzít data přímo z modelu? Nevím, jestli bys měl něco takového pevně přidávat do routeru. Lepší by bylo přisun dat do šablon zautomatizovat, ale špatně to asi není. Jinak snad vcelku pěkný. :)

Nahoru Odpovědět
23.1.2016 14:46
Neaktivní uživatelský účet
Avatar
Danny
Člen
Avatar
Odpovídá na Neaktivní uživatel
Danny:23.1.2016 18:39

Ahoj, díky za reakci a pojmenování vylepším. Jenom se chci zeptat na ten výpis dat z modelu do pohledu. Myslel jsem že by model neměl o pohledu nic vědět, proto jsem to řešil takhle...tak nevím :-) myslel jsem že bych vytvořil kontrolér, jako to mají ostatní aplikace, třeba výpis článků ale do hlavní šablony vypíšu volaný kontrolér článku a v te samé stránce potřebuju vložit to menu a kdybych vytvořil třeba menuKontrolér, tak to by mi nefungovalo, navíc by vznikla chyba při volání, tak jsem to dal do obecného kontroléru, tak jako jsou třeba messages...tak proto no, nic lepšího mě nenapadlo, proto jsem se radši zeptal :-)

 
Nahoru Odpovědět
23.1.2016 18:39
Avatar
Odpovídá na Danny
Neaktivní uživatel:23.1.2016 18:51

Myslel jsem spíš, že je blbost vytvářet další metodu, která ti vrací stejný výsledek jako NactiMenu::vrat­Menu(). Potom je lepší v routeru přímo volat z modelu, nebo jak jsem psal, nechat si to uložit do nějaké speciální proměnné, která by automatizovala přechod dat z kontroleru do šablony.

Jinak teď jsem tě moc nepochopil, máš problém se stejným menu na více stránkách? Jestli ano, pak si stačí jen vytvořit předka pro dané kontrolery, ne? Ten pak bude obsahovat metody obsluhující menu. V šabloně by se to řešilo nějakým importem typu

<?require('menu.phtml');?>
Nahoru Odpovědět
23.1.2016 18:51
Neaktivní uživatelský účet
Avatar
Danny
Člen
Avatar
Odpovídá na Neaktivní uživatel
Danny:23.1.2016 23:29

Ještě v tom nejsem tolik sběhlý, učím se to nějak provázat mezi sebou, aby to aspoň nějak fungovalo a samozřejmě vím, že to není vždycky úplně ideální řešení. To s tím výpisem menu, jsem to napsal trochu zmateně, ale nebylo to nic důležitého...spíš by mě zajímalo to s tím výpisem z modelu. Stačí jen ťuknout, snad to pochopím :)

 
Nahoru Odpovědět
23.1.2016 23:29
Avatar
Odpovídá na Danny
Neaktivní uživatel:24.1.2016 8:21

Jak máš řešený směrovač? Nebo spíš jak máš řešený přísun dat do šablony? Z toho řádku, co jsi nahoře psal:

$this->data['menu'] = $this->menu();

Vidím, že asi vkládáš do proměnné $data, která je pak přístupná v šabloně? V tom případě bych to udělal asi takto (velmi zjednodušeně):

<?php
namespace Controller;
use Model;

class Controller
{
        /**
         * @var Model\Menu
        */
        private $menuModel;

        public function __construct()
        {
                $this->menuModel = new Model\Menu;
        }

        public function render()
        {
                $this->data['menu'] = $this->menuModel->getMenu();
        }

        // renderování šablony, atp...
        // ...
}

Nevím, jak to máš řešený, takže si s tím budeš muset trochu pohrát. Jestli se ti data zpracovávají přímo v předkovi všech kontrolerů, tak se to dá řešit takto. Jinak bych potřeboval více informací.

Nahoru Odpovědět
24.1.2016 8:21
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.