Plentymarkets Individueller Bestellvorgang - Bug bei Eingabe der E-Mail Adresse

Gibt der Kunde während des Bestellvorgangs in Plentymarkets unter Kundendaten im Feld E-Mail Adresse und im Feld E-Mail Adresse bestätigen seine E-Mailadresse mit Großbuchtstaben im Domainnamen ein (Bsp: ****@T-online.de), wird diese E-Mail Adresse bei der Prüfung durch den Shop als ungültig deklariert. Das kann zu Frust beim Kunden mit darauf folgenden Kaufabbruch führen. Schließlich geht es an dieser Stelle nicht weiter und ein Hinweiss was nun genau nicht passt fehlt auch.

Abhilfe schaffen folgende Zeilen Javascript:

<script>
$(document).on('blur', "#registrationEmail, #registrationEmailRepeat", function () {
$(this).val(function (_, val) {
return val.toLowerCase();
});
});
</script>

Einfach unter Checkout > CheckoutCustomerInvoiceAddress am Ende einfügen. Jetzt werden die Eingaben des Kunden automatisch in das passende Format in Kleinbuchstaben gewandelt.

Zu kompliziert?
Doch lieber durch uns einbauen lassen?

Kein Problem! Melden Sie sich einfach bei uns.

 


Plentymarkets - Paypal Plus im individuellen Checkout integrieren.

Sie wollen das neue Paypal PLUS alsz Zahlungsart in Ihren Plentyshop mit individuellen Checkout integrieren?

Ausgehend vom Callisto Light 3 Standartlayout bietet Plentymarkets im Handbuch eine brauchbare Anleitung um die Zahlunsgsart im Webshop zu integrieren.
Damit die ganze Einbindung dann im Webshop auch wirklich funktioniert, fügen Sie im Bereich Kasse (Handbuch - Kapitel 5.4 Kasse anpassen) den Beispielcode aus dem Handbuch als Listenelemente hinzu.

Suchen Sie auf der selben Seite nach

<!-- STEP 3: Shipping & Payment -->
{% $_id = CheckoutStepPageID(6) %}
<div class="container" data-plenty-checkout-id="shipping-payment" id="checkoutPanelShippingPayment" aria-labelledby="checkoutTabShippingPayment" role="tabpanel" data-plenty-checkout-content="$_id">
{% CategoryContentBody($_id) %}
</div>

<!-- STEP 4: Overview & Confirmation -->
{% $_id = CheckoutStepPageID(7) %}
<div class="container" data-plenty-checkout-id="confirm" id="checkoutPanelConfirm" aria-labelledby="checkoutTabConfirm" role="tabpanel" data-plenty-checkout-content="$_id">
{% CategoryContentBody($_id) %}
</div>

und ersetzen dies durch

 

    <!-- STEP 3: Shipping -->
{% $_id = CheckoutStepPageID(6) %}
<div class="container" data-plenty-checkout-id="shipping" id="checkoutPanelShipping" aria-labelledby="checkoutTabShipping" role="tabpanel" data-plenty-checkout-content="$_id">
{% CategoryContentBody($_id) %}
</div>
<!-- STEP 4: Payment -->
{% $_id = CheckoutStepPageID(7) %}
<div class="container" data-plenty-checkout-id="payment" id="checkoutPanelPayment" aria-labelledby="checkoutTabPayment" role="tabpanel" data-plenty-checkout-content="$_id">
{% CategoryContentBody($_id) %}
</div>
<!-- STEP 5: Overview & Confirmation -->
{% $_id = CheckoutStepPageID(8) %}
<div class="container" data-plenty-checkout-id="confirm" id="checkoutPanelConfirm" aria-labelledby="checkoutTabConfirm" role="tabpanel" data-plenty-checkout-content="$_id">
{% CategoryContentBody($_id) %}
</div>

danach folgen Sie wieder dem Handbuch von Plentymarkets.

Zu kompliziert?
Doch lieber durch uns einbauen lassen?

Kein Problem! Melden Sie sich einfach bei uns.


Plentymarkets - Rabatt für Zahlungsart im individuellen Checkout darstellen.

Wollen Sie den in der Kundenklasse definierten Rabatt auf die Zahlunsgart im indivudellen Checkout bei der Auswahl der Zahlungsart als Ersparniss in Zahlen darstellen, ersetzen Sie im Template "CheckoutMethodsOfPayment" folgende Zeile

 

<span class="pull-right">{% FormatMonetaryValue($_payment->MethodOfPaymentPrice, false, false) %} $CurrencySign</span>

 

durch

 

{% if $_payment->MethodOfPaymentID == 0  && $CustomerClass=="3" %}
{% $_saving = $BasketTotalSeperatorComma/100*3; %}
<span class="pull-right bold">-$_saving $CurrencySign</span>
{% else %}
<span class="pull-right">{% FormatMonetaryValue($_payment->MethodOfPaymentPrice, false, false) %} $CurrencySign</span>
{% endif %}

 

Dieses Beispiel stellt für die Kundenklasse 3 (Standart Endkunde) bei der Zahlungsart Vorkasse (ID=0) den Rabatt von 3% als Betrag dar.

Die Zahl hinter MethodOfPaymentID in Zeile 1 steht für die Abfrage der ID Ihrer Zahlunsgart.
Die Zahl hinter CustomerClass in Zeile 1 steht für die Abfrage der ID Ihrer Kundenklasse.

Diese müssen Sie entsprechend anpassen.
Zeile 2 errechnet die Ersparniss für den Kunden. Tragen Sie hier einfach die entsprechenden Prozente als Zahl ein.

..oder doch nur die Prozente Anzeigen lassen? Dann definieren Sie einfach die Variable "$_saving" neu

{% $_saving = 3; %}

und ersetzen $CurrencySign durch ein % Zeichen.

Nicht wirklich dynamisch aber besser als nichts ;)

 

 

Zu kompliziert?
Doch lieber durch uns einbauen lassen?

Kein Problem! Melden Sie sich einfach bei uns.


Plentymarkets - 5 Sterne für die Bewertung vorausgewählt.

Plentymarkets bietet die Möglichkeit Artikel durch den Kunden bewerten zu lassen. Diese Funktion wird im Template "ItemViewSingleItem" mittels

{% if $_allowNewRating %}
{% Container_FormItemFeedback($ID) %}
{% endif %}

zur Verfügung gestellt. Standartmäßig ist bei der Auswahl der Bewertungssterne der kleinste Wert (1 Stern) vorausgewählt.

Weniger schön.

Abhilfe schaffen folgende Zeilen Javascript die diesen Zustand ändern und ab sofort 5 Sterne als Vorauswahl darstellen.

<script>

$(document).ready(function(){
$("#ItemRatingIconContainerTop>img").attr("src", '/images/icons/silk/star_set_5_5.png').attr('alt', '5');
$(".PlentyFormItemFeedbackRatingSelect>input").attr('value', '5');
});

</script>

Einfach nach {% Container_FormItemFeedback($ID) %} einfügen. Speichern. Fertig.

Zu kompliziert?
Doch lieber durch uns einbauen lassen?

Kein Problem! Melden Sie sich einfach bei uns.


Artikelgewicht in Gramm genau angeben

Die Shopsysteme XT:Commerce 3.04 / XTC Modified lassen standartmäßig beim Anlegen eines Produkts im Adminbereich die Eingabe des Artikelgewichts nur in 10 Gramm Schritten zu.
Soll mit Grammgenauen Artikelgewichten gearbeitet werden, hilft nur ein Eingriff in die Datenbankstruktur der Shopsysteme.

Das Artikelgewicht wird in der Datenbank in der Tabelle "products" im Feld "products_weight" gespeichert. Eine Änderung der Länge von 5,2 auf 5,3 schafft nun die Möglichkeit das Artikelgewicht Grammgenau eingeben zu können.

Eine vorherige Datensicherung ist wie bei jedem Eingriff in die Shopdatenbank zu empfehlen.


XT:Commerce Cross Selling Artikel anlegen vereinfacht

Das Anlegen von Cross Selling Artikeln in XT:Commerce / XTC:Modified kann bei größeren Artikelstämmen schon recht beschwerlich werden. Gibt es in den Artikelkategorien des Adminbereichs noch eine Möglichkeit, alle Elemente mit einmal zu markieren, existiert diese Möglichkeit beim Anlegen der Cross Selling Artikel einfach nicht.

Abhilfe schafft folgender Lösungsansatz:

Datei admin/inlcudes/javascript/categories.js

am Ende einfügen

[testimonial]function checkAll(field) { for (i = 0; i < field.length; i++) field[i].checked = true ; }
function uncheckAll(field) { for (i = 0; i < field.length; i++) field[i].checked = false ; }[/testimonial]

Datei admin/includes/modules/cross_selling.php

ca. Zeile 67 suchen nach

[testimonial]echo xtc_draw_form('cross_selling', FILENAME_CATEGORIES, '', 'GET', '');[/testimonial]
und ersetzen durch

[testimonial]echo xtc_draw_form('product_search', FILENAME_CATEGORIES, '', 'GET', 'id="cross_check_top"');[/testimonial]

ca. Zeile 160 suchen nach

[testimonial]echo xtc_draw_form('product_search', FILENAME_CATEGORIES, '', 'GET');[/testimonial]
und ersetzen durch

[testimonial]echo xtc_draw_form('product_search', FILENAME_CATEGORIES, '', 'GET', 'id="cross_check"');[/testimonial]
ca. Zeile 76 suchen nach

[testimonial]<table width="100%" border="0">
<tr>
<td width="1%"><?php echo HEADING_DEL; ?></td>
<td width="4%"><?php echo HEADING_SORTING; ?></td>
<td width="5%"><?php echo HEADING_GROUP; ?></td>
<td width="15%"><?php echo HEADING_MODEL; ?></td>
<td width="34%"><?php echo HEADING_NAME; ?></td>
<td width="42%"><?php echo HEADING_CATEGORY; ?></td>
</tr>[/testimonial]

davor einfügen

[testimonial]<input type="button" name="selectall" value="Alle" OnClick="checkAll(document.getElementById('cross_check_top')['ids[]']) " />
<input type="button" name="selectall" value="Keine" OnClick="uncheckAll(document.getElementById('cross_check_top')['ids[]']) " /> [/testimonial]
ca. Zeile 172 suchen nach

[testimonial]<table width="100%" border="0">
<tr>
<td width="9%"><?php echo HEADING_ADD; ?></td>
<td width="10%"><?php echo HEADING_GROUP; ?></td>
<td width="10%"><?php echo HEADING_MODEL; ?></td>
<td width="34%"><?php echo HEADING_NAME; ?></td>
<td width="42%"><?php echo HEADING_CATEGORY; ?></td>
</tr>[/testimonial]

davor einfügen

[testimonial]<input type="button" name="selectall" value="Alle" OnClick="checkAll(document.getElementById('cross_check')['ids[]']) " />
<input type="button" name="selectall" value="Keine" OnClick="uncheckAll(document.getElementById('cross_check')['ids[]']) " />[/testimonial]

Voila. Ab sofort stehen 2 Button zum Markieren / Demarkieren aller Auswahlcheckboxen zur verfügung.

Backup der geänderten Dateien natürlich nicht vergessen.

 


Aktuelle URL im XT:C Template verwenden

Soll im Template des XT:Commerce basierenden Onlineshop beispielsweise die Kommentarfunktion von Facebook eingebunden werden, benötigt man hierfür die URL der aktuellen Seite.

Einfach und problemlos bietet sich die Verwendung der Smarty-Variablen {$smarty.server.SERVER_NAME} und {$smarty.server.REQUEST_URI} an.

Nun lässt sich die aktuelle URL an Facebook via

[testimonial]data-href="http://{$smarty.server.SERVER_NAME}{$smarty.server.REQUEST_URI}"[/testimonial]

übergeben.


Titel für die Suchergebnisse in XT:Commerce

Standartmäßig ist - warum auch immer - bei der Darstellung der Suchergebnisse in XT:Commerce keine Überschrift im Template vorhanden. Schnelle Abhilfe schafft hier eine Abfrage nach dem übergebenen Suchbegriff.

XT:Commerce verwendet für die Darstellung der Suchergebnisse die gleiche Datei im Template wie für die Darstellung der normalen Produktauflistung. Also einfach im Template die Datei product_listing_v1.html editieren und im Abschnitt für die Kategorieüberschrift ({$CATEGORIES_NAME}) folgenden Code anfügen

[testimonial]{php}if ($_GET['keywords']==true){{/php} Suchergebniss für: {php} echo $_GET['keywords']{/php} {php}}{/php}[/testimonial]

Somit ist zumindest in deutschsprachigen Onlineshops schonmal eine Lösung gefunden.

Für mehrsprachige Shops empfiehlt es sich, die jeweilige Sprachdatei

- für Deutsch die Datei lang/german/lang_german.conf - - für Englisch die Datei lang/english/lang_english.conf -

im Bereich [index] um folgendes zu erweitern:

[testimonial]text_search_results = 'Ergebnisse Ihrer Suche'[/testimonial]

bzw. für die Englische Sprache.

[testimonial]text_search_results = 'Your search results'[/testimonial]

und dann im Template diese Version einzufügen.

[testimonial]{php}if ($_GET['keywords']==true){{/php} {#text_search_results#}: {php} echo $_GET['keywords']{/php} {php}}{/php}[/testimonial]

Die individuelle Ausgestaltung an die eigenen Layoutbedürfnisse ist dann jedem selbst überlassen.


XT:Commerce Abfrage für Startseite im Template

Für einige Onlineshop-Projekte basierend auf XT:Commerce / XTC:Modified ist es manchmal notwendig, bestimmte Inhalte dem zukünftigen Shopbesucher nur auf der Startseite vom Onlineshop zu präsentieren. Eine einfache und wirksame Lösung für das Template-System bietet folgende Abfrage ob eine Produkt-ID, eine Hersteller-ID oder eine Kategoriepfad vorhanden ist:

[testimonial]

{php}if (eregi('index.php',$_SERVER['PHP_SELF']) && !$_GET['products_id'] && !$_GET['manufacturers_id'] && !$_GET['cPath']){{/php} Inhalt der Startseite {php}}else{{/php} Sonst wird das angezeigt. {php}}{/php}

[/testimonial]

Einfach den Code in die index.html vom Template packen und nach den eigenen Anforderungen ausgestalten.