- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Netfone
- Mobil flották
- Garmin Venu 4 - a nagy ugrás
- Idő előtt felbukkant a Galaxy A57 egy európai webshopban
- Samsung Galaxy Watch7 - kötelező kör
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Nem lesz Redmi Note 16, évet ugrik a sorozat
- Milyen okostelefont vegyek?
- Honor Magic6 Pro - kör közepén számok
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
Peter Kiss
#6983
üzenetére
Hogyan oldjam meg, hogy a top level HTML elemeket tartalmazó View darabok, és esetleg pl. a menüt tartalmazó részeket berántsa magának?
Feltételezem, hogy olyan template nyelvet használsz, ami include-al működik (kívülről befele), nem pedig inherit-el (belülről kifele). Na ez esetben úgy oldod meg, hogy van egy alap template-ed, mondjuk legyen page, ami valahogy hasonlóan néz ki php-t használva template nyelvnek:
<html><head>/ .. /</head>
<body>
<div id="menu"><?php include 'menu.tpl'; ?></div>
<div id="content"><?php include $context['page_body']; ?></div>
/ ... /
</body></html>
Ez az oldal váza, amiből lehet többféle is, a lényeg, hogy a template elkészítése kívülről befele történik. Ezt a vázat fogja a view megjeleníteni. Azt, hogy a kontent részbe mit pakolunk, az attól függ, hogy a controller mit állított be a $context['page_body'] változóban. A kontrollered ez esetben valahogy így fog kinézni:
function view(/../){
/../
$context['page_body']='edit_form.tpl';
return render_template('page_base_template.tpl', $context);
}
Az action beállítja a page_body értékét (vagyis hogy melyik file-t kell behúzni a tartalmi részbe), majd lerendereli az alap template-et a megfelelő paraméterekkel. A $context változó szerepe, hogy ebben tároljuk azokat a paramétereket/változóértékeket, amelyeket a template-ek felhasználnak a html legyártásához.
Természetesen ez csak egy rövid példa, remélhetőleg átjön a lényeg
.Arra kellene valami jó megoldás, hogy miként töltse be az adott részeket a cucc.
Normális autoload-ot kell írni
. Az számomra rejtély, hogy az Areas mappád mit jelent és miért van benne külön M,V,C mappa, amikor ezek a gyökérben is ott vannak. Saját MVC framework-öt fejlesztesz, vagy kész megoldást szeretnél használni?most az aktuális Controller megkapja a konstruktorában a végrehajtandó action-t (de nem a konstruktor hívja meg!).
Nem szükséges megkapnia. Egy controller általában nem más, mint action-ök halmaza, minden action egy-egy függvény a controller osztályon belül. Az, hogy melyiket kell meghívni, az a routing során dől el, ami tulajdonképpen az a rész, ahova bemegy az url és kijön a controller/action/paraméterek hármas. A framework feladata, hogy ezt megcsinálja, majd az előbb említett hármas alapján meghívja a megfelelő kontroller megfelelő action-jét a megfelelő paraméterekkel. (Illetve az is a feladata, hogy észrevegye, ha nemlétező controllert vagy actiont szeretnél meghívni, vagy esetleg a paraméterek nem megfelelőek - az elsőt az autoload/osztálykereső fogja kiszűrni, a másodikat a controller ősosztályban ügyesen megírt __call() függvény, a nem megfelelő paramétereket pedig maga az action)
Új hozzászólás Aktív témák
- Dell Latitude 7400 2 in 1 360 touch, i7 8665U, 16GB RAM, SSD, jó akku, magyar bill számla, 6 hó gar
- HP Pavilion Aero 13.3" - 16Gb RAM, 512GB SSD 0.99kg WiFi 6E
- HP ZBook Firefly G9 - 14" hibás kijelző, i7 1255U, 16GB RAM, Nvidia T550 4GB VGA, hiányos bill.
- T14 Gen1 27% 14" FHD IPS Ryzen 5 PRO 4650U 16GB 256GB NVMe IR kam gar
- Dell Precision 5750 17" UHD+ touch, i7 10850H, 16-64GB RAM, 6GB VGA, 512GB SSD, jó akku, számla, gar
- Lenovo ThinkPad T590 15,6" - i5 8265U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- Azonnali készpénzes Intel i5 i7 i9 8xxx 9xxx processzor felvásárlás személyesen / csomagküldés
- AKCIÓ! Microsoft XBOX Series X 1TB SSD fekete játékkonzol garanciával hibátlan működéssel
- Lenovo ThinkPad T14 Gen1 Ryzen5 4650U Refurbished - Garancia
- Apple iPhone 16 Pro Max 256GB,Újszerű,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

.
