Top 5 PrestaShop-vragen en -antwoorden van 2016, deel 2

Posted On: Sep 17, 2018

Categories:

Tags: prestashop , fmemodules , seo

Vraag nr. 1: Regels voor vriendelijke URL's in PrestaShop

Hoe kan ik regels definiëren om deze links te vervangen door vriendelijke URL's in PrestaShop, omdat er kapotte links in de volgende URL's staan?

Ik wil deze URL http://www.elektrojo.com/index.php?id_post=2&fc=module&module=nextblog&controller=nbpost converteren naar deze http://www.elektrojo.com/blog/2-second-blog

Ook moeten deze URL's SEO- en gebruiksvriendelijk worden

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

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

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

Antwoord nr. 1: het lijkt erop dat u de map /blog/ leeg hebt gelaten in de root van het domein. Zodra u de lege map verwijdert of hernoemt, worden de vriendelijke URL's operationeel en werken ze prima voor uw winkel.

Vraag nr. 2: foutmelding bij het zoeken in een winkel op alfabetische volgorde

Wanneer ik iets in het zoekvak van PrestaShop typ om producten te vinden, krijg ik de optie om resultaten op alfabetische volgorde of op prijsvolgorde weer te geven. Wanneer ik een sorteervolgorde selecteer, krijg ik de foutmelding 'Pagina niet beschikbaar'. Ik denk dat er iets mis is met de URL, want wanneer ik resultaten op prijs weergeven selecteer, ziet de URL eruit als

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

terwijl het                 

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

Hoe kan ik dit probleem oplossen?

Antwoord nee. 2: dergelijke fouten treden op wanneer een module de bestanden "override/classes/Link.php" of "override/controllers/front/SearchController.php" van uw winkel heeft overschreven. Om het probleem op te lossen, moet u de overrides uitschakelen.

Schakel de overrides uit door naar Advance Parametersperformance te gaan. Selecteer daar 'Ja' en alle overrides worden uitgeschakeld. Raadpleeg de onderstaande afbeelding voor meer informatie.

Vraag nr. 3: Fouten in PrestaShop-omleiding kunnen niet worden weergegeven

Ik ben bezig met het ontwikkelen van een module die wordt aangestuurd door een API om gebruikers te helpen een account in PrestaShop aan te maken. De API is ingeschakeld met een knop om een ​​URL aan te roepen die bij mijn website hoort. dit start een functie waarmee gebruikers zich kunnen registreren voor een account.

Wanneer alle informatie correct is, werkt het goed, maar wanneer kan er een fout worden weergegeven wanneer een gebruiker een account aanmaakt.

Ik wil gebruikers doorverwijzen naar de authenticatiepagina die ook fouten weergeeft.

Ik heb het geprobeerd met dit 

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

De redirect werkt, maar de fouten lijken verloren te gaan.

Is er een manier om te redirecten en de fouten te behouden?

Bedankt

Antwoord nr. 3: Eerlijk gezegd kun je geen fouten meer weergeven nadat je redirects hebt ingesteld, terwijl je een controller kunt gebruiken om fouten weer te geven. U kunt ook overwegen om knoppen te gebruiken met de tekst 'Fouten oplossen', die gebruikers naar een geautoriseerde pagina leiden zodra ze erop klikken.

Voeg dit toe aan uw controller 

if (empty($email))
$this->errors[] = Tools::displayError('E-mail is leeg.');

en in uw tpl gebruik in top
{include bestand="$tpl_dir./errors.tpl"}

Vraag nr. 4: Problemen bij het toevoegen van categorieën aan nieuwe producten in PrestaShop

Ik heb al een tijdje een probleem en kan geen effectieve oplossing vinden. Het gebeurt wanneer ik nieuwe producten aan de database toevoeg met behulp van een productobject, maar ze niet in een categorie kan classificeren. Het product wordt zonder problemen toegevoegd, maar ik kan de producten niet aan een categorie koppelen. 

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

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

$product->save();

$product->addToCategories($cat_ids);

De $cat_ids is een array van gehele getallen die ik uit de database heb gehaald, terwijl ik name als parameter laat staan ​​om categorie-ID's te kiezen;

Mijn vraag is waarom de nieuw toegevoegde producten worden niet weergegeven in de categorie die ik ervoor selecteer?

Antwoord nr. 4: Zodra u een nieuw product toevoegt, kunt u het koppelen aan categorieën met behulp van de volgende code.

$product->updateCategories($category_array); 

waar

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

Vragen 5: Een lijst met producten toevoegen aan mijn PrestaShop-winkel

Hallo,

Ik ben naïef in het beheren van een PrestaShop-winkel, daarom heb ik moeite met het toevoegen van een lijst met stoffen producten. Ik heb het geprobeerd met behulp van twee CSV-bestanden (één als lijst en de andere voor een combinatie van producten), maar het werkte niet.

Voor productimporten heb ik dit toegevoegd

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

en voor combinaties heb ik dit geprobeerd

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

Hoe los ik het probleem op?

Antwoord nr. 5: Mogelijk is de fout het ontbreken van veldscheidingstekens. Zorg ervoor dat de scheidingstekens voor veld- en meervoudige waarden overeenkomen met het CVS-bestand. We hebben (;) getest als veldscheidingsteken en (,) voor het scheiden van meervoudige waarden, en het werkte goed. U kunt het ook proberen.