Poolcorner

Aus Wikizone
Wechseln zu: Navigation, Suche

Installiert[Bearbeiten]

Domnowski[Bearbeiten]

EOS-Iframe[Bearbeiten]

Attribute_price_updater[Bearbeiten]

http://www.xtc-modified.org/forum/index.php?topic=2122.0



ATTRIBUTE PRICE UPDATER VERS 0.90 RC4 for XTC MODIFIED (c) by web28 - www.rpa-com.de

based on a script by D Parry (Chrome) 2007 (dan@virtuawebtech.co.uk)

FUNKTIONWEISE:

Der ATTRIBUTE PRICE UPDATER berechnet aus den Optionswerten per JavaScript den Gesamtpreis des Artikels


INSTALLATION - 3 files to edit, 4 file to copy:


1. EDIT includes/header.php

FIND '</head>' at ca. line 260 and ADDED before:

<?php if (strstr($PHP_SELF, FILENAME_PRODUCT_INFO )) {

   echo ('<link rel="stylesheet" type="text/css" href="' . 'templates/'.CURRENT_TEMPLATE.'/apu.css' . '" />');

require('includes/attribute_price_updater.js.php'); } ?>


2. EDIT includes/modules/product_attributes.php

FIND 'while ($products_options_name = xtc_db_fetch_array($products_options_name_query,true)) {'

at ca. line 36 and ADDED before:

//BOF ATTRIBUTE PRICE UPDATER $apu_js_var =; $apu_js_prices= ; $curr = $xtPrice->currencies[$xtPrice->actualCurr]; $decimal_places = $curr['decimal_places']; //needed for round

   $apu_js_curr = "var decimalPlaces=" . $decimal_places . "; \n";

$apu_js_curr.= "var decimalPoint ='" . $curr['decimal_point'] ."'; \n"; $apu_js_curr.= "var thousandPoint ='" . $curr['thousands_point'] ."'; \n"; $apu_js_curr.= "var currLeft ='" . $curr['symbol_left'] . "'; \n"; $apu_js_curr.= "var currRight ='" . $curr['symbol_right'] . "'; \n"; $apu_js_init = "var isPriceUpdater= 0; \n"; //EOF ATTRIBUTE PRICE UPDATER

FIND (the second entry before //if PRICE for option is 0 we don't need to display it): '$products_options_data[$row]['DATA'][$col] = array ('ID' => $products_options['products_options_values_id'], 'TEXT'...

and ADDED before:

//BOF ATTRIBUTE PRICE UPDATER

   $apu_js_var .= "apu_var[" . $products_options['products_options_values_id']  . "]='" . round($price,$decimal_places) . "|" . $products_options['price_prefix'] . "'; \n";

$apu_js_prices = "var basePrice=". $products_price ."; \n"; //EOF ATTRIBUTE PRICE UPDATER

FIND 'if ($product->data['options_template'] == or $product->data['options_template'] == 'default') {...

and ADDED before:

//BOF ATTRIBUTE PRICE UPDATER if ($_SESSION['customers_status']['customers_status_show_price'] != '0' && $xtPrice->checkAttributes($product->data['products_id']) != ) { $apu_js_init = "var isPriceUpdater= 1; \n"; } $module_smarty->assign('APU_INIT', $apu_js_init); $module_smarty->assign('APU_JS', $apu_js_var); $module_smarty->assign('APU_CURR', $apu_js_curr); $module_smarty->assign('APU_PRICES', $apu_js_prices); //EOF ATTRIBUTE PRICE UPDATER


3. EDIT lang/YOUR LANGUAGES/YOUR LANGUAGES.php

ADDED in your languages files - GERMAN EXAMPLE:

//ATTRIBUTE PRICE UPDATER define('UPDATER_PREFIX_TEXT', 'Ihre Auswahl: ');


4. COPY the file attribute_price_updater.js.php to the folder includes/

  COPY the file apu.css to the folder templates/YOURTEMPLATE/
  COPY the file product_options_dropdown_apu.html to the folder templates/YOURTEMPLATE/module/product_options
  COPY the file product_options_selection_apu.html to the folder templates/YOURTEMPLATE/module/product_options
  

5. Test the ATTRIBUTE_PRICE_UPDATER


6. SET/UNSET the DEBUG modus

OPEN the file attribute_price_updater.js.php

and set var _debug = false; to var _debug = true;

If all tests are ok, set it to false


7. CHANGE HTML OUTPUT OPEN the file attribute_price_updater.js.php

and find //HTML OUTPUT apuProductPrice

Edit the code


8. CHANGE PRICE UPDATE ON LOADING PAGE OPEN the file attribute_price_updater.js.php

and set var onloadPriceUpdate = false; to var onloadPriceUpdate = true;


9. Don't forget to chose one of the new ***_apu.html product_options template for your products.


That's all


Geändert Erweiterte Suche[Bearbeiten]

Hersteller entfernt

/templates/xtc5/module/advanced_search.html


Zeile 20 -23 auskommentiert

Geänderte Detailansicht[Bearbeiten]

vorletzte Zeile, Datum harausgenommen:


Google Analytics[Bearbeiten]

nach fogender Anleitung eingebaut: http://www.xtc-modified.org/wiki/Google_Analytics_datenschutzkonform_einbinden

1. Folgenden Code im Header "/includes/header.php" im Head-Bereich (wo ist eigentlich egal, Google empfiehlt vor dem schließenden head-tag) einbauen.

 <script type="text/javascript">
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-xxxxxxxx-x']); _gaq.push(['_gat._anonymizeIp']); _gaq.push(['_trackPageview']);
</script>

Damit steht er im Quelltext dort wo er hin soll, nämlich ganz oben.

2. Den asynchronen Funktionsaufruf für das eCommerce-Tracking unten in "/templates/xt5/module/checkout_success.html" einbinden und

   <script type="text/javascript">
       _gaq.push(['_addTrans',
           '{$oID}',
           'Name deines Shops',
           '{$VALUE}',
           '{$TAX}',
           '{$SHIPPING}',
           '{$CITY}',
           '{$STATE}',
           '{$COUNTRY}'
       ]);
       {foreach name=aussen item=order_values from=$order_data}
       _gaq.push(['_addItem',
           '{$oID}',
           '{$order_values.PRODUCTS_MODEL}',
           '{$order_values.PRODUCTS_NAME}',
           '{$order_values.CAT}',
           '{$order_values.PRODUCTS_SINGLE_PRICE}',
           '{$order_values.PRODUCTS_QTY}'
       ]);
       {/foreach}
       _gaq.push(['_trackTrans']); //submits transaction to the Analytics servers
   </script>

die checkout_success.php aus dem entsprechenden "e-commerce-analytics-xtcModified 1.0x.zip" Paket aus dem Thema ANLEITUNG: E-Commerce-Tracking mit Google Analytics ins root-Verzeichnis des Shops legen. Somit wird der Code bei erfolgtem Einkauf in der Mitte aufgerufen.

3. Damit der Rest des Codes am Seitenende geladen wird, muss in der "/templates/xt5/source/boxes.php" vor der Zeile:

 $smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');

folgendes geschrieben werden:

 $GOOGLE_ANALYTICS =
  '<script type="text/javascript">

    (function() {
      var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;
      ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';
      var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);
    })();

   </script>';
   $smarty->assign('GOOGLE_ANALYTICS', $GOOGLE_ANALYTICS);

4. Zum Schluss muss noch in der "/templates/xt5/index.html" ganz unten

 {$GOOGLE_ANALYTICS}

rein.

Nun sollte Google Analytics funktionieren.

Attribute werden nicht gespeichert[Bearbeiten]

in die htaccess im Root-vberzeichnis folgendes ergänzen:

php_value max_input_vars 6000

Klarna eingebunden am 07.01.2013[Bearbeiten]

Kopieren Sie bitte in ihre /includes/modules/product_info.php in Zeile 68 nach

if ($product->data['products_fsk18'] == '1') {

$info_smarty->assign('PRODUCTS_FSK18', 'true'); }

folgenden Text

//Edit Klarna

if (MODULE_PAYMENT_PCKREDITOR_DE_PRODUCTLEVEL == 'True' && MODULE_PAYMENT_PCKREDITOR_DE_STATUS == 'True')
{
include DIR_WS_CLASSES . 'kreditor_lang.php';
require_once DIR_WS_CLASSES . 'kreditor.php';
global $KRED_ISO3166_DE;
$lang_month = KREDITOR_LANG_INFO_DE_PAYMENTTEXT2_EACH;
$lang_from = KREDITOR_LANG_INFO_DE_PARTPAYMENT_FROM;
$fee = 195;
$rate = 1495;
$cc = $KRED_ISO3166_DE;
$level = MODULE_PAYMENT_PCKREDITOR_DE_MINLIMIT;
$maximum = MODULE_PAYMENT_KREDITOR_DE_ORDER_LIMIT;
 $products_price = $xtPrice->xtcGetPrice($product->data['products_id'], $format = true, 1, $product->data['products_tax_class_id'], $product->data['products_price'], 1);
monthly_cost($products_price['plain']*100, $rate, 24, $fee, 1, $cc, $result);


if (($level*100) < "1390")
{
  $level = 13.90;
}
if ($products_price['plain'] >= $level)
 {
    $pc = number_format(round($result/100),0) . " " . '€';
    if ($pc < 6.95)
   {
       $pc = 6.95. " " . '€';
   }

$info_smarty->assign('PRODUCT_KLARNA_RATE','<img src="images/klarna_icon.png" alt="" style="cursor:default" />
'.'Ab '. $pc ." ". $lang_month . '
'.MODULE_PAYMENT_PCKREDITOR_INFO_KLARNA.'</a>');

       } }
// End edit Klarna

und fügen Sie bitte in /templates/"ihre verwendetes Template/module/product_info/product_info_v1.html in Zeile 28 nach

{if $PRODUCTS_VPE}{$PRODUCTS_VPE}{/if} 

folgende Zeile ein


{$PRODUCT_KLARNA_RATE}


Dann noch die ganzen Dateien eingespielt.