Ana içeriğe atla

Drupal PHP Değişkenleri JS/jQuery'e Gönderme

Sümeyye Aydemir
Sümeyye Aydemir
20 dakika okuma süresi

Drupal Modül geliştirme örneklerimize PHP/Drupal değişkenlerini JavaScript olarak işleme örneği ile başlıyoruz. Buradaki örnekte Drupal'daki bir değeri tarayıcı tarafında çalışan Javascript'e göndereceğiz.

Drupal'da modül geliştirirken Drupal-PHP değişkenlerini JavaScript/jQuery'e göndermeniz gereken durumlar olabilir. Drupal 7 için yazacağımız aşağıdaki örnekte; Drupal'daki Kullanıcı adını Alert ile ekrana göstereceğiz.

<?php
function jstest_menu() {
$items = array();
$items['js-test'] = array(
'title' => t('Javascript Değişkenleri'),
'description' => t('Javascript Değişkenlerini test ediyoruz.'),
'page callback' => 'jstest_page_callback_js_vars',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
?>

Yukarıdaki örnekte; hook_menu ile bir sayfa oluşturduk ve jstest_page_callback_js_vars fonksiyonunu çağırdık. Şimdi de js-test menüsünden çağırdığımız javascript kodunu oluşturalım;

<?php
     function jstest_page_callback_js_vars() {
        drupal_add_js(drupal_get_path('module','jstest') . '/js/script.js');
        $js_vars = array(
 'js_vars' => array(
 'message' => t('Merhaba @username', array('@username' => $GLOBALS['user']->name)),
 'an_array' => array('renk' => t('red'), 'isim' => t('Veli'), ),
 ),
 );
drupal_add_js($js_vars, 'setting');
 return "TEST";
}
?>

Ve drupal_add_js ile eklediğimiz js/script.js dosyasının içeriği;

$(document).ready(function(){
 console.debug(Drupal.settings.js_vars);
 alert(Drupal.settings.js_vars.message);
});  

Yukarıdaki örneği tarayıcınızdan http://siteniz.com/js-test olarak çağırdığınızda kullanıcı adınız Alert ile gösterilecektir.

Ofislerimiz

Drupart Locations

Ofislerimiz

Drupart AR-GE

GOSB Teknopark Hi-Tech Bina 3.Kat B3 Gebze - KOCAELİ

+90 262 678 8872

+90 216 706 12 58 

[email protected]

Londra

151 West Green Road, London, England

+44 203 815 6478

[email protected]

Newark

112 Capitol Trail Suite, A437 Newark DE, 19711

+1 (740) 666 6255

[email protected]

Wiesbaden

Hinterbergstraße 27
65207 Wiesbaden
Deutschland

+49 (0) 6151 – 492 70 23

[email protected]