Die 5 wichtigsten Fragen und Antworten zu PrestaShop 2016, Teil 2

Posted On: Sep 17, 2018

Categories:

Tags: prestashop , fmemodules , frequent asked questions

Frage Nr. 1: Regeln für benutzerfreundliche URLs in PrestaShop

Wie kann ich Regeln definieren, um diese Links durch freundliche URLs in PrestaShop zu ersetzen, da in den folgenden URLs defekte Links vorhanden sind?

Ich möchte diese URL http://www.elektrojo.com/index.php?id_post=2&fc=module&module=nextblog&controller=nbpost in diese hier http://www.elektrojo.com/blog/2-second-blog

umwandeln

Außerdem sollen diese URLs SEO- und benutzerfreundlich werden

http://www.elektrojo.com/index.php?fc=module&module=nextblog&controller=nblog in http://www.elektrojo.com/blog

http://www.elektrojo.com/index.php?id_collection=1&fc=module&module=nextblog&controller=nbcollection zu http://www.elektrojo.com/blog/collection/1-test

http://www.elektrojo.com/index.php?year=2016&month=5&fc=module&module=nextblog&controller=nbarchive zu http://www.elektrojo.com/blog/archive/2016-5

Antwort Nr. 1: Es sieht so aus, als hätten Sie das Verzeichnis /blog/ im Domänenstamm leer gelassen. Sobald Sie das leere Verzeichnis entfernen oder umbenennen, werden die benutzerfreundlichen URLs einsatzbereit und funktionieren für Ihren Shop einwandfrei.

Frage Nr. 2: Fehler beim Suchen im Geschäft in alphabetischer Reihenfolge

Wenn ich etwas in das Suchfeld von PrestaShop eingebe, um Produkte zu finden, habe ich die Option, die Ergebnisse in alphabetischer Reihenfolge oder nach Preis anzuzeigen. Wenn ich eine Sortierreihenfolge auswähle, erhalte ich die Fehlermeldung „Seite nicht verfügbar“. Ich glaube, mit der URL stimmt etwas nicht, denn wenn ich „Ergebnisse nach Preis anzeigen“ auswähle, sieht die URL so aus:

buscar&search_query=game&submit_search=?orderby=price&orderway=asc&orderway=asc

wobei sie eigentlich lauten müsste:                 

buscar?search_query=game&submit_search=&orderby=price&orderway=asc&orderway=asc

Wie kann ich dieses Problem lösen?

Antwort Nr. 2: Solche Fehler treten auf, wenn ein Modul entweder die Dateien „override/classes/Link.php“ oder „override/controllers/front/SearchController.php“ Ihres Shops überschrieben hat. Um das Problem zu lösen, müssen Sie die Überschreibungen deaktivieren.

Deaktivieren Sie die Überschreibungen, indem Sie zu „Erweiterte Parameterleistung“ wechseln. Wählen Sie dort „Ja“ aus, um alle Überschreibungen zu deaktivieren. Weitere Informationen finden Sie im Bild unten.

Frage Nr. 3: Fehler bei der PrestaShop-Umleitung können nicht angezeigt werden

Ich entwickle ein Modul, das von einer API unterstützt wird, um den Benutzern bei der Erstellung eines Kontos in PrestaShop zu helfen. Die API wird mit einer Schaltfläche aktiviert, um eine URL aufzurufen, die zu meiner Website gehört. dadurch wird eine Funktion gestartet, mit der Benutzer sich für ein Konto anmelden können.

Wenn alle Informationen korrekt sind, funktioniert es gut, aber wenn ein Benutzer ein Konto erstellt, kann ein Fehler angezeigt werden.

Ich möchte Benutzer auf die Authentifizierungsseite umleiten, auf der ebenfalls Fehler angezeigt werden.

Ich habe es hiermit versucht 

$this->context->smarty->assign('account_error', $myErrors);
Tools::Umleitung('index.php?controller=authentication');

Die Umleitung funktioniert, aber die Fehler scheinen verloren zu sein.

Gibt es eine Möglichkeit, umzuleiten und die Fehler beizubehalten?

Danke

Antwort Nr. 3: Ehrlich gesagt können Sie nach dem Einrichten von Umleitungen keine Fehler mehr anzeigen, wohingegen Sie einen Controller zum Anzeigen von Fehlern verwenden können. Sie können auch Schaltflächen mit der Aufschrift „Fehler beheben“ verwenden, die Benutzer nach dem Anklicken auf eine autorisierte Seite weiterleiten.

Fügen Sie dies Ihrem Controller hinzu 

if (empty($email))
$this->errors[] = Tools::displayError('E-Mail ist leer.');

und in Ihrem tpl oben verwenden
{include-Datei="$tpl_dir./errors.tpl"}

Frage Nr. 4: Probleme beim Hinzufügen von Kategorien zu neuen Produkten in PrestaShop

Ich habe seit langem ein Problem und kann keine effektive Lösung finden. Es passiert, wenn ich mithilfe eines Produktobjekts neue Produkte zur Datenbank hinzufüge, sie aber nicht in eine Kategorie einordnen kann. Das Produkt wird ohne Probleme hinzugefügt, aber ich kann die Produkte keiner Kategorie zuordnen. 

$cat_ids = [];
foreach ($value['kat_naziv'] als $cat_val) {
$cat_ids[] = (int)$luceed->selectCategoryIds($cat_val)[$cat_val]['id_category'];
}

$product->id_category = 3;
$product->id_category_default = 3;

$product->speichern();

$product->addToCategories($cat_ids);

Die $cat_ids sind ein Array von Ganzzahlen, die ich aus der Datenbank habe, während ich den Namen als Parameter stehen lasse, um Kategorie-IDs auszuwählen;

Meine Frage ist, warum die neu hinzugefügten Produkte nicht in der Kategorie angezeigt werden, die ich dafür auswähle?

Antwort Nr. 4: Sobald Sie ein neues Produkt hinzufügen, können Sie es mithilfe des folgenden Codes mit Kategorien verknüpfen.

$product->updateCategories($category_array); 

wobei

$category_array = array("0" => "2", "1" => "3", "4" => "6"...... );

Frage 5: Hinzufügen einer Produktliste zu meinem PrestaShop-Shop

Hallo,           

Ich bin unerfahren im Verwalten eines PrestaShop-Shops deshalb habe ich Schwierigkeiten, eine Liste mit Stoffprodukten hinzuzufügen. Ich habe es mithilfe von zwei CSV-Dateien versucht (eine als Liste und die andere für eine Kombination von Produkten), aber es hat nicht funktioniert.

Für Produktimporte habe ich dies hinzugefügt

http://pvmag.ro/Fisiere-directoare/IMPORT%202%20-%20Copy.csv

und für Kombinationen habe ich dies versucht

http://pvmag.ro/Fisiere-directoare/combinations_import.csv

Wie kann ich das Problem beheben?

Antwort Nr. 5: Möglicherweise liegt der Fehler an fehlenden Feldtrennzeichen. Bitte stellen Sie sicher, dass die Trennzeichen für Felder und mehrere Werte mit der CVS-Datei übereinstimmen. Wir haben (;) als Feldtrennzeichen und (,) zum Trennen mehrerer Werte getestet und es hat gut funktioniert. Sie können es auch einfach mal ausprobieren.