JoomlaSpecialista

Szolgáltatásaink igénybe vehetők a www.joomlaspecialista.hu weboldalon keresztül.

Néhány lehetőség:

  • Weboldal építés
  • Komponens programozás
  • Modul programozás
  • Plugin programozás
  • Sablon, template készítés
  • Speciális kimenetek készítése (XML, PDF, Excel XLS, CSV, JSON, stb)
  • Biztonsági fejlesztések, betörések megakadályozása
  • Vírusmentesítés
  • Hibajavítások
  • Keresőoptimalizálás
  • Migráció más rendszerből, korábbi Joomla verziókból
  • Nyelvi csomagok készítése, nyelvi fájlok konvertálása

JoomlaSpecialista referenciák

Nincs megjeleníthető elem

Tárhely

A joomla blog a www.hostcity.hu tárhelyszolgáltatásait ajánlja!
Gondolatok a Joomla CMS rendszerről és mindenről, ami hozzá kapcsolódik.
Láttál vagy készítettél egy jó Joomla alapú oldalt? Olyat ami valamiért nem szokványos, megmutatni való? Készítettél egy komponenst, modult?
Küldd be!
Friss hír van a Joomla világában, ami másokat is érdekelhet, de nem vettem észre? Hívd fel rá a figyelmem!

Az oldal frissítése rapszodikus, mint ahogy én magam is az vagyok :)

Utolsó kommentek

  • PeLa87: Üdv! Nem lehet letöltni a bannkerezelőt. Esetleg lehetne kapni egy működő linket? :) Köszönöm! (2020.05.21. 01:43) Bannerkezelő mambot v0.3
  • JoomlaSpecialista.hu: modul esetében a legegyszerűbb az advanced module manager feltelepítése, azzal frankón össze lehet... (2015.01.22. 14:03) Nyitóoldal Joomla elé + sh404SEF
  • MrJosa: Az egyedi nyitóoldalról írtál egy cikket, amiben írod, hogy magában joomlában is megoldható. Nálam... (2015.01.22. 10:44) Nyitóoldal Joomla elé + sh404SEF
  • JoomlaSpecialista.hu: Kérlek vedd figyelembe, hogy ez egy több mint két éves bejegyzés, ami az akkori JUpgrade verzióról... (2014.09.24. 07:22) JUpgrade migráció hiba - frissítve!
  • civilcsoda: szevesztok, A fent leírt módon sem működik a dolog, ugyanúgy undefinedbe megy át a dolog, úgyhog... (2014.09.24. 02:03) JUpgrade migráció hiba - frissítve!
  • Utolsó 20

Címkék

1.5 (10) 1.5.3 (1) 1.5.4 (1) 1.5.5 (1) 1.6 (1) 1.7 (1) 2.5 (27) 2007 (2) 3 (2) 3.0 (2) 3.1 (6) 3.2 (3) 3.3 (3) 3.5 (1) acontact (1) adatbázis (2) addon (2) adminisztráció (2) adományozás (1) adsmanager (2) advlink (1) ajax (3) akció (1) akeeba (4) akismet (1) allvideos (1) alpha (2) analytics (1) apróhirdetés (3) archiver (1) artio joomsef (1) artisteer (1) áruház (2) assets (1) áttelepítés (2) attributum (1) audio (1) auto (1) autó (1) autostand (1) autoupdate (2) backup (3) banner (2) beépülő (4) béta (4) beta (6) bevezető (1) billboard (1) biztonság (47) blog (3) böngésző (4) bootstrap (3) bővebben (1) bővítmény (10) bővítménytár (1) bridge (1) browser (2) bug (4) bugfix (12) cache (1) calendar (1) captcha (2) captions (1) cck (1) cdn (1) chrome (1) chronoforms (1) cikk (3) ckforms (1) class (2) cms (1) commander (1) community builder (6) content (1) css (7) danone (1) dátum (1) debug (3) design (3) docman (5) dokumentum (2) domain (1) download (2) drag&drop (1) e107 (1) easybook (1) easycaptcha (1) eb (1) editor (29) egyesület (2) ehseg (1) életciklus (2) elfelejtettem (1) email (5) emailcloak (3) euro2008 (1) exploit (1) explorer (3) expose (1) extesions (1) extplorer (8) facebook (3) fájlkezelő (2) fancybox (1) feed (1) fejléc (1) fejlesztés (25) feladvány (1) felhasználó (1) felülbírálás (2) file manager (1) fireboard (5) firefix (1) firefox (7) flash (1) foci (1) fordítás (17) forint (1) form (2) fórum (5) framework (1) frissítés (90) függvény (1) galéria (12) gallery (3) gomb (1) google (4) google+ (1) googleads (1) google maps (1) grafika (1) guestbook (2) guiness (1) hack (3) hash (1) hasznos link (1) help wanted (1) helyesírás (2) hiba (7) hibajavítás (4) hírek (1) hírlevél (1) hírmorzsa (1) horizonslim (1) hosting (1) hosts (1) htaccess (2) html (3) html5 (1) iacl (2) idoblog (3) időjárás (4) idokep.hu (1) IE (1) ie6 (1) iframe (1) ikon (1) inlineacl (2) integrator (1) internet (3) Internet Explorer (1) ipb (1) itemid (1) javascript (3) javítás (4) jce (41) jce editor (18) jelszó (3) jhtml (1) jimage (1) jinx (1) jm recommend (1) jnews (1) jollom (1) joomfish (3) joomgallery (8) Joomla (7) joomla (97) joomla!nap (2) joomla16 (1) joomla17 (2) joomla25 (4) joomla3 (8) Joomla34 (4) joomla35 (1) joomlafck (1) joomlandia (1) joomlaworks (2) joomlaxplorer (1) joomla 1.0 (1) joomla 16 (1) joomla 17 (1) joomla 2.5 (5) joomla 3 (6) joomla 3.4 (1) joscar (1) jquery (3) json (1) jupgrade (5) jupgradepro (1) k2 (9) kategória (2) kép (6) képkezelő (3) képtár (15) keresés (1) kereső (1) keresőbarát (1) keresőoptimalizálás (1) kódolás (1) kompatibilis (2) komponens (41) konvert (1) konvertálás (1) köpönyeg.hu (1) koponyeg.hu (2) kritikus (1) kunena (1) language (1) layout (1) lebegő (1) legfrissebb (1) letöltés (4) levélküldés (1) link (2) linkek (1) linuxportal (1) loadposition (1) logout (1) magyar (4) magyarítás (5) mail (1) mainframe (1) mambot (8) map (1) másolás (1) md5 (1) mediabox (7) memória (1) mentés (3) meta (1) migráció (5) modul (17) modulpoziciok (1) mod koponyeg (1) mod rewrite (1) moly.hu (3) moneybookers (1) mootools (2) mosbanner (2) mosconfig live site (1) mosloadposition (1) mosolyművel (1) mostets (1) multilanguage (2) multithumb (1) mycontent (1) mysql (4) napi csinos oldal (1) naptár (1) nativ (1) natív (3) native (1) negatív (1) ninja (1) nooku (1) notepad++ (1) notepad (1) novoportal (2) nyelv (8) nyitóoldal (1) nyomtatás (1) oldalak (1) oldaltérkép (2) opensef (1) open graph (1) opera (2) összehasonlítás (1) osztály (2) override (2) ozio (1) ozi gallery (1) password (1) patch (3) path (2) pénznem (1) phoca (13) phocagallery (2) phoca download (2) phoca gallery (4) php (12) phpbb (1) phpMyAdmin (1) php 5.3 (2) php 7 (1) pingvin (1) platform (2) plugin (28) ponygallery (2) popup (4) postgresql (1) programozás (18) programozas (3) projectfork (1) rc (2) rc4 (1) rdaddphp (1) readmore (1) recaptcha (2) redcomponent (1) regisztráció (1) reklám (1) rekord (1) reloaded (1) remository (1) rendelés (1) responsive (1) reszpozív (1) roadmap (1) rokbox (2) router (1) rsform (1) rsgallery (2) rsjoomla (1) rss (1) ryan demmer (1) sablon (4) saját (9) script (1) searchbot (1) sebesség (1) sebezhetőség (3) security (14) sef (4) seo (3) service (1) session (4) shop (25) simplecaddy (1) simple image gallery (1) sitemap (1) skrill (1) slider (1) slides (1) smf (1) sobi2 (1) soeren (2) sorrend (1) spam (1) sql (2) stabil (1) stable (1) statisztika (2) stílus (1) szeretet (1) szerkesztés (1) szövegszerkesztő (24) tabs (1) takriban (1) támogatás (1) tárhely (1) telepítő (2) template (7) térkép (1) termékvariáció (1) thumbnail (3) tidy (2) titkosítás (1) title (1) többnyelvűség (2) toolbar (1) transifex (13) translation (1) trükk (1) tutorial (1) tv (1) twitter (2) újdonságok (3) újraindulás (1) ultimate content display (1) update (6) upgrade (3) url (3) űrlap (3) utf8 (2) vásárlás (1) vbulletin (1) végre (1) vendégkönyv (2) verseny (1) verzió (2) videó (1) video (1) view (1) virtuemart (43) wappalyzer (1) web (1) webáruház (25) webdesign (1) webfejlesztés (3) webkamera (1) Webkit (1) weboldal (1) webshop (15) widget (1) windows (1) www (1) wysiwyg (1) xmap (2) xss (1) plugin (1) Címkefelhő

Komponens-modul megjelenés felülbírálása sablonból

2012.04.16. 10:26 | KEEP | Szólj hozzá!

A Joomla CMS rendszer sok szempontból nagyon rugalmas rendszer. Persze olyanok is vannak, amiben nem, de a 2.5-ös Joomlával szépen haladunk a jó úton.

Az egyik legszebb dolog, hogy ha egy komponens kinézetét, layoutját meg akarjuk változtatni, akkor erre elegáns lehetőségünk van. Itt nem csak egy sima CSS alakításra gondolok, hanem keményen HTML-PHP vonalon mozgunk, ebbe nem is megyek bele, csak a strukturális alapokat szeretném bemutatni.

Az egésznek az alapja a megfelelő tervezési struktúra, ami az MVC (model-view-controller) nevet viseli. Végletekig leegyszerűsítve azt mondhatjuk, hogy egy komponens ezen három féle részegységre bomlik. A model(ek) végzi(k) az adatbázissal történő kommunikációt, az adatkezelést, ellenőrzést stb. A view a megjelenítésre szolgál, míg a controller a folyamatirányításért felelős, hogy mikor mi történjen. Vannak még egyebek (adattábla classok, helperek, assetsek, nyelvi fájlok, stb), de most ez a lényeg. A view-n belül több layout lehetséges, ezek az elrendezési formák. Ezeket láthatjuk a listában, amikor menüpontot hozol létre. A Joomla lehetőséget ad arra, hogy ezeket a layoutokat a sablonunkban felülbíráljuk anélkül, hogy belenyúlkálnánk a komponensbe, elrontanánk, vagy megszüntetnénk a frissíthetőségét.

Vegyük példának a Joomla cikk-megjelenítőjét. Egy cikkre mutató linkünk mondjuk kb így nézhet ki:

domain/index.php?option=com_content&view=article&id=29&Itemid=30

Az URL-t megvizsgálva több részre bonthatjuk az & karakter mentén:

  • option=com_content -> ez mondja meg, hogy melyik komponensről van szó, jelen pillanatban a com_content, ami a Joomla beépített cikk-kezelője.
  • view=article -> ő mondja meg, hogy melyik nézetet használjuk. Ugye a cikknél van az egy cikk, a blog, a lista nézet, stb. Most a cikk-nézettel dolgozunk.
  • id=29 -> ő mondja meg, hogy melyik elemet (jelen esetben cikket) kell megjelenítenünk.
  • Itemid=33 -> opcionális, a menüpont azonosítója, jelen esetben nincs is rá szükség.

Ha belenézünk egy komponens fájl szerkezetébe, akkor a fenti logika szerint alapesetben a következő könyvtárakat mindenképpen látni fogjuk:

components/com_content (illetve a megfelelő komponens azonosítója, ami az URL option része után van)

components/com_content/views/ - ez tartalmazza a nézeteket

components/com_content/models/ - ez tartalmazza a modeleket

A views-be kukkantva megtalálhatjuk a megfelelő nézeteket, a cikk-kezelőben itt lesz az "article" könyvtár. Itt van egy pár fájl, amire most nincs szükségünk, illetve egy tmpl könyvtár. Nos, ő az, ami tartalmazza a nekünk szükséges megjelenítési layout-okat. Ha nem tér el a fejlesztő a sablonoktól, akkor az alap megjelenítő a "default.php" nevet viseli, míg a felviteli űrlap a "form.php" nevet. Ezt lehet még tovább szabni, de ennyi az alap. 

Mivel nekünk a cikk megjelenítő kell, kövessük a következő lépéseket:

  • csináljunk biztonsági mentést
  • keressük meg a joomla telepítésünk gyökerében a templates könyvtárat, azon belül a saját sablonunkat
  • nézzük meg, hogy szerepel-e benne egy 'html' nevű könyvtár. Ha nem, akkor hozzuk létre!
  • nézzük meg, hogy ezen belül szerepel-e egy 'com_content' (vagy amilyen komponens kell) könyvtár. Ha nem, hozzuk létre!
  • Ezután egy szinttel lejjebb a nézet nevének megfelelő könyvtárra van szükség, jelen esetben ez az 'article'. 
  • Tehát van egy templates/sablonneve/html/com_content/article könyvtárunk. Ide másoljuk be az eredeti default.php-t és a szükséges változtatásokat ezen végezzük el.

Mi fog történni? 

Amikor a Joomla érzékeli az URL-ből (esetleg egyéb paraméterekből), hogy a 'com_content' komponens 'article' view-járól van szó, először a sablon megfelelő helyén keresi a megfelelő layoutot. Ha megtalálja, azt használja, így sikeres volt a felülírásunk. Ha nincs ilyen elérési út/fájl, akkor fordul az eredeti komponenshez. Így biztonságosan bíráltuk felül a megjelenítést.

További apróságok:

  • Moduloknál nincs view, ott a templates/sablonneve/mod_modulneve/layoutfájl.php elérés használható
  • Ezzel a módszerrel megoldható új layout hozzáadása a rendszerhez, csak akkor szükség van a hozzá tartozó XML fájl létrehozására is, illetve figyelni kell, hogy ha a layout leszármazott sub-layoutokat hív meg (pl list->item), akkor azt már a sablon könyvtárában fogja keresni.
  • Lehetőség van globálisabb felülbírálásra is, pl a modulok, komponensek, lapozó általános megjelenítési alakítására. Ekkor a html könyvtáron belül modules.php, pagination.php stb fájlokkal kell dolgoznunk. A gyári sablonokban láthatunk rá példát.

Természetesen a testreszabáshoz legalább hellyel-közzel értenünk kell, hogy mi van a felülbírálandó kódban, de ez már nem ennek a cikknek a témája.

Sok sikert!

Címkék: html css programozás sablon override template felülbírálás

A bejegyzés trackback címe:

https://joomla.blog.hu/api/trackback/id/tr694453023

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása