A joomla 1 mvc komponensének létrehozása

Funkciók hozzáadása

Tehát, míg adminisztrátorunk nem nagyon hasznos. Eddig csak az adatbázis tartalmát mutatta be.

Hasznos funkciók hozzáadásához néhány gombot és linket kell hozzáadnia.

eszköztár

Lehet, hogy észrevette az eszköztár jelenik meg a Joomla komponens admin panelek tetején. Szükséges a komponensünkhöz is. A Joomla egyszerűvé teszi. Billentyűk hozzáadása Törlés, Bejegyzés szerkesztése és Új bejegyzések létrehozása. Adjon hozzá egy címet is, amely megjelenik az eszköztárunkon.

Ezt úgy teheti meg, hogy hozzáad egy kódot a nézethez. A gombok hozzáadásához használjon statikus módszereket a JToolBarHelper osztályból. A kód így néz ki:

Ez a három módszer létrehozza a megfelelő gombokat. A deleteList () metódus három paramétert tartalmazhat: az első paraméter olyan karakterlánc, amely megkéri a felhasználót a törlés megerősítésére. A második paraméter a kéréssel együtt küldött feladat (az alapértelmezett "eltávolítás"), a harmadik pedig a gomb alatti szöveg.

A editListX () és addNewX () módszerek két további paramétert kaphatnak. Az első a feladat (alapértelmezés szerint, szerkesztés és hozzáadás), a második pedig a gomb alatti szöveg.

* Talán figyelt a JText :: _ módszer használatára, mint az előző sablonban, és itt. Ez egy olyan funkció, amely nagymértékben megkönnyíti az alkatrész fordítását. A JText :: _ módszer egy szöveges karakterláncot keres az összetevő nyelvi fájljában, és visszaadja a lefordított karakterláncot. Ha a fordítást nem találja meg, a függvény visszaküldi a hozzá átadott karakterláncot. Ha az összetevőt le kell fordítani egy másik nyelvre, mindössze annyit kell tennie, hogy hozzon létre egy nyelvi fájlt, amely magában foglalja a sorokat és azoknak a szükséges nyelvet.

Zászlók és linkek

Most már vannak gombok. Ezek közül kettő vezérli a meglévő rekordokat. De honnan tudod, melyik nyilvántartást kell dolgoznia? Hagyja, hogy a felhasználó meghatározza. Ehhez hozzá kell adni a zászlókat az asztalhoz, hogy a felhasználó kiválaszthassa a szükséges rekordokat. Ez a sablonban valósul meg.

A jelölőnégyzetek hozzáadásához további oszlopot kell hozzáadnunk a táblához. Hozzáadunk egy oszlopot a két rendelkezésre álló között.

Az oszlopfejlécben adja hozzá egy jelölőnégyzetet, amely segítségével kiválaszthatja vagy törölheti az összes jelölőnégyzetet:

Most minden egyes sorhoz hozzá kell adnia a jelölőnégyzeteket. A JHTML osztály egy JHTML :: _ () metódussal hoz létre egy jelölőnégyzetet számunkra. Adja hozzá a következő sorokat a mi hurokunkhoz:

Ezután adjunk hozzá egy cellát a két rendelkezésre álló között:

A jelölőnégyzet kiválasztása, az oldal felemelése és a gomb megnyomása túl megterhelő. Hozzáadunk egy linket közvetlenül a szerkesztési űrlaphoz. A következő sorok kerülnek hozzá, miután a JHTML :: _ () metódus a HTML link létrehozására szólított fel:

Link hozzáadása a cellához, megjelenítve a szöveget:

Itt van a default.php fájl teljes kódja:

Most a hellos nézetünk vége. Az összetevőt az eredmények megtekintéséhez kipróbálhatja.

Most, hogy a Hellos nézet befejeződött, ideje figyelni a Hello nézetet és modellt. Ez a munka itt történik.

Controller Hello

A vezérlő egyetlen munkája az alapértelmezett nézetek megjelenítése.

Önnek képesnek kell lennie a Hellos nézetből futó feladatok elvégzésére: hozzáadni, módosítani és törölni.

Valójában a kiegészítés és a módosítás ugyanaz a feladat: mindkettő egy űrlapot jelenít meg a felhasználó számára az üdvözlés szerkesztéséhez. Az egyetlen különbség az, hogy amikor létrehoz egy üres űrlapot, és amikor megváltoztatja, megjelenik egy űrlap az adatokkal. Mivel hasonlóak, elvégezzük a változtatás feladatkezelő hozzáadásának feladatát. Ezt a konstruktorunk jelzi:

A JController :: registerTask első paramétere a feladat, a második a végrehajtás módja

Kezdjük a változási feladat feldolgozásával. Ebben az esetben a vezérlő működése egyszerű. Mindössze annyit kell tennie, hogy megadja a letöltés nézetét és elrendezését (esetünkben a hello nézet és az űrlap elrendezése). Emlékeztetjük a Joomla-t is, hogy tiltsa le a főmenüt, miközben megváltoztatja az üdvözlést. Ez megakadályozza, hogy a nyitott, nem mentett bejegyzések maradjanak.

Változási feladatkezelőnk így néz ki:

Hello view

A Hello nézet olyan űrlapot jelenít meg, amely lehetővé teszi a felhasználó számára az üdvözlés szerkesztését. A megjelenítési módnak néhány egyszerű műveletet kell végrehajtania:

  • szerezze be az adatokat a modellből
  • hozza létre az eszköztárat / div>
  • adatokat helyezzen el egy sablonba
  • hívja a display () metódust sablon rajzolásához

Ez egy kicsit bonyolultabb, mivel egy nézet mind a szerkesztést, mind a hozzáfűzést elvégzi. Eszköztárunknak tájékoztatnia kell a felhasználót az aktuálisan végrehajtott műveletről - hozzáadva vagy szerkesztve, vagyis meg kell határoznia a végrehajtandó feladatot.

Amikor a modellből megjelenítünk egy rekordot, akkor az adatok felhasználásával meghatározhatjuk az aktuális feladatot. Ha a feladat szerkesztésre került, akkor a rekord id mezője megváltozott. Ha ez egy új feladat, akkor annak értéke nem lesz beállítva. Ez a részlet segít meghatározni az új rekord létrehozását vagy a meglévő szerkesztését.

Add hozzá két gombot az eszköztárhoz: mentés és törlés. A funkció majdnem ugyanaz lesz, de az aktuális feladattól függően különböző gombok jelennek meg. Új bejegyzés esetén a törlés gomb jelenik meg, és ha a meglévőt megváltoztatják, akkor a bezárás gomb jelenik meg.

Így a megjelenítési módszer így fog kinézni:

Hello modell

Adatokra van szükségünk bemutatásunkhoz. Ez azt jelenti, hogy megfelelő modellt kell létrehoznia.

A modellnek két tulajdonsága lesz: _id és _data. _id tárolja a üdvözlő azonosítót, az adatadatokat.

Kezdjük a konstruktorral, amely megkapja a lekérdezés azonosítóját:

A JRequest :: getVar () metódus lekérdezéshez szükséges adatok lekéréséhez használható. Az első paraméter az űrlapváltozó neve. A második paraméter a hozzárendelés alapértelmezett értéke, ha az érték nem található. A harmadik paraméter a hash név, amellyel megkapja az értéket a kap, a bejegyzés stb. és az utolsó érték az adattípus az értékhez.

A konstruktor megkapja az első értéket a cid tömbből és hozzárendeli azt az azonosítóhoz.

A setId () metódus használható az azonosító beállítására. Az azonosító módosítása, amit a modellünk jelez, azt jelenti, hogy a pontok pontatlan adatokat jeleznek. Ezért az id érték beállításával töröljük az adat tulajdonságot:

Végül szükségünk van egy adatgyűjtési módra: getData ()

A getData ellenőrzi, hogy a _data tulajdonság értéke be van állítva. Ha igen, egyszerűen visszaadja. Ellenkező esetben az adatbázisból származó adatok fogadásra kerülnek.

Végül mindössze annyit kell tennünk, hogy létrehozzunk egy adatlapot. Mivel az űrlapot űrlapként definiáltuk, az űrlap a hello nézet tmpl könyvtárának fájljába kerül az űrlap form.php formájába:

Megjegyzés: a beviteli mező mellett van rejtett mező az id számára. A felhasználónak nem szabad megváltoztatnia az azonosítót, ezért egyszerűen feltesszük az űrlapot.

Kapcsolódó cikkek