Gravity forms és Pick Pack Pont házasítás

Sziasztok!











Van itt valaki akinek a Gravity-t összehozta már a Pick Pack Pont-tal? Ha igen, jelezzen vissza, kérem!











Üdv!











Gábor

Szia!











Én a Pick Pack PONT-ot összehoztam már egy sima űrlappal. (A wp-e-commerce megrendelő űrlapjával)











Úgy csináltam meg, hogy a városok listáját (az egy javascript kód, ami beolvassa a pick pack pont szerveréről az aktuális listát) , azt úgy módosítottam, hogy amikor kibontod pl a várost (rákattintasz egy városra), akkor ugye kilistázódnak, hogy ott milyen helyeken lehet átvenni. Minden átvevő helyre betettem egy checkbox -ot, tehát az user csak egy várost tud kijelölni. Amint kijelölt egy várost, akkor annak címét bemásolom az űrlap egy text box részébe, ami ugye megy az email-ben. Tehát javascript-ben így meg lehet oldani, hogy annak segítségével írod be akármilyen űrlap adott inputjába (ez lehet TextBox vagy text input stb). Az elvileg mindegy, hogy most az űrlapot pl mi generálta le. lehet az akár a Gravity form is vagy bármi, az végül is mindegy.











Talán ez a legegyszerűbb módja, hogy a pick pack pont városok listájából egy várost ki lehessen jelölni és az bekerüljön az űrlap részébe, ilyen javascript-es buherálás.











Ha ez így jó neked, akkor oldd meg így, ha pedig nem, akkor úgy csinálod, ahogy neked jó. laugh.gif

Kösz szépen a részletekbe menô választ! Teszek így egy kísérletet.

Szia András!











Ja, még valami! Tudnál küldeni linket, ahol megnézhetném?











Kösz szépen!











Gábor

Szia!











Igen, nem az én oldalam, csak a pick pack listát tettem be ide, mert megkértek rá, gondolom nem haragszik meg a tulaj, ha megosztom a linket:











http://goo.gl/j3RzK











Elsőnek tegyél a kosárba egy terméket, mert egyébként nem látszik a megrendelő űrlap. Úgy lett megoldva, hogy ha a kiszállítás közül pick pack os -t választ a megrendelő, akkor megnyílik alatta a pic pack os város listája. Ott lehet kiválasztani, hogy hová kéri, van egy ide kérem a szállítás-t kijelölő. Ha azt kijelöli valaki, akkor bemásolódik a cím a Postázási cím, Cím mezőbe.











A Pick Pack adott egy több fájlt is, ezek között van egy storelist.js is. Azt kellett kicsit átírni, hogy legyen város kijelölése.











Ha jól emlékszem, akkor csak a function LoadData(xml) nevű függvényt kellet kicsit módosítani, én ilyenre csináltam, hogy legyen “IDE KÉREM A SZÁLLÍTÉST” mező:















function LoadData(xml) {



var xmlDoc = createXmlDOMObject(xml);



jQuery(xmlDoc).find(‘county’).each(function (index, item) {



var content = “

+
”;



var name = jQuery(this).find(‘name’).text();







content += name + “
”;



jQuery(this).find(‘location’).each(function (index2, item2) {



var locationname = jQuery(this).find(‘locationname’).text();



content += “
+
” + locationname + “




content += “
”;



jQuery(this).find(‘store’).each(function (index3, item3) {



var title = jQuery(this).find(‘title’).text();



var address = jQuery(this).find(‘address’).text();



var type = jQuery(this).find(‘type’).text();



var id = jQuery(this).find(‘id’).text();



content += “




//with image



content += title + “

”;



// no image



//content += title + “
”;



//show boltkód



content += address + "
Boltkód: " + id;



//
Egyedi input mező

content += '

Ide kérem a szállítást!' + "
";

//

//no boltkód inside

//content += address + "
Boltkód: " + id + "
";

});

content += "
"

});





jQuery('#content').append(jQuery(content));

jQuery("#county" + index).bind('click', function (event) {

var actval = (jQuery(this).text());

if (actval == "+") {

jQuery.each(jQuery('.' + name.replace(' ', '')), function (key, option) {

jQuery(this).removeClass("nodisplay");

});

jQuery(this).text("-");

} else {

jQuery.each(jQuery('.' + name.replace(' ', '')), function (key, option) {

jQuery(this).addClass("nodisplay");

HideItem(jQuery(this));

});

jQuery(this).text("+");

}

});

});

}





Az űrlappal meg így hoztam össze:









jQuery(document).ready(function () {



//beállítjuk, hogy a legeső fizetési mód legyen bejelölve és a pikpak városok konténerét elrejtjük!

if(jQuery(".productcart input[type='radio']:nth(0)").is(':checked')){

jQuery(".productcart input[type='radio']:nth(0)").attr('checked',true);

}



jQuery(".pikpak_content").hide();



//
Szállítás kiválasztása

jQuery(".productcart input[type='radio']").change( function() {



var sz_id=jQuery(this).attr('id');/*Lekérdezzük, a szállítási mező id értékét*/

//console.log(cim);

//ha ez simple_shipping_4 , simple_shipping_5, simple_shipping_6, akkro pick pack!

if (sz_id=='simple_shipping_1' || sz_id=='simple_shipping_2' || sz_id=='simple_shipping_3' || sz_id=='simple_shipping_4' || sz_id=='simple_shipping_5' || sz_id=='simple_shipping_6' || sz_id=='simple_shipping_7' || sz_id=='simple_shipping_8'){

jQuery(".pikpak_content").show("slow");

//console.log("pick pack!");

}//if

else{

jQuery(".pikpak_content").hide("slow");

jQuery("#wpsc_checkout_form_13").val("Cím"); //cím -> textarea id je, ha nemn pick pack, akkor üres lesz a cím!

}//else



});

//



//
Pik pak lószuper hely kiválasztása

jQuery(document).on("change", ".pikpak_content input[type='radio']", function (event){

var cim=jQuery(this).attr('value');

cim += "n (A listából kiválaszott Pick Pack Pont címét másoltuk át ide)"

//console.log(cim);

jQuery("#wpsc_checkout_form_13").val(cim); //cím -> textarea id je

});



//



});//jQuery(dokument).ready













Tehát ha pic pack ot választ, akkor megjelenítjük a listát. Utána a kijelölt pick pack pont címét bemásoljuk a Postázási text mezőbe, az egész címet. Mintha valaki kézzel beírta volna, azzal egyenértékű, csak ezt javascript el másoljuk be.



Itt ugye az űrlap input mezőinek az id értékei szerinte figyelem, hogy épp melyik kiszállítási módot választja. Biztos, hoyg a Garvity által generált űrlapelemeinek is van id -je, vagy class-ja vagy ilyesmi, amire tudsz hivatkozni jquery-vel. (Kiválasztani)





Persze, fel lehetne turbózni, hogy ha kijelöli, akkor egy animált ablakban stb kiírja, hogy ok, ki lett választva, vagy minden plusz dologgal ki lehetne még, csak már ez is elég volt nekem bőven.



Meg lehetne rejtett mezőbe is tenni stb.


function LoadData(xml) {


var xmlDoc = createXmlDOMObject(xml);


jQuery(xmlDoc).find('county').each(function (index, item) {


var content = "
+
";


var name = jQuery(this).find('name').text();





content += name + "
";


jQuery(this).find('location').each(function (index2, item2) {


var locationname = jQuery(this).find('locationname').text();


content += "
+
" + locationname + "
"


content += "
";


jQuery(this).find('store').each(function (index3, item3) {


var title = jQuery(this).find('title').text();


var address = jQuery(this).find('address').text();


var type = jQuery(this).find('type').text();


var id = jQuery(this).find('id').text();


content += "
"


//with image


content += title + "

";


// no image


//content += title + "
";


//show boltkód


content += address + "
Boltkód: " + id;


//


Egyedi input mező





content += '

Ide kérem a szállítást!' + "
";


//





//no boltkód inside


//content += address + "
Boltkód: " + id + "
";


});


content += "
"


});








jQuery('#content').append(jQuery(content));


jQuery("#county" + index).bind('click', function (event) {


var actval = (jQuery(this).text());


if (actval == "+") {


jQuery.each(jQuery('.' + name.replace(' ', '')), function (key, option) {


jQuery(this).removeClass("nodisplay");


});


jQuery(this).text("-");


} else {


jQuery.each(jQuery('.' + name.replace(' ', '')), function (key, option) {


jQuery(this).addClass("nodisplay");


HideItem(jQuery(this));


});


jQuery(this).text("+");


}


});


});


}








Az űrlappal meg így hoztam össze:











jQuery(document).ready(function () {



//beállítjuk, hogy a legeső fizetési mód legyen bejelölve és a pikpak városok konténerét elrejtjük!

if(jQuery(".productcart input[type='radio']:nth(0)").is(':checked')){

jQuery(".productcart input[type='radio']:nth(0)").attr('checked',true);

}



jQuery(".pikpak_content").hide();



//
Szállítás kiválasztása

jQuery(".productcart input[type='radio']").change( function() {



var sz_id=jQuery(this).attr('id');/*Lekérdezzük, a szállítási mező id értékét*/

//console.log(cim);

//ha ez simple_shipping_4 , simple_shipping_5, simple_shipping_6, akkro pick pack!

if (sz_id=='simple_shipping_1' || sz_id=='simple_shipping_2' || sz_id=='simple_shipping_3' || sz_id=='simple_shipping_4' || sz_id=='simple_shipping_5' || sz_id=='simple_shipping_6' || sz_id=='simple_shipping_7' || sz_id=='simple_shipping_8'){

jQuery(".pikpak_content").show("slow");

//console.log("pick pack!");

}//if

else{

jQuery(".pikpak_content").hide("slow");

jQuery("#wpsc_checkout_form_13").val("Cím"); //cím -> textarea id je, ha nemn pick pack, akkor üres lesz a cím!

}//else



});

//



//
Pik pak lószuper hely kiválasztása

jQuery(document).on("change", ".pikpak_content input[type='radio']", function (event){

var cim=jQuery(this).attr('value');

cim += "n (A listából kiválaszott Pick Pack Pont címét másoltuk át ide)"

//console.log(cim);

jQuery("#wpsc_checkout_form_13").val(cim); //cím -> textarea id je

});



//



});//jQuery(dokument).ready













Tehát ha pic pack ot választ, akkor megjelenítjük a listát. Utána a kijelölt pick pack pont címét bemásoljuk a Postázási text mezőbe, az egész címet. Mintha valaki kézzel beírta volna, azzal egyenértékű, csak ezt javascript el másoljuk be.



Itt ugye az űrlap input mezőinek az id értékei szerinte figyelem, hogy épp melyik kiszállítási módot választja. Biztos, hoyg a Garvity által generált űrlapelemeinek is van id -je, vagy class-ja vagy ilyesmi, amire tudsz hivatkozni jquery-vel. (Kiválasztani)





Persze, fel lehetne turbózni, hogy ha kijelöli, akkor egy animált ablakban stb kiírja, hogy ok, ki lett választva, vagy minden plusz dologgal ki lehetne még, csak már ez is elég volt nekem bőven.



Meg lehetne rejtett mezőbe is tenni stb.








jQuery(document).ready(function () {





//beállítjuk, hogy a legeső fizetési mód legyen bejelölve és a pikpak városok konténerét elrejtjük!


if(jQuery(".productcart input[type='radio']:nth(0)").is(':checked')){


jQuery(".productcart input[type='radio']:nth(0)").attr('checked',true);


}





jQuery(".pikpak_content").hide();





//


Szállítás kiválasztása





jQuery(".productcart input[type='radio']").change( function() {





var sz_id=jQuery(this).attr('id');/*Lekérdezzük, a szállítási mező id értékét*/


//console.log(cim);


//ha ez simple_shipping_4 , simple_shipping_5, simple_shipping_6, akkro pick pack!


if (sz_id=='simple_shipping_1' || sz_id=='simple_shipping_2' || sz_id=='simple_shipping_3' || sz_id=='simple_shipping_4' || sz_id=='simple_shipping_5' || sz_id=='simple_shipping_6' || sz_id=='simple_shipping_7' || sz_id=='simple_shipping_8'){


jQuery(".pikpak_content").show("slow");


//console.log("pick pack!");


}//if


else{


jQuery(".pikpak_content").hide("slow");


jQuery("#wpsc_checkout_form_13").val("Cím"); //cím -> textarea id je, ha nemn pick pack, akkor üres lesz a cím!


}//else





});


//








//


Pik pak lószuper hely kiválasztása





jQuery(document).on("change", ".pikpak_content input[type='radio']", function (event){


var cim=jQuery(this).attr('value');


cim += "n (A listából kiválaszott Pick Pack Pont címét másoltuk át ide)"


//console.log(cim);


jQuery("#wpsc_checkout_form_13").val(cim); //cím -> textarea id je


});





//








});//jQuery(dokument).ready




















Tehát ha pic pack ot választ, akkor megjelenítjük a listát. Utána a kijelölt pick pack pont címét bemásoljuk a Postázási text mezőbe, az egész címet. Mintha valaki kézzel beírta volna, azzal egyenértékű, csak ezt javascript el másoljuk be.





Itt ugye az űrlap input mezőinek az id értékei szerinte figyelem, hogy épp melyik kiszállítási módot választja. Biztos, hoyg a Garvity által generált űrlapelemeinek is van id -je, vagy class-ja vagy ilyesmi, amire tudsz hivatkozni jquery-vel. (Kiválasztani)








Persze, fel lehetne turbózni, hogy ha kijelöli, akkor egy animált ablakban stb kiírja, hogy ok, ki lett választva, vagy minden plusz dologgal ki lehetne még, csak már ez is elég volt nekem bőven.





Meg lehetne rejtett mezőbe is tenni stb.

Azt a leborult! Nagyon jó fej vagy, hogy ilyen részletesen kifejtetted. Kösz szépen mégegyszer!

Kedves András!











Küldtem Neked PM-t. Kérlek nézz bele a levelesládádba!











Üdv!











Gábor