Zend Framework – Céges Demo portál – Zend Framework működésre fogása II. rész

A menürendszer megjelenítéséhez általában Javascriptet használnak manapság, természetesen lehet Flasht-t vagy bármi egyéb más megoldást alkalmazni. Kis keresgéléssel az interneten is könnyen találhatunk már kész megírt menü megjelenítőket. Egyik ilyen a smartmenus.org, ahonnan tölthetünk le egy nekünk tetsző megoldást. Ezek forráskódjait (c_config.js, c_smartmenus.js) beillesztettem a public_html/js/ könyvtárba. Mellé egy könyvtárba(smartmenus) a hozzátatozó képeket. (Figyelem! Nem ingyenes, mindenki csak saját felelősségére használja!)

A következőkben hozzunk létre egy config könyvtárat a demo/application/ könyvtárban. Hozzunk létre benne egy config.ini fájlt. Ebben a fájlban(demo/application/config/config.ini) fogjuk beállítani, portálunk címét, a későbbiekben használandó adatbázis kapcsolatunk konfigurációs adatait(adatbázis felhasználó név, adatbázis felhasználó jelszava, adatbázis neve, helye), ugyanitt állathatjuk be az elrendezések (layout) elérési útvonalát is.

A config.ini fájl tartalma:


[main]
db.host = "localhost"
db.username = "root"
db.password = ""
db.dbname = ""
dirs.layouts = ../application/views/layouts/

A demo/application/config/ könyvtárba hozzuk létre, egyenlőre az üres Globals.php-t amiben majd az adatbázis kapcsolatot fogjuk felépíteni amit az egész portálunkban használni fogunk. Itt fogjuk, majd beolvasni a config.ini fájlban megadott adatbázis kapcsolat felépítéséhez szükséges adatokat. Ez azért lesz majd nekünk jó, mert könnyen költöztethetővé fog válni alkalmazásunk.

Ezután lépjünk a demo/application/controllers könyvtárba. Itt hozzunk létre egy BaseController.php-t, a BaseController objektumot örököltessük a Zend_Controller_Action objektumból. Ezekután ebből a BaseControllerből, közvetve a Zend_Controller_Action objektumból fogjuk örököltetni majd minden következő Controllerünket.

A BaseController.php vezérlőben hozzunk létre egy public function init(){} metódust. Ez a metódus minden egyes esemény s ezen keresztül controller meghívásakor lefut. Itt adjuk át a nézetnek a js,css fájlok lérési útvonalát a kulcsszavakat és állítjuk be az oldal kódolását. Operációs rendszerek (Linux, Windows) miatt egy-két sort ismételnünk kell. Alább látható a BaseController.php vezérlő forráskódja:


<?php
class BaseController extends Zend_Controller_Action
{
public function init()
{
//fejadatok megadása(css,js, oldal kódolása kulcsszavak)
$this->view->headMeta()->appendHttpEquiv('Content-Type','text/html; charset=UTF-8');
$this->view->headMeta('page keywords: valami semmi minden', 'keywords');
$this->view->headTitle('Demo portal in ZF');
$this->view->headLink()->appendStylesheet('../css/style.css');
$this->view->headLink()->appendStylesheet('css/style.css');//xp oprendszer miatt
$this->view->headScript()->appendFile('../js/c_config.js');
$this->view->headScript()->appendFile('../js/c_smartmenus.js');
$this->view->headScript()->appendFile('js/c_config.js');//xp oprendszer miatt
$this->view->headScript()->appendFile('js/c_smartmenus.js');//xp oprendszer miatt
return;
}
} // class BaseController extends Zend_Controller_Action
?>

Hozzunk létre ugyanezen helyen egy IndexController.php nevezetű vezérlőt, amelyet örököltessünk a BaseControllerből. A forrás legelején töltsük be a BaseControllert: require_once ‘controllers/BaseController.php’;

Adjunk hozzá két eseményt egy indexAction() és egy cegunkAction() eseményt, ezek tartalma legyen egy egyszerű return; egyenlőre.

IndexController.php tartalma az alábbi:

<?php
//behozzuk a BaseControllert
require_once 'controllers/BaseController.php';
//IndexControllert a BaseControlleből örököltetjük
class IndexController extends BaseController
{
//alapértelmezett esemény
public function indexAction()
{
return true;
} // public function indexAction()
//cegunk esemény
public function cegunkAction()
{
return true;
}
} // class IndexController extends Zend_Controller_Action
?>

Most gyártsuk le az eseményekhez tartozó nézeteket!

Ehhez nem kell mást tennünk, mint a demo/application/view/scripts könyvtárban hozzuk létre az index könyvtárat mivel az IndexControllerhez készítjük, így az alábbi könyvtárszerkezet alakul ki: demo/application/view/scripts/index/. Mivel IndexController indexAction illetve cegunkAction-ját készítettük el korábban az ehhez tartozó nézeteket kell megcsinálnunk, így egy index.phtml illetve egy cegunk.phtml fájlt kell itt létrehoznunk. Ezen .phtml fáljok tartalmát úgy kell elképzelnünk, mintha egy html oldal <body></body>tagei közzé írnánk. Nálam most az index.phtml tartalma:


<!--Layout for index::index-->
<p>Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal
Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal
Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal Főoldal </p>

a cegunk.phtml tartalma:

<!--Layout for index::cegunk-->
<p>Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk
Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk
Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk Cégünk </p>

Mivel ez egy Céges Demo portál a tartalom nem túl bonyolult. Azonban bármit bele lehet tenni, táblázatot képeket ami egy portál tartalmát igazán tökéletessé teszi.

Az előzőekben elkészítettük a Controllereket, az eseményeket és a hozzájuk tartozó nézetet. Azonban még nem vagyunk kész. Össze kell illesztenünk a tartalmakat, hogy elképzeléseinknek megfelelően jelenjen meg. Ami majd a következő cikkben kerül kifejtésre.

Advertisements

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s