Javascript etrafında bu php döngü sarmak için doğru yolu nedir

3 Cevap php

Harita verileri için bir CMS platformu var bu yüzden ben bir Wordpress döngü ile Google Maps 2 Senaryoyu birlikte ezme duyuyorum. Bu çalışma para cezası var:

var point = new GLatLng(48.5139,-123.150531);
var marker = createMarker(point,"Lime Kiln State Park", 
'<?php $post_id = 182;
$my_post = get_post($post_id);
$mapTitle  = $my_post->post_title;
$mapIMG = get_post_meta($post_id, 'mapImage', true);
$snip = get_post_meta($post_id, 'mapExcerpt', true);
echo "<div class=\"span-12\">";
echo "<div class=\"mapTitle\">";
echo $mapTitle;
echo "</div>";
echo "<img class=\"mapImage\" src=\"";
echo bloginfo('url');
echo "/wp-content/files_mf/";
echo $mapIMG;
echo "\" /> ";
echo "<div class=\"mapContent\">";
echo $snip;
echo "</div>";
echo "<div class=\"moreLink\">";
echo "<a href=\"";
echo $permalink = get_permalink( $post_id );
echo "\">Find out more &raquo; </a>";
echo "</div>";
echo "</div>";
?>')
map.addOverlay(marker);

Ancak ben de bu ikisi de özel alanlar tarafından oluşturulan böylece php döngü içinde başında iki değişken dahil edebilmek için umut ediyorum. Birisi bu yazmak için doğru yolu tüm verilerin bu mesaja kimliği içinde alanlardan çekilebilir böylece olacağını bana gösterebilir misiniz? Yani lat / uzun ve başlık da yazı 182 alanları içinde ayarlanmış olabilir.

3 Cevap

Seni soruyorsun ne olsun düşünüyorum. Ben size kodlama sözleşmeler bakıyor yardımcı olacak en büyük şey olduğunu düşünüyorum. Hassasiyet çok önemlidir. Örneğin, çok fazla çıkışı ile php karıştırmak için değil deneyin. İlk php yapın ve daha sonra sayfanın aşağı sadece onlara ihtiyacınız hazırlanmış değişkenleri echo. Okumak için işler çok daha kolay hale getirir. Ayrıca, tek tırnak arkadaşınız vardır.

Ben bu sorunu giderir inanıyorum:






<?php
$post_id = 182;
$my_post = get_post($post_id);
$mapTitle  = $my_post->post_title;
$mapIMG = get_post_meta($post_id, 'mapImage', true);
$snip = get_post_meta($post_id, 'mapExcerpt', true);
$permalink = get_permalink( $post_id );

// Is this what you mean??
$lat = $my_post->post_lat;
$long = $my_post->post_long;

$pass_to_function = '
    <div class="span-12">
        <div class="mapTitle">'.$mapTitle.'</div>
        <img class="mapImage" 
            src="'.bloginfo('url').'/wp-content/files_mf/'.$mapIMG.'" />
        <div class="mapContent">'.$snip.'</div>
        <div class="moreLink">
            <a href="'.$permalink.'">Find out more &raquo; </a>
        </div>
    </div>';

?>

var point = new GLatLng(<?php echo $lat.', '.$long; ?>);
var marker = createMarker(point,"<?php echo $mapTitle; ?>", '<?php echo $pass_to_function; ?>')
map.addOverlay(marker);

Tüm echo s kurtulmak ve bunu bu şekilde yapmak olsun:

$snip = get_post_meta($post_id, 'mapExcerpt', true); 
?>
<div class="span-12"> 
<div class="mapTitle">
<?=$mapTitle?>
</div>
...etc

Yani, ben bir açıklama olarak bunu yapmak istiyorum, ama hiçbir kodlama biçimlendirme orada bulunuyor ...

"... Ben yaklaşık 20 farklı Mesajı kimliklerinden çekerek için gidiyorum ..."

Nasıl bu mesaja kimlikleri alınır? Bir veritabanından? Ne veri çekilir ediliyor? Ben enlem / boylam, işaretleyici adı ve işaretin kimliğini tahmin, sağ mı? Bu durum buysa, o zaman böyle bir şey çalışmak:

$sql = "SELECT id, lat, long, name FROM table..."; // whatever it would be
$res = mysql_query($sql);

while($row = mysql_fetchrow_array($res)) {
    $title = get_title($row['id']);
    $img = get_Post_Meta($row['id']);
    // and populate more variables for whatever data you need

    // start a heredoc
    echo <<<EOF
var point = new GLatLng({$row['lat']},{$row['long']});
var marker = createMarker(point,"{$row['name']}", '
    <div class="this">
       <div class="that">
           {$title}    <img src="{$img}" />
       </div>
    </div>
';

EOF;
    } // end of while loop

Sadece Javascript kodu olarak takıyor herhangi bir metni sterilize hatırlıyorum. Işaretin adı içine yerleştirmeden konum tırnak aynı tür içerir (diyelim ki) varsa, bir javascript sözdizimi hatası neden, böylece değişken içine sokulması konum ne olursa olsun için uygun tırnak kaçmak için emin olacaktır.