–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.

  • Integracje
  • Interspire Shopping Cart (szczególnie dla Google Checkout)

Interspire Shopping Cart (szczególnie dla Google Checkout)

Bogate w funkcje oprogramowanie dla Twojego koszyka zakupowego, które zawiera wszystko, czego potrzebujesz, aby rozpocząć, uruchomić i promować swój sklep internetowy.

Ta metoda integracji pomoże Ci zintegrować Post Affiliate Pro z Interspire Shopping Cart 6.0+ w przypadku, gdy klienci nie powracają na stronę z podziękowaniami od Interspire po dokonaniu płatności za pomocą Google Checkout.

Do czego służy ten skrypt?

Ta konfiguracja została stworzona do śledzenia produktów zamówionych w InterspireShopping Cart i zapłaconych za pomocą Google Checkout. Ten skrypt umieszcza każdy inny zamówiony produkt jako oddzielną sprzedaż do PAP4 lub traktuje cały koszyk jako jedną sprzedaż. Do śledzenia sprzedaży używane jest API od PAP.

Dodanie pola visitorId do szablonu ProductAddToCart

Edytuj plik /templates/__master/Snippets/ProductAddToCart.html
(jeśli zmieniłeś go we własnym szablonie, znajduje się on w katalogu: /templates/[used template]/Snippets/)

Dodaj ten wiersz do formularza:

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

po nim:

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

i po zakończeniu tagu formularza “” dodaj:

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

Poniższy kod pokazuje cały plik ProductAddToCart.html po zmianach:

%%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 (szczególnie dla 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%%

Dodawanie parametru visitorId do linków Add To Cart

Edytuj wszystkie pliki szablonów, w których użyty jest link add to cart. Dodaj atrybut id=”affCookieLinkId” do tagu <a> w <div class=”ProductActionAdd”>.

I do kodu śledzenia kliknięć dodaj:

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

po tym:

PostAffTracker.track();

Poniższy kod pokazuje, że po zmianach:

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

Lista plików, które należy edytować w katalogu /templates/__master/Snippets/:

  • 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

Edit file class.cart.api.php

Edytuj plik /includes/classes/class.cart.api.php.

Znajdź wiersz:

public function AddItem

i dodaj na końcu parametrów nowy parametr $productPrivateData=null.

Będzie to wyglądało tak:

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

Następnie znajdź tablicę cartProduct (wiersz 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,
        );

dodaj tam

product_private_data' => $productPrivateData

będzie to wyglądało tak

$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
        );

Edytuj plik class.cart.php

Edytuj plik /includes/classes/class.cart.php.

Znajdź wiersz:

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

zmień go:

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

I dodaj to przed nim:

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

Po zmianach będzie wyglądał tak:

                        ...
                        ...
				$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) {
                        ...
                        ...

Dodaj kod śledzenia sprzedaży do pliku class.handler.php w metodzie googlecheckout

Edytuj plik /modules/checkout/googlecheckout/class.handler.php.

Znajdź ten kod w okolicach wierszu 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;
		}

dodaj kolejny kod tuż poniżej:

		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++;
		}

Ta metoda śledzenia używa PAP API. Dlatego musisz mieć swój rzeczywisty plik PapApi.class.php w katalogu /modules/checkout/googlecheckout/.

(Możesz go pobrać ze swojego panelu sprzedawcy > start > narzędzia > integracja > integracja api > pobierz API PAP).

Powrót do Integracji Załóż konto za DARMO

Our website uses cookies. By continuing we assume your permission to deploy cookies as detailed in our polityka prywatności i plików cookie.

×

Umów się na indywidualną rozmowę i dowiedz się, jakie korzyści Post Affiliate Pro może przynieść Twojej firmie.

Jesteśmy dostępni w wielu terminach

Umów się na rozmowę