
Projekti CMS është një guidë paksa e ndryshme nga ato të zakonshmet në mënyrën e konceptimit dhe paraqitjes, por jam i sigurt që është po aq efikas. Në këtë projekt ju ofrohet një CMS e ndërtuar posaçërisht që ju të mësoni duke studiuar kodin!
Projekti CMS është një guidë pak e ndryshme nga të tjerat në dy aspekte. Së pari është për mua guida me e gjatë që kam marrë ndonjëherë përsipër të shkruaj, sepse përfshin realizimin e plotë të një CMS-je. Së dyti sepse është paksa ndryshe nga guidat tradicionale. Artikulli që do të lexoni këtu është më tepër një shpjegim i hollësishëm i funksionimit të CMS-së dhe prezantim i funksioneve të saj, jo një guidë e mirëfilltë. Guida e vërtetë ndodhet në kodin që mund të shkarkoni më poshtë dhe në komentet e kodit.
Duke qenë një projekt i madh, nëse do të bëja një guidë për të gjithë konceptimin dhe kodimin e CMS-së do duheshin disa artikujt shumë të gjatë. Zgjidhja e ofrimit të gjithë kodit dhe komentimi i hollësishëm i tij më erdhi në mendje pasi mendova çfarë do doja unë nga ky projekt. Në fakt, ajo që do doja unë nga një projekt i tillë nuk është një seri guidash që tregojnë funksionalitetin duke shpjeguar fragmente të kodit, sepse do e kisha të vështirë ti mblidhja të gjitha copëzat bashkë. Në kundërshtim do doja një kod të komentuar mirë nga i cili të mësoj si të krijoj funksionalitete të ndryshme, si ti organizoj skedarët, etj. Shpresoj që ky këndvështrim të përshtatet edhe për ju.
Pse një CMS?
Përgjigja është e thjeshtë: Sepse pjesa më e madhe e dizenjuesve për web që po mendojnë të mësojnë të programojnë, dëshirojnë të realizojnë CMS për klientët e tyre. Qëllimi nuk është vetëm ky, por më duhet ta pranoj që është arsyeja kryesore. Në krah, një CMS është një aplikacion për web kompleks që përmban shumë opsione të cilat mund të përvetësohen e të përdoren për sisteme të tjera.
Pyetja tjetër është: Pse mos të përdorim një CMS të gatshme si Joomla, Drupal apo WordPress? Absolutisht nuk ju them mos ti përdorni sepse do ishte një këshillë e gabuar. CMS-të e gatshme ofrojnë shumë, janë të testuara e të mirëmbajtura nga një komunitet i madh, por më e rëndësishmja është se instalohen dhe vihen në produksion për pak minuta. Megjithatë, konsideroni disa arsye pse duhet ti ofroni klientëve tuaj një CMS të konceptuar nga ju:
- Sepse është një sfidë e mirë për veten nga e cila mund të mësoni shumë përmes skenarëve reale.
- Sepse paguheni më mirë nëse programoni një CMS tuajën se sa thjeshtë të instaloni një të gatshme.
- Sepse CMS-ja juaj ka opsionet e duhura për të menaxhuar një faqe klienti dhe jo qindra opsione që nuk hyjnë në punë.
- Sepse CMS-në tuaj e njihni shumë mirë dhe mund ta modifikoni apo ti shtoni opsione fare lehtë, pa lexuar dokumentacione të pafundme.
- Sepse kodi i CMS-së tuaj nuk është i aksesueshëm nga publiku i gjerë dhe shanset për ta sulmuar janë më të vogla.
Pikat e mësipërme duhet të jenë disa arsye të mira për të shkuar drejt rrugës “CMS personale”, por gjërat nuk janë të zeza apo të bardha. Gjithçka varet nga skenari. Nëse një klient nuk ju paguan mjaftueshëm, atëherë thjeshtë instaloni një CMS të gatshme. Nëse nuk keni kohë për ta programuar një CMS, atëherë përsëri instaloni një të gatshme. Jeni ju ata që vendosni se cila është zgjidhja më e mirë.

Databaza
Çfarë përmban kjo CMS?
Besoj se kjo është pyetja që ju intereson më tepër. Fillimisht duhet të dini që CMS-ja që kam ndërtuar për këtë projekt është shkruar tërësisht nga zero. Pra nuk ka kode apo zgjidhje të marra nga site-e të tjerë, sepse nuk do quhej CMS-ja ime, por një CMS kolektive. Gjithashtu më duhet t’ju them se nuk është CMS-ja më e ndërlikuar në botë me qindra opsione. Ato që ndodhen në të janë seksione që unë i kam menduar si jetike për një CMS dhe që do t’ju ndihmojnë të kuptoni se si gjithçka funksionon. Më pas, opsionet mund të shtohen pa fund në varësi të projektit. Fakt interesant: Për të gjithë projektin nuk kam përdorur as edhe një imazh; çdo gjë është bazuar mbi tekst për të ruajtur thjeshtësinë.
Panel Administratori
Ky është seksioni më i rëndësishëm i CMS-së dhe ajo që e bën të quhet e tillë. Përmes panelit të administratorit mund të menaxhoni praktikisht çdo gjë që shfaqet në faqe, me thjështësinë e të shtypurit të disa butonave.
Kategori dhe Artikuj
Një organizim i mirë i artikujve është i domosdoshëm për çdo CMS, sepse janë pjesa më e rëndësishme ku informacioni shfaqet. Çdo artikull që shtohet duhet ti përkasi një kategorie të caktuar. Në këtë mënyrë krijohet një ndarje logjike e tyre, por dhe gjithashtu mund të krijohen faqe që listojnë disa artikuj. Nëse një faqe drejton tek një kategori, aty shfaqen të gjithë artikujt që i përkasin asaj kategorie.
Lajme
Nga eksperienca, pothuajse të gjitha faqe e bizneseve që kam realizuar kërkojnë një seksion për lajmet. Ato mund të jenë edhe evente apo lajmërime, por mund të përshtaten lehtësisht në seksionin e lajmeve. Edhe kjo CMS ofron menaxhimin e lajmeve duke i shfaqur ato të renditura sipas datës dhe të kliklueshme për ta dërguar vizitorin në përmbajtjen e zgjeruar të lajmit.
Menu Dinamike
Ky është një lehtësim për administratorit e CMS-së duke i ofruar menaxhimin e menuve. Kuptohet që nuk është një opsion i domosdoshëm sepse menutë rrallë ndryshojnë dhe nëse duhet, mund të modifikohen lehtë në HTML. Megjithatë, qëllimi është që të mësoni e ti përdorni këto njohuri në projekte të ardhshme, të cilat edhe mund të kërkojnë menaxhim menush. Përmes panelit, administratori mund të shtojë/editojë menutë e ti lidhë ato me një kategori apo artikull të faqes. Një opsion ekstra që mund të përfshinin menutë do të ishte shtimi i një imazhi (për menu me imazhe), por si ju thashë më sipër kjo CMS nuk përmban asnjë imazh. Mendojeni si mund ta shtoni vetë këtë opsion.
Menaxherë të faqes
Paneli i Administratorit mund të aksesohet nga përdorues me dy nivele: Super Admin dhe Admin. I vetmi avantazh që Super Adminët kanë mbi Adminët është shtimi apo editimi i menaxherëve të tjerë. Me të njëjtën logjikë, duke përdorur kodin që unë kam shkruar për të limituar aksesin, mund të limitoni edhe opsione të tjera apo të shtoni një nivel tjetër (psh: ‘Redaktorë’ që vetëm mund të menaxhojnë artikujt dhe lajmet).
Përmbajtja në dy gjuhë
Zgjidhja që unë kam dhënë këtu është e thjeshtë dhe e ngurtë, por për një sistem fleksibël multi-gjuhësh do kërkonte vërtetë shumë punë të konceptohej e të realizohej. Ajo që unë kam bërë për të pasur dy gjuhë për çdo seksion të faqes (kategoritë, artikujt, lajmet dhe menutë) është e thjeshtë; kam futur në databazë dy kolona për secilën fushë (psh titulli_al dhe titulli_en) dhe kam ofruar dy forma editimi, një për shqipen dhe një për anglishten. Gjithashtu kini parasysh që edhe elementët e ndërfaqes në një sistem të vërtetë do donin ndarje për gjuhët e ndryshme, gjë që për këtë CMS unë se kam bërë. Kjo arrihet lehtë duke krijuar skedarë gjuhësh (psh: al.php, en.php, it.php, etj) me variabla të njëjta të cilat kanë vlerë të ndryshme dhe thërriten për gjuhën përkatëse. Ky është sistemi më i mirë dhe më i lehtë për tu mirëmbajtur.
Shabllone
Shabllonet janë një nga opsionet më interesante (të paktën për mua) të kësaj CMS-je. Një shabllon shtohet si direktori brenda direktorise ‘shabllone’ dhe krijohen në të dy skedarë: 1) ‘pamja.tpl’ (tpl për template) që përmban HTML-në e faqes së bashku me variablat e shablloneve dhe 2) ‘stili.css’ që përmban stilet CSS të shabllonit. Përmes këtij sistemi i ofrohet dizenjuesve që nuk njohin PHP të krijojnë apo të mirëmbajnë shabllone fare lehtësisht. Teknikisht, kodi PHP e lexon shabllonin aktiv duke i zëvendësuar variablat e shabllonit me tekstin e vërtetë që do të shfaqet e në fund e printon në ekran të gjithë si HTML. Ju këshilloj ti hidhni një sy sepse është sistem i thjeshtë e i fuqishëm që mund të zgjerohet pa limit.
Editor teksti
Editori i tekstit që kam përdorur sigurisht nuk është punë e imja sepse do ishte pa logjikë. Kam zgjedhur të përdor TinyMCE sepse është vërtetë shumë i thjeshtë për tu aktivizuar, ka opsione e plugine pa fund dhe është i bukur. E kam përdorur dhe vazhdoj ta përdor në çdo sistem që krijoj. Për këtë CMS zgjodha të aktivizoj shabllonin ‘simple’ (i thjshtë) që është forma më minimaliste e TinyMCE, në mënyrë që të ruaj thjeshtësinë. Por ju mund të zgjidhni pa problem formën ‘advanced’ apo shabllonin ‘office’ që përmbajnë të gjitha opsionet (edhe ato që s’duhen).
Konfigurim
Ashtu si çdo gjë tjetër, konfigurimi është mbajtur në formën më të thjeshtë të mundshme për mos ti ndërlikuar gjërat. Në të mund të vendosni titullin e faqes, gjuhën bazë, shabllonin aktiv, etj. Në sisteme të tjera i kam ruajtur konfigurimet në një skedar php dhe kam lexuar variablat, por kësaj rradhe mu duk më mirë të përdor një tabelë në databazë. Fundja nuk na gjen gjë se bëjmë një query më tepër.
Nuk dua të zgjatem më tepër me fjalë sepse në këtë rast janë të tepërta. Shkarkoni arkivin, studioni kodin dhe shikoni mënyrën e organizimit të skedarëve. Mos nguroni të komentoni nëse gjeni ndonjë problem në CMS apo nëse keni pyetje.
Mësim të mbarë.


Web
Programim
Grafikë
Informacione
Video Tutorial
Burime
Premium


















Info mbi Feniksi
Postimet më të komentuara
Lidhje të rëndësishme
12 Komente
Ora: 03:00:51
Me pelqeu shume ky tutorial. Bravo Joni Arianit(Përgjigju)
Ora: 12:54:44
FLm shum Joni . Shum tutorial i bukur Afrim(Përgjigju)
Ora: 14:44:59
Flm cuna. Shpresoj t’ju hyje ne pune. Fadion Dashi(Përgjigju)
Ora: 22:31:25
Fadion Dashi
të lumt, Tutorial shumë i mirë. Rushiti Nusret(Përgjigju)
Ora: 22:56:24
Flm Rushit
Fadion Dashi(Përgjigju)
Ora: 14:55:06
Te lumte Fadion, se shpejti do te paguaj per premium e shof se ia vlenë.
Ju lumte per kete site! egzonche(Përgjigju)
Ora: 16:18:14
Flm per fjalet e mira. Na behet qefi qe je i interesuar per Premium. Per cdo pyetje qe te kesh na u drejto me email
Flm
Romeo Romeo Shuka(Përgjigju)
Ora: 11:26:18
Te lumte Joni tutoriali shum i mire
Shkumbin Asani(Përgjigju)
Ora: 23:06:46
Pergjezime per c`do gje qe beni dhe per te gjith kete informacion per shume vete shume te vyer, por vetem nje verejtje kisha kur pretendoni per te drejta autori beni kujdes me pak fajl as te mos vidhni dhe normalisht as pos t`ju vjedhin.
Arsyeja qe po ju bej kete verejtje eshte paragrafi i fundit i ketij mesimi me sfond te kuq.
Per fat te keq mendoj qe mesimin e keni te huazuar per mos tu shprehur te pervetesuar mbase me pa te drejte.
Respekte kalofshi mire. rakipi(Përgjigju)
Ora: 23:53:57
Rakipi, ti mendon se mesimin e kemi te huazuar? Keto gjera behen me prova dhe jo me ndjeshmeri. Nese ke dicka per te paraqitur, atehere jepi; perndryshe hesht!
“Verejtja” jote nuk eshte asgje pervec se nje shpifje qe gjithashtu i shton nje koment te kote kesaj guide. E cuditshmja eshte qe nje here te pergezon, nje here te hudh poshte te gjithe punen. Kije parasysh (dhe ti duhet te jesh i vetmi qe dyshon) qe me eshte nevojitur me shume se 1 jave per ta realizuar kete guide, duke perfshire kodimin e komplet sistemit, komentimin e kodit dhe shkruarjen e permbledhjes. S’mund te toleroj qe urryesi i pare qe vjen ketu ta hedhi ate pune poshte; virtualisht sepse ne na shtyjne perpara ata qe e vleresojne dhe qe kritikojne subjektivisht.
Me vjen keq dhe i kerkoj ndjese lexuesve per kete lloj komunikimi, por nuk mund te gjej fjalor tjeter per t’ju pergjigjur te tilla komenteve.
Rakipi, nese ke ndonje prove per ta vertetuar shpifjen tende (sigurisht qe s’ke!) atehere paraqite. Ne rast te kundert mos posto me sepse po ndot guiden. Fadion Dashi(Përgjigju)
Ora: 01:58:36
Fadion , jam i interesuar qe te mesoj CSS mundesh te me sugjerosh ndonje faqe ? Driton(Përgjigju)
Ora: 06:43:21
@Driton, mund te mesosh ketu tek Feniksi
. Hidhi nje sy guidave rreth kodimit te nje faqeje me HTML dhe CSS. Jam i sigurt qe ka shume per te mesuar.
Nese je fillestar absolut, te keshilloj te lexosh ndonje liber. Personalisht kam mesuar CSS me librin “HTML Utopia Designing Without Tables Using CSS 2nd”. Eshte pak i vjeter, i 2006-es dhe nuk perfshin CSS3 apo HTML5, por do te marresh shume njohuri me te. Me pas i zhvillon ne praktike dhe CSS3 dhe HTML5 i meson gradualisht.
Sidoqofte, hidhi nga nje sy Feniksit here pas here sepse guidat per CSS jane nder kryesoret e kesaj faqeje. Fadion Dashi(Përgjigju)