–Hidden comment

Use attributes in format region_from and region_to= to change the languages showing in language switcher.
Available regions are:
europe_from europe_to
asia_from asia_to
mideast_from mideast_to
america_from america_to

Example:
europe_from=0 europe_to=22 will put all languages (ordered in language switcher settings) from 1 to 21 to Europe region:
asia_from=22 asia_to=25 will put all languages from 23 to 24 (so only 2) into Asia region.

  • Integrationen
  • Interspire Shopping Cart (speziell für Google Checkout)

Interspire Shopping Cart (speziell für Google Checkout)

Eine funktionsreiche Warenkorb-Software, die alles enthält, was Sie brauchen, um Ihren Onlinestore zu erstellen, zu leiten und zu bewerben.

Diese Integrationsmethode hilft Ihnen, Post Affiliate Pro mit Interspire Shopping Cart 6.0+ für den Fall zu integrieren, dass Kunden nicht auf die Interspire-Dankesseite zurückgeleitet werden, nachdem sie mit Google Checkout bezahlt haben.

Wofür ist dieses Skript gedacht?

Diese Einrichtung wurde erstellt, um Produkte, die in Interspire Shopping Cart bestellt und mit Google Checkout bezahlt wurden, zu tracken. Das Skript sendet jedes bestellte Produkt als separaten Verkauf oder den gesamten Warenkorb als einen Verkauf an PAP4. Für das Verkaufstracking wird PAP API verwendet.

Das Feld visitorId in der Vorlage ProductAddToCart einfügen

Bearbeiten Sie die Datei /templates/__master/Snippets/ProductAddToCart.html
(wenn sie in einer eigenen Vorlage bearbeitet wurde, ist sie in dem Verzeichnis: /templates/[used template]/Snippets/)

Fügen Sie diese Zeile:

<input value="" name="product-private-data" type="hidden" id="pap_dx8vc2s5">

nach dieser Zeile in dem Formular ein:

<input type="hidden" name="currency_id" value="" />

und fügen Sie am Ende der Formularmarkierung “” dies ein:

<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/notifysale.php" type="text/javascript">
</script>

Der Code unten zeigt die gesamte ProductAddToCart.html-Datei nach den Änderungen:

%%GLOBAL_AddToCartButtonControlScript%%
<form method="post" action="%%GLOBAL_CartLink%%" onsubmit="return check_add_to_cart(this, %%GLOBAL_ProductOptionRequired%%)"  enctype="multipart/form-data">
	<input type="hidden" name="action" value="add" />
	<input type="hidden" name="product_id" value="%%GLOBAL_ProductId%%" />
	<input type="hidden" name="variation_id" class="CartVariationId" value="" />
	<input type="hidden" name="currency_id" value="" />
	<input value="" name="product-private-data" type="hidden" id="pap_dx8vc2s5">
	<div class="ProductDetailsGrid ProductAddToCart">
		%%SNIPPET_ProductFieldsList%%
		<div class="ProductOptionList">
			%%SNIPPET_VariationList%%
		</div>
		%%SNIPPET_EventDate%%
		<div class="DetailRow" style="display: %%GLOBAL_DisplayAdd%%">
			<div class="Label QuantityInput" style="display: %%GLOBAL_DisplayAddQty%%">%%LNG_QuantityFull%%:</div>
			<div class="Value AddCartButton">
				<span class="FloatLeft" style="display: %%GLOBAL_DisplayAddQty%%;">
					%%GLOBAL_AddToCartQty%%
				</span>
				<div class="BulkDiscount">
					%%GLOBAL_AddToCartButtonOptimizerScriptTag%%
						<input type="image" src="%%GLOBAL_IMG_PATH%%/%%GLOBAL_SiteColor%%/AddCartButton.gif" alt="Interspire Shopping Cart (speziell für Google Checkout)"/>
					%%GLOBAL_AddToCartButtonOptimizerNoScriptTag%%
					<div class="BulkDiscountLink" style="display: %%GLOBAL_HideBulkDiscountLink%%;">
						<a href="#" onclick="$.iModal({data: $('#ProductDetailsBulkDiscountThickBox').html(), width: 600}); return false;">
							%%LNG_BulkDiscountLink%%
						</a>
					</div>
				</div>
			</div>
		</div>
	</div>
</form>

<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/notifysale.php" type="text/javascript">
</script>

<div class="OutOfStockMessage">
	%%SNIPPET_SideAddItemSoldOut%%
</div>

%%GLOBAL_ProductBulkDiscountThickBox%%

<script type="text/javascript">
lang.OptionMessage = "%%GLOBAL_OptionMessage%%";
lang.VariationSoldOutMessage = "%%LNG_VariationSoldOutMessage%%";
lang.InvalidQuantity = "%%LNG_InvalidQuantity%%";
lang.EnterRequiredField = "%%LNG_EnterRequiredField%%";
lang.InvalidFileTypeJS = "%%LNG_InvalidFileTypeJS%%";
var ShowAddToCartQtyBox = "%%GLOBAL_ShowAddToCartQtyBox%%";
</script>
%%GLOBAL_EventDateJavascript%%

Bearbeiten Sie alle Vorlagedateien, in denen ein “In den Warenkorb legen”-Link verwendet wird. Fügen Sie das Attribut id=”affCookieLinkId” in der Markierung <a> in <div class=”ProductActionAdd”> hinzu.

Fügen Sie in dem Klick-Trackingcode:

PostAffTracker.writeCookieToLink('affCookieLinkId', 'product-private-data');

nach dieser Zeile ein:

PostAffTracker.track();

Der Code unten zeigt das Ergebnis:

<div class="ProductActionAdd" style="display:%%GLOBAL_HideActionAdd%%;">
		<a href="%%GLOBAL_ProductURL%%" id="affCookieLinkId">%%GLOBAL_ProductAddText%%</a>
</div>

Liste der Dateien, die Sie in directory /templates/__master/Snippets/ bearbeiten müssen:

  • BrandProductsItem.html
  • CategoryProductsItem.html
  • HomeFeaturedProductsItem.html
  • HomeNewProductsItem.html
  • HomeSaleProductsItem.html
  • ProductVendorsOtherProductsItem.html
  • SearchResultProductGrid.html
  • SideCategoryNewProducts.html
  • SideCategoryPopularProducts.html
  • SideCategoryTopSellers.html
  • SideNewProducts.html
  • SideRecentlyViewedProducts.html
  • SideTopSellers.html
  • SideTopSellersFirst.html
  • TagProductsItem.html
  • VendorFeaturedItemsItem.html
  • VendorProductsItem.html

Bearbeitung der Datei class.cart.api.php

Bearbeiten Sie die Datei /includes/classes/class.cart.api.php.

Suchen Sie nach der Zeile:

public function AddItem

und fügen Sie am Ende der Parameter den neuen Parameter $productPrivateData=null ein.

Es soll so aussehen:

public function AddItem($productId, $quantity=1, $variationDetails=null, $configurableOptions=array(), $cartItemId=null, $options=array(), $parentId=null, $reorder=false, $productPrivateData=null)

Suchen Sie als Nächstes nach cartProduct array (Zeile 1319):

    $cartProduct = array(
            'product_id' => $productId,
            'variation_id' => $variation,
            'options' => $variationOptions,
            'quantity' => $quantity,
            'product_name' => $product['prodname'],
            'product_code' => $productCode,
            'product_price' => $productPrice,
            'original_price' => $originalPrice,
            'default_currency' => $defaultCurrency['currencyid'],
            'customer_group' => $customerGroup,
        );

Fügen Sie hier dies ein:

product_private_data' => $productPrivateData

Es soll so aussehen:

$cartProduct = array(
            'product_id' => $productId,
            'variation_id' => $variation,
            'options' => $variationOptions,
            'quantity' => $quantity,
            'product_name' => $product['prodname'],
            'product_code' => $productCode,
            'product_price' => $productPrice,
            'original_price' => $originalPrice,
            'default_currency' => $defaultCurrency['currencyid'],
            'customer_group' => $customerGroup,
            'product_private_data' => $productPrivateData
        );

Bearbeitung der Datei class.cart.php

Bearbeiten Sie die Datei /includes/classes/class.cart.php.

Suchen Sie nach der Zeile:

$cartItemId = $this->api->AddItem($product_id, $qty, $variation, $configurableFields, null, $options, null, false);

Ändern Sie dies:

$cartItemId = $this->api->AddItem($product_id, $qty, $variation, $configurableFields, null, $options, null, false, $productPrivateData);

und fügen Sie vorher dies ein:

  $productPrivateData = '';
            if(isset($_REQUEST['product-private-data'])) {
                $productPrivateData = $_REQUEST['product-private-data'];
            }

Nach den Änderungen soll es so aussehen:

                        ...
                        ...
				$options['EventName'] = $eventName;
			}

			$productPrivateData = '';
			if(isset($_REQUEST['product-private-data'])) {
				$productPrivateData = $_REQUEST['product-private-data'];
			}

			// Actually add the product to the cart
			$cartItemId = $this->api->AddItem($product_id, $qty, $variation, $configurableFields, null, $options, null, false, $productPrivateData);
			$this->newCartItem = $cartItemId;

			if($cartItemId === false) {
                        ...
                        ...

Einfügen des Verkaufstrackingcodes in der Datei class.handler.php in googlecheckout method

Bearbeiten Sie die Datei /modules/checkout/googlecheckout/class.handler.php.

Suchen Sie nach diesem Code in der Zeile 925:

	if (!$completed) {
			$GLOBALS['ISC_CLASS_LOG']->LogSystemError($this->logtype, sprintf(GetLang('GoogleCheckoutCantCompleteOrder'), isc_html_escape($pendingToken), isc_html_escape(var_export($completed, true))));
			return;
		}

Fügen Sie den nächsten Code direkt darunter ein:

		include 'PapApi.class.php';
		$saleTracker = new Pap_Api_SaleTracker('URL_TO_PostAffiliatePro/scripts/sale.php');
		$prod_count = '1'; // Product Counter

		foreach($cartContent[$vendorId][0] as $cartItemId => $product) {
		    $productid = $product['data']['productid'];
		    $productPrivateData = $product['product_private_data'];

		    $price = $product['quantity'] * $product['product_price'];

		    if (strlen($productPrivateData) == 40) {
			  $accountId = substr($productPrivateData, 0, 8);
			  $visitorId = substr($productPrivateData, 8, 32);
		    } else {
			  $visitorId = $productPrivateData;
			  $accountId = 'default1';
		    }

		    $saleTracker->setAccountId($accountId);
		    $saleTracker->setCookieValue($visitorId);

		    $sale = $saleTracker->createSale();
		    $sale->setTotalCost($price);
		    $sale->setOrderID($order['orderid'] . "($prod_count)");
		    $sale->setProductID($productid);
		    $saleTracker->register();
		    $prod_count++;
		}

Diese Trackingmethode verwendet PAP API. Deshalb muss Ihre PapApi.class.php-Datei sich in dem Verzeichnis /modules/checkout/googlecheckout/ befinden.

(Sie finden sie in dem Verkäuferpanel > Start > Tools > Integration > API-Integration > PAP API herunterladen).

Zurück zu Integrationen KOSTENLOSES Konto erstellen

    Unsere Webseite verwendet Cookies. Durch die Nutzung nehmen wir Ihre Genehmigung an, Cookies einzusetzen, wie festgelegt in unserer Datenschutz- und Cookie-Richtlinie.

    ×

    Vereinbaren Sie einen persönlichen Anruf und entdecken Sie, wie Post Affiliate Pro Ihrem Unternehmen helfen kann.

    Wir sind an mehreren Tagen verfügbar

    Einen Anruf vereinbaren