Language switcher

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

  • Integrációk
  • Interspire bevásárlókosár (különösen a Google Checkout-hoz)

Interspire bevásárlókosár (különösen a Google Checkout-hoz)

Funkciókban gazdag bevásárlókosár-szoftver, amely mindent tartalmaz, amire szüksége van az online áruház elindításához, futtatásához és népszerűsítéséhez.

Ez az integrációs módszer segít integrálni a Post Affiliate Pro-t az Interspire Shopping Cart 6.0+ verziójával arra az esetre, ha az ügyfelek a Google Checkout-tal történő fizetés után nem jelennek meg az Interspire köszönőoldalán.

Mire való ez a forgatókönyv?

Ez a beállítás az InterspireShopping Cart szolgáltatásban megrendelt és a Google Checkout-tal fizetett termékek nyomon követésére jött létre. Ez a szkript az az, hogy minden egyes megrendelt terméket külön eladásként a PAP4-re vagy a teljes kosárba egy akcióként tesz közzé. Eladó nyomkövető PAP API nyomkövetést használunk.

VisitorId mező hozzáadása a Termék kosárba tétele sablonhoz

Fájl szerkesztése /templates/__master/Snippets/ProductAddToCart.html (ha megváltoztatta a saját sablonban, akkor a könyvtárban van: /templates/[used template]/Snippets/)

Adja hozzá ezt a sort az űrlaphoz:

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

sor után:

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

és az űrlap vége “” címke után adja hozzá:

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

Az alábbi kód a teljes ProductAddToCart.html fájlt mutatja a változtatások után:

%%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 bevásárlókosár (különösen a Google Checkout-hoz)"/>
					%%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%%

VisitorId paraméter hozzáadása a Kosárba helyezés hivatkozásokhoz

Szerkessze az összes sablonfájlt, ahol a kosárba helyezés hivatkozás szerepel. Adja hozzá az id=”affCookieLinkId” attribútumot a <a> <div class=”ProductActionAdd”>  címkéjéhez.

És a kattintáskövető kódhoz adja hozzá:

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

sor után:

PostAffTracker.track();

Az alábbi kód azt mutatja, hogy a változtatások után:

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

A könyvtárban a fájlok listája, amelyeket szerkeszteni kell: /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

Fájl szerkesztése /includes/classes/class.cart.api.php.

Sor keresése:

public function AddItem

és adjon hozzá új paramétert a paraméterek végéhez $productPrivateData=null.

Így fog kinézni:

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

Ezután keresse meg a cartProduct tömböt (1319. sor):

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

adja hozzá:

product_private_data' => $productPrivateData

így fog kinézni:

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

Fájl szerkesztése class.cart.php

Fájl szerkesztése /includes/classes/class.cart.php.

Sor keresése:

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

változtassa meg így:

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

És előtte adja hozzá ezt:

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

A változások után így fog kinézni:

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

Adja hozzá az értékesítés követő kódját a class.handler.php fájlhoz a googlecheckout metódusban

Fájl szerkesztése /modules/checkout/googlecheckout/class.handler.php.

Keresse meg ezt a kódot a 925. sor körül:

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

adja hozzá a következő kódot közvetlenül alább:

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

Ez a nyomkövetési módszer PAP API-t használ. Ezért a tényleges PapApi.class.php fájlnak a /modules/checkout/googlecheckout/ könyvtárban kell lennie.

(Letöltheti a kereskedői panelről > start > eszközök > integráció > api integráció > PAP API letöltése).

Vissza az integrációkhoz Hozzon létre fiókot INGYEN

Weboldalunk cookie-kat használ. A folytatással feltételezzük, hogy Ön hozzájárulását adja a cookie-k telepítéséhez, ahogyan azt a mi részletezzük adatvédelmi és cookie-kra vonatkozó szabályzat.

×

Egyeztessen le egy személyes hívást, és fedezze fel, hogy a Post Affiliate Pro milyen előnyökkel járhat vállalkozása számára.

Több időpontban is elérhetőek vagyunk

Hívás lefoglalása