- Huawei Watch GT 6 és GT 6 Pro duplateszt
- iPhone topik
- Apple iPhone 17 Pro Max – fennsík
- Apple iPhone 16 Pro - rutinvizsga
- Mobil flották
- Android alkalmazások - szoftver kibeszélő topik
- A OnePlust akarja beelőzni a Realme
- Google Pixel topik
- Fotók, videók mobillal
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
Ú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
- SIEMENS TQ513R01 Teljesen automata kávéfőző EQ500 Integral/Fekete Kivehető víztartály 15 bar
- LG OLED Evo G3, 65,''col, 4K
- Gyönyörű Watch Ultra 2 (GPS + Cellular) 49MM, natural titan, garanciális 2027.11.04-ig, üzletből
- HP Probook 450 G3 notebook eladó
- IPHONE 15 PRO 128GB FÜGGETLEN, GYÁRI GARIVAL 2027.02.HÓIG , ÜZLETBŐL
- HIBÁTLAN iPhone 15 Pro Max 256GB White Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3661, 100% Akkum
- Eredeti Lenovo 300W töltők - ADL300SDC3A
- LG 32UN880P - 32" IPS ERGO / 4K UHD / 60Hz 5ms / DisplayHDR 400 / USB Type-C / AMD FreeSync
- REFURBISHED - HP USB-C Dock G4 docking station (L13899-001)
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W docking station (3TR87AA)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest