Protein Datagate Kullanımı


Datagate, Protein widget ve sayfalarında form verilerini veya özel objeleri, araya ek bir dosya (empty popup vb.) koymadan doğrudan sunucu tarafındaki bir cfc metoduna ulaştırmak için tasarlanmış merkezi bir köprüdür.

Bu yapı sayesinde backend metodlarına hem workcube_buttons aracılığıyla hem de doğrudan ajax ile erişebilirsiniz.


cf_workcube_buttons ile Kullanım

Bu kullanımda Vue.js altyapısı otomatik olarak form verilerini toplar ve Datagate üzerinden ilgili CFC'ye iletir.
Örnek Kullanım:

    is_upd="1"
    is_del="1"
    is_insert="1"
    data_action="/V16/objects2/protein/data/event_data:add_event"
    next_page="/event/det?id="
    del_action="/V16/objects2/protein/data/event_data:del_event:identity"
    del_next_page="/event/list"
    after_function="my_callback_function">


Doğrudan AJAX Kullanımı

Bazı durumlarda bir butonun otomatik davranışına bağlı kalmadan, JavaScript içerisinden Datagate'e veri göndermek isteyebilirsiniz. Bunun için /datagate endpoint'ine bir POST isteği atmanız yeterlidir.
İsteğin gövdesi (Payload) şu üç anahtar değeri içermelidir:
  1. cfc: Çalıştırılacak CFC'nin dosya yolu.
  2. method: CFC içindeki fonksiyonun adı.
  3. form_data: Metoda gönderilecek parametreleri içeren bir struct/obje.
Örnek Kullanım:
    var payload = {
        cfc: 'catalyst/V16/objects2/protein/data/event_data',
        method: 'add_event',
        form_data: {
            id: 123,
            userid: 45
        }
    };
    
    var data = new FormData();
    data.append('cfc', payload.cfc);
    data.append('method', payload.method);
    data.append('form_data', JSON.stringify(payload.form_data));
    
    AjaxControlPostDataJson('/datagate', data, function(response) {
        if(response.STATUS) {
            alert('İşlem Başarılı ');
        } else {
            alert('Hata ');
        }
    });

Not: Datagate, gelen isteği yakalayıp ilgili cfc'deki metoda argumentCollection olarak iletir. Yani form_data içindeki her bir anahtar, fonksiyona birer argüman olarak düşer.

Geri Bildirim

Bu içeriği faydalı buldunuz mu?
İlişkili İçerikler