Hirdetés
- Melyik hordozható audiolejátszót (DAP, MP3, stb.) vegyem?
- Kormányok / autós szimulátorok topikja
- Projektor topic
- Vezetékes FEJhallgatók
- E-book olvasók
- Házimozi belépő szinten
- Vezeték nélküli fülhallgatók
- VR topik (Oculus Rift, stb.)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Azonnali informatikai kérdések órája
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
spammer
#9359
üzenetére
Ha arról beszélsz, hogy abban a bizonyos fájlban egy normálisan felépített HTML-tartalom van, és abból csak pl. egy adott id-vel rendelkező div-et szeretnél megjeleníteni, vagy hasonló, akkor példaként a jQuery hivatalos oldalán van AJAX-os kommunikációnál ugyanilyen:
Loading Page Fragments$('#result').load('ajax/test.html #container');
Egyébként még PHP-val is lenne mód ilyenre: DOMDocument-tel parse-olod, getElementById()-vel beolvasod a megfelelő részt.
Mondjuk ha már megoldási módszerekről beszélünk, ez sem túl szép, jobb lenne a tartalmakat adatbázisból kiolvasni, ha van erre mód.
===
(#9360) PazsitZ : nem akarok kötekedni, de azért ne szoktassuk arra az emberkéket, hogy minden cikket jelenítsenek csak meg nyugodtan ugyanazon az oldalon, aztán majd kliensoldalon szépen megjelenítgeti-eltünteti, nem kevés terhelést róhat adott esetben feleslegesen a szerverre.
Persze nagymértékben függ a feladattól, de általában inkább kerülendő, inkább aszinkron módon kellene betölteni. -
PazsitZ
addikt
válasz
spammer
#9359
üzenetére
Egyszerű példa (vedd pszeudokódnak) :
CikkModule.php
{
static function getCikkHTML($cikkId) {
...
}
}CikkController.php:
{
public function cikkekAction(){
foreach($cikkek as $cikk){
echo CikkModule::getCikkHTML($cikk->cikk_id);
}
}
public function cikkAction($cikkId){
echo CikkModule::getCikkHTML($cikkId);
}
}vagy még egyszerűbben listaoldalon ajax hívás nélkül (persze a direkt linkhez kell az egy cikket megjelenítő action):
<div id="cikkek">
<div class="cikk_1"><a onclick="showCikk(1);"></a></div>
<div class="cikk_2"><a onclick="showCikk(2);"></a></div>
</div>
<div id="cikk" style="display:none;"> <a onclick="closeCikk();"></a></div>
<script>
function showCikk(id){
$('#cikk').html( $('#cikk_' + id).html() ).show();
$('#cikkek').hide();
}
function closeCikk(){
$('#cikkek').show();
$('#cikk').hide().html('');
}
</script>Bár megjegyzem pont Yii-ben van rá példa, hogy az egész page contentet lekéri az ajax és csak a megfelelő tartalmat illeszti be sima jQuery selectorral. pl.: $('.cikk_2', '#cikkek').html();
Új hozzászólás Aktív témák
- Bivaly Lenovo T14 gen5 (Core Ultra 7 32Gb DDR5 1 Tb SSD) laptopom eladó 30 hónap gyártói garanciával
- Sony FE 90mm f/2.8 Macro G OSS (SEL90M28G)
- Sony A7 IV váz
- BLUEO Prémium iPhone & Apple Watch kiegészítő készlet EGYBEN ELADÓ nagyker áron!
- Xiaomi Redmi Note 12s 256GB, Kártyafüggetlen, 1 Év Garanciával
- 3DKRAFT.HU - 3D NYOMTATÁS - AZONNALI ÁRAJÁNLAT - GYORS KIVITELEZÉS - 500+ POZITÍV ÉRTÉKELÉS
- BESZÁMÍTÁS! Asus ROG STRIX B360 i7 8700K 16GB DDR4 512GB SSD RTX 2070 SUPER 8GB Zalman N5 ADATA 600W
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- Samsung Galaxy S23 FE / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- Bomba ár! HP Pro X360 11 G5 - Intel N4120 I 4GB I 128GB SSD I 11,6" HD Touch I Cam I W11 I Gari
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


