[ corelko @ 12.04.2015. 14:56 ] @
Pozdrav svima. Uzeo sam malo da radim sa CI framewrok-om. Moze li neko da preporucu najbolju organizaciju projekta u CI racunajuci da ce nekad nesto morati da se nadorgradi, izmijeni template itd itd. Inace pocetnik sam u radu sa framework-cima pa se unaprijed izvinjavam ako malo "davim" sa ovom temom, ali nisam vidio nigdje na ES da je neko objasnio do detalja ovaj problem. Evo kako sam ja kontao da bi to trebalo da izgleda. ALogicno je podijeliti "front" dio od admin dijela jer za ta dva dijela vazi potpuno drugaciji css! Napominjem da pricam sad o samom Layout-u, kasnije nesto cu o organizaciji samog php koda(Kontrolera i Modela). Da li je ovo dobra organizacija fajlova u root-u hosta:

Code:
+CodeIgniter
  +System
    +2.0
    +3.0
+Aplikacija
  +Verzija1
  +Verzija2


Ovim bih update-ovanjem aplikacije sve na jednostavan proces bilo da se radi o novoj verziji CI ili je pristigao novi izgled same Aplikacije.

Npr. meni je aktuelna aplikacija Verzija2 u zelim da u njoj razdvojim front i admin dio radi jednostavnosti.
Da li je praksa da se u "View" naprave odvojena dva foldera u kome smestam sve vezano za Layout front dijela i Layout admin dijela. Npr ovako nesto:

Code:
+Verzija2
  +Front
     css
     images
     js
     include
     .....
  +Admin
      css
      images
      js
      include
      .....


Izvinjavam se ako sam bio nejasan. Mogu objasniti ako neko nije razumeo samo neka postavi pitanje. Hvala.
[ Tpojka @ 12.04.2015. 20:42 ] @
Pozdrav, i sam vrlo rado koristim CodeIgniter.
Za takav zahtjev bih predlozio da se pogleda Skeleton, koji dosta toga ima integrisanog u sebi.
Mada je radjen za (posljednju 2.2.0 )verziju 2.
Koristen je ovaj HMVC model i radjen je templating sistem koji dopusta organizaciju CSS i JS fajlova prema modulima.
Sto se tice predstavljene file/folder organizacije, mislim da nije dobro uradjena.
Kao prvo, view dio™ ili bolje receno APPPATH . 'views' lokacija nije vidljiva iz browser-a. Klijent upucuje request controller-u (odnosno router-u) koji poziva fajlove iz pomenute lokacije da generise output.
Sama file/folders organizacija bi trebalo da izgleda nesto poput:

-root
--application/
--system/
--upload/ //ukoliko je potrebno
--assets/
---css/
---js/
---img/
--.htaccess
--index.php

, a moze i:

-root
--application/
--system/
--upload/ //ukoliko je potrebno
--assets/
---admin/
----css/
----js/
----img/
---front/
----css/
----js/
----img/
--.htaccess
--index.php

Na Skeleton sam uputio zbog upoznavanja sa organizacijom fajlova i foldera.
Ali u svakom slucaju bi trebalo prvo razmisljati o 3.0 verziji.
[ corelko @ 13.04.2015. 14:14 ] @
Hvala na iscrpnom odgovru. Shvatio sam. Sto se tice organizacije fajlova vise mi se svidja ovaj drugi prijedlog gdje je Layout admin i front dela razdvojen. To je dakle jasno.
E sad, sami sablon ide u View aplikacije. Logicno je da se sablon izdijeli na dijelove (npr. heder, menu, content, footer itd..) i tako za oba dijela aplikacije (front i admin). Da li je praksa, ako odaberem ovaj drugi nacin organizacije fajlova koji ste predlozili da u View imam nesto ovako:

Code:
-View
--Front
---include (dijelovi sablona front dijela)

--Admin 
---include (dijelovi sablona admin dijela)


Meni je ovo nekako logicno, mozda i gresim pa me ispravite.

E da @Tpojka poslao sam vam i privatnu poruku pa bih vas zamolio da pogledate. Hvala jos jednom.


[ Panajotov @ 13.04.2015. 14:30 ] @
Mislim da jeste, sto da ne? Kako bi se snasao sa npr 30 stranica u jednom folderu, odgovor je veoma tesko. Tako da, najbolje izdeli po folderima kako zelis i kako mislis da ces se ti ili neko od naslednika snaci u toj aplikaciji. :)

Mozda nevezano za ovu temu, ali kad je vec diskusija o CI, imam jedno pitanje. Kako bi permisije korisnika podelili u kodu. Ako na primer imamo administratora, moderatora. Administrator ima 'svee' privilegije, dok moderator ima samo (npr) dodavanje vesti? Da li cete praviti posebne stranice za administratora, posebne za moderatora ili?

[ corelko @ 13.04.2015. 14:42 ] @
Hvala na odgovorima.

Evo vidim vec da ce ovde biti dobre diskusije.
Zašto bi za permisije pravio posebne stranice "za svakoga". Ako administrator vidi "sve" mogućnosti zar ne bi kroz bazu vrlo lako mogao da podelim korisnike u nekolike kategorije i u zavisnosti od kategorije korisnika koja "ulazi" u admin deo dozvoljavam i zabranjujem po potrebi. Ispravi me ako gresim.

[ Panajotov @ 13.04.2015. 14:53 ] @
Mozda se nismo najbolje razumeli. U bazi 'razdelis' korisnike, kako ces prikazati moderatoru samo dugme za dodavanje vesti, a administratoru i ostale dugmice? Ne znam da li je pametno za svako dugme proveravati da li ima privilegiju. Nadam se da razumes/razumete.
[ Tpojka @ 13.04.2015. 20:02 ] @
Pa to je vec pitanje layout-a. Nisu isti admin i public layout. Admin layout je pozivan iz admin controller-a koji u sebi sadrzi metode, a koje opet controller koji ce pozivati public/user/editor layout ne posjeduje.
Samo razdvajanje funkcija treba izvesti preko parent controller-a u core folderu gdje bi se vrsila provjera permission-a.
Code (php):

class Admin_c extends Administrator_Controller
{
  public function __construct()
  {
    parent::__construct();
  }
}
 

Code (php):

class Public_c extends Public_Controller
{
  public function __construct()
  {
    parent::__construct();
  }
}