Wie füge ich Konsolenprotokolldaten in den WooCommerce-Warenkorb ein?
Lesezeit: 5 Minuten
Gruppe von Oceninfo
Ich verwende das Gadget eines Drittanbieters, in dem sie Live-Verfügbarkeit, Kosten und die Schaltfläche „Jetzt buchen“ bereitstellen. Wenn der Kunde auf die Schaltfläche „Jetzt buchen“ klickt, verwendet er sein Buchungs-Gadget, das ich ignorieren möchte.
Nachdem ich einige Google-Recherchen durchgeführt habe, kann ich den korrekten Titel und die korrekten Kosten in den Konsolenprotokollen abrufen, wenn einige auf die Schaltfläche „Jetzt buchen“ klicken.
Klicke auf buchen Sie jetzt Schaltfläche und sehen Sie sich das Konsolenprotokoll an, das den Wert von Titel und Preis zurückgibt, aber wie Sie den Konsolendatenwert in Popup-Schaltflächen wie auslösen KAUFE JETZT & ARTIKEL IN DEN WARENKORB HINZUFÜGEN.
Wenn der Benutzer auf klickt ARTIKEL IN DEN WARENKORB HINZUFÜGEN es fügt Daten hinzu /Warenkorbseite + Warenkorb und wenn jemand anklickt KAUFE JETZT Schaltfläche, es nimmt Daten und leitet den Benutzer weiter /Kasse Seite mit Titel und Preis der Konsole
Wenn Sie Fragen haben, lassen Sie es mich bitte wissen.
Ich verstehe es nicht.
– Reigel Gallarde
2. November 2017 um 3:03 Uhr
Öffnen Sie den Link und Sie sehen die Schaltfläche In den Warenkorb, diese Schaltfläche ist die Woocommerce-Schaltfläche. Nachdem Sie auf die Seite gescrollt haben, sehen Sie einige Änderungsdaten oder die Schaltfläche Jetzt buchen. Wenn Sie auf die Schaltfläche Jetzt buchen klicken, wird ein Popup geöffnet, das enthält Artikel in den Warenkorb legen und jetzt buchen. Wenn Sie also auf die Schaltfläche Jetzt buchen klicken, sehen Sie in den Konsolenprotokollen Titel und Preis. Ich möchte diesen Titel und Preis, wenn jemand im Popup-Fenster auf die Schaltfläche Artikel zum Warenkorb hinzufügen oder auf Jetzt buchen klickt. Also möchte ich diesen Gadget-Wert von Drittanbietern im Woocommerce-Warenkorb.
– Gruppe von Oceninfo
2. November 2017 um 6:39 Uhr
kann speichern item auf eine globale Variable und greifen Sie darauf zu, indem Sie auf die Schaltfläche “Element hinzufügen” klicken …
– Reigel Gallarde
2. November 2017 um 9:31 Uhr
Einfach, Sie müssen nur das Klickereignis der Schaltfläche „Element hinzufügen“ abonnieren und die Werte anzeigen. Können Sie uns sagen, wie das Plugin heißt, das Sie verwenden?
– Benutzer2924019
2. November 2017 um 17:06 Uhr
Ich habe es gefunden. Das Klickereignis, das Sie abonnieren möchten, ist cart.add.click. Sehen Sie sich an, welchen Code Sie in frontend.js haben, und erstellen Sie eine Kopie für cart.add.click. Die Werte sollten gleich sein.
– Benutzer2924019
2. November 2017 um 17:25 Uhr
Wie in dieser Antwort getan:
Erfassen von javascript console.log?
Möglicherweise können Sie das Konsolenprotokoll erfassen, wenn die Seite geladen wird, und basierend auf der Ausgabe Ereignisse auslösen.
(function(){
var oldLog = console.log;
console.log = function (message) {
if(message.indexOf("Price") !== -1){
var price = message.split(' ')[1]
// Do something with the price...
}
oldLog.apply(console, arguments);
};
})();
Möglicherweise müssen Sie etwas Kniffliges tun, da die Beschreibung und der Preis in zwei separaten Protokollen enthalten sind.
Ich kann Beschreibung und Preis auch in einem console.log zusammenführen, aber keine Ahnung, wie ich diese Daten in den Woocommerce-Warenkorb eingeben kann
– Gruppe von Oceninfo
7. November 2017 um 5:40 Uhr
Ach so, ich habe die Frage definitiv falsch verstanden. Könnten Sie für die Schaltfläche “Jetzt buchen” den Preis und den Titel mit URL-Parametern übergeben? window.location("/checkout?name=" + item[3].Name + "&price=" + item[3].Availability.Cost ) Oder wird die Checkout-Seite vollständig von Woocommerce verwaltet?
– nbwoodward
7. November 2017 um 11:13 Uhr
Ich habe das ausprobiert, aber es wird vollständig von WooCommerce verwaltet.
– Gruppe von Oceninfo
14. November 2017 um 7:17 Uhr
Vielen Dank für Ihre Unterstützung und Antwort. Nach viel Recherche habe ich mein Ergebnis mit dem folgenden Code erhalten.
Um das Endergebnis zu erzielen, muss ich das WC Fields Factory-Plugin installieren und den dynamischen Wert mithilfe des Konsolenprotokolls oder der Variablen def übergeben
Schritt 1: Verwenden Sie diesen Code unter der .js-Datei und stellen Sie sicher, dass er ausgelöst wird, wenn auf die Schaltfläche geklickt wird.
function.php-Code, um benutzerdefinierte Kostenwerte dynamisch zu erhalten.
/* Price Update Based On Plugin WC Field */
function calculate_cart_total( $cart_object ) {
$additionalPrice = 0;
foreach ( $cart_object as $key => $valueArray ) {
if(is_array($valueArray)) {
foreach ( $valueArray as $k => $value ) {
if($value['wccpf_cost']) {
$additionalPrice = $value['wccpf_cost']['user_val'];
}
}
}
}
foreach ( WC()->cart->get_cart() as $key => $value ) {
if( method_exists( $value['data'], "set_price" ) ) {
$value['data']->set_price( $additionalPrice );
} else {
$value['data']->price = ($additionalPrice );
}
}
}
add_action( 'woocommerce_before_calculate_totals', 'calculate_cart_total', 99 );
/* before addto cart, clear cart values */
add_filter( 'woocommerce_add_to_cart_validation', 'woo_custom_add_to_cart_before' );
function woo_custom_add_to_cart_before( $cart_item_data ) {
global $woocommerce;
$woocommerce->cart->empty_cart();
// Do nothing with the data and return
return true;
}
Unter WC Fields Factory habe ich room_type, date, nights, adult, children, infants, cost Felder angelegt und der Onclick-Wert wird entsprechend dynamisch abgeholt.
13343300cookie-checkWie füge ich Konsolenprotokolldaten in den WooCommerce-Warenkorb ein?yes
Ich verstehe es nicht.
– Reigel Gallarde
2. November 2017 um 3:03 Uhr
Öffnen Sie den Link und Sie sehen die Schaltfläche In den Warenkorb, diese Schaltfläche ist die Woocommerce-Schaltfläche. Nachdem Sie auf die Seite gescrollt haben, sehen Sie einige Änderungsdaten oder die Schaltfläche Jetzt buchen. Wenn Sie auf die Schaltfläche Jetzt buchen klicken, wird ein Popup geöffnet, das enthält Artikel in den Warenkorb legen und jetzt buchen. Wenn Sie also auf die Schaltfläche Jetzt buchen klicken, sehen Sie in den Konsolenprotokollen Titel und Preis. Ich möchte diesen Titel und Preis, wenn jemand im Popup-Fenster auf die Schaltfläche Artikel zum Warenkorb hinzufügen oder auf Jetzt buchen klickt. Also möchte ich diesen Gadget-Wert von Drittanbietern im Woocommerce-Warenkorb.
– Gruppe von Oceninfo
2. November 2017 um 6:39 Uhr
kann speichern
item
auf eine globale Variable und greifen Sie darauf zu, indem Sie auf die Schaltfläche “Element hinzufügen” klicken …– Reigel Gallarde
2. November 2017 um 9:31 Uhr
Einfach, Sie müssen nur das Klickereignis der Schaltfläche „Element hinzufügen“ abonnieren und die Werte anzeigen. Können Sie uns sagen, wie das Plugin heißt, das Sie verwenden?
– Benutzer2924019
2. November 2017 um 17:06 Uhr
Ich habe es gefunden. Das Klickereignis, das Sie abonnieren möchten, ist
cart.add.click
. Sehen Sie sich an, welchen Code Sie in frontend.js haben, und erstellen Sie eine Kopie für cart.add.click. Die Werte sollten gleich sein.– Benutzer2924019
2. November 2017 um 17:25 Uhr