Ú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
- Ipad Pro 11 M4 - Cellular - 10 hó apple gari, 4 ciklus
- Gamer PC i7 32GB Rtx 3080
- HP Probook 440 G11 (9Y7Q2ET) - ÚJ 14" üzleti notebook - Core U5 , 512SSD
- HP Probook 440 G11 (AA0Y5ES) - ÚJ 14" üzleti notebook - Core U5 , Win11 pro
- iKing.Hu - Apple iPhone 14 Pro Max Stílusos erő, Pro kamera rendszerrel! 128GB - 3 hónap gari!
- HIBÁTLAN iPhone 12 mini 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2036
- BESZÁMÍTÁS! ASRock Z370 i7 9700KF 16GB DDR4 512GB SSD RX 7600 XT 16GB ZALMAN I3 NEO ADATA 600W
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
- Tenda RX2 Pro Wifi6 Router
- GYÖNYÖRŰ iPhone 13 mini 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3180
Állásajánlatok
Cég: FOTC
Város: Budapest