Table of Contents
- Introduktion
- Hvorfor vise nyligt viste produkter?
- Trinvise proces til at hente nyligt viste produkter
- Fejlfinding af almindelige problemer
- Konklusion
- FAQ
Introduktion
Har du nogensinde spekuleret på, hvordan du kan forbedre brugeroplevelsen på din e-handelswebsted med Magento 2.2.2? Ved at vise kunderne deres nyligt viste produkter kan du markant forbedre interaktion og konverteringsrater. Denne blogpost vil guide dig om, hvordan du programmæssigt henter nyligt viste produkter i Magento 2.2.2, og give dig trinvise processer og indsigter, der gør denne funktion nem at implementere.
Det kan være ekstremt gavnligt at forstå, hvordan man programmæssigt henter nyligt viste produkter, især når der er behov for tilpasning ud over Magentos standardfunktionalitet. Ved slutningen af artiklen vil du kunne implementere kodeklip til at få vist nyligt viste produkter og forstå, hvordan dette kan tilpasses dine forretningsbehov.
Vi vil dække følgende:
- Hvorfor det er vigtigt at vise nyligt viste produkter.
- Trinvise proces til at hente nyligt viste produkter i Magento 2.2.2.
- Fejlfinding af almindelige problemer.
Lad os dykke ned i det!
Hvorfor vise nyligt viste produkter?
Visning af nyligt viste produkter kan dramatisk forbedre brugerinteraktion og øge salget. Denne funktion fungerer som en påmindelse om produkter, som brugerne har vist interesse for, og gør det nemmere for dem at genbesøge og eventuelt købe disse produkter. Her er nogle nøglefordele:
- Forbedret brugeroplevelse: Det forenkler indkøbsprocessen ved at lade brugerne hurtigt navigere tilbage til produkter, de nyligt har set.
- Øgede konverteringsrater: Jo mere en bruger ser et produkt, desto større er sandsynligheden for, at de vil købe det.
- Personlig shopping: Tilbyd en personlig shoppingoplevelse, som øger kundetilfredsheden.
Med disse fordele kan denne funktion være en spilskifter for din Magento-butik.
Trinvise proces til at hente nyligt viste produkter
1. Krav og opsætning
Inden du går i gang med koden, skal du sikre dig, at du har følgende forudsætninger:
- Magento 2.2.2 installeret og fungerende.
- Grundlæggende forståelse af Magento-modul- og skabelonfiler.
- Adgang til dit Magento-projekts filsystem for at tilføje eller ændre filer.
2. Kodeimplementering
For at hente nyligt viste produkter skal du importere visse klasser og bruge foruddefinerede metoder, der leveres af Magento. Nedenfor er en trinvise vejledning til implementering af denne funktion:
a. Opret en ny blok
Først skal du oprette en ny blokfil, hvor din brugerdefinerede kode skal placeres.
// app/code/YourNamespace/YourModule/Block/RecentlyViewed.php
namespace YourNamespace\YourModule\Block;
use Magento\Catalog\Block\Product\AbstractProduct;
use Magento\Reports\Model\ResourceModel\Product\CollectionFactory as ReportCollectionFactory;
use Magento\Catalog\Api\ProductRepositoryInterface;
use Magento\Framework\Data\Helper\PostHelper;
class RecentlyViewed extends AbstractProduct
{
protected $_reportCollectionFactory;
protected $_productRepository;
protected $_postDataHelper;
protected $_customerSession;
protected $_catalogSession;
public function __construct(
\Magento\Catalog\Block\Product\Context $context,
ReportCollectionFactory $reportCollectionFactory,
ProductRepositoryInterface $productRepository,
PostHelper $postDataHelper,
\Magento\Customer\Model\Session $customerSession,
\Magento\Catalog\Model\Session $catalogSession,
array $data = []
) {
$this->_reportCollectionFactory = $reportCollectionFactory;
$this->_productRepository = $productRepository;
$this->_postDataHelper = $postDataHelper;
$this->_customerSession = $customerSession;
$this->_catalogSession = $catalogSession;
parent::__construct($context, $data);
}
public function getRecentProducts($limit = 5)
{
$products = [];
$collection = $this->_reportCollectionFactory->create()
->addAttributeToSelect('*')
->setPageSize($limit)
->setCurPage(1);
foreach ($collection as $product) {
$products[] = $this->_productRepository->getById($product->getId());
}
return $products;
}
}
b. Opret en ny skabelonfil
Opret en ny skabelonfil til visning af de nyligt viste produkter.
<!-- app/code/YourNamespace/YourModule/view/frontend/templates/recently_viewed.phtml -->
<?php
$products = $block->getRecentProducts();
?>
<div class="recently-viewed-products">
<h2>Nyligt viste produkter</h2>
<ul>
<?php foreach ($products as $product): ?>
<li>
<a href="<?= $product->getProductUrl() ?>">
<img src="<?= $block->getImage($product, 'category_page_list')->getImageUrl() ?>" alt="<?= $product->getName() ?>">
<p><?= $product->getName() ?></p>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>
c. Opdater layoutfilen
Afslutningsvis skal du opdatere layout-XML-filen for at tilføje blokken til den ønskede side.
<!-- app/code/YourNamespace/YourModule/view/frontend/layout/catalog_product_view.xml -->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="content">
<block class="YourNamespace\YourModule\Block\RecentlyViewed" name="recently.viewed.products" template="YourNamespace_YourModule::recently_viewed.phtml"/>
</referenceContainer>
</body>
</page>
3. Tilpasningstips
Du kan tilpasse udseendet og funktionaliteten af nyligt viste produkter ved hjælp af følgende tips:
-
Justér antallet af produkter: I metoden
getRecentProductskan du ændre parameteren$limitfor at vise flere eller færre produkter. - Styling: Brug CSS til at style produktlisten efter behov. Dette vil forbedre brugergrænsefladen og gøre den mere visuelt tiltalende.
- Betinget logik: Implementer betinget logik for at kontrollere brugersessioner eller specifikke betingelser, før blokken vises.
Fejlfinding af almindelige problemer
Selvom du følger disse trin, kan der opstå nogle problemer. Her er nogle tips til fejlfinding af almindelige problemer:
-
Produkter vises ikke: Sørg for, at Full Page Cache er deaktiveret, eller konfigurer blokken til ikke at være cachebar:
<block class="YourNamespace\YourModule\Block\RecentlyViewed" cacheable="false" .../> - Fejl med dependency injection: Kontroller, at alle påkrævede afhængigheder er korrekt injiceret i blokkonstruktøren.
-
Magento-cache: Ryd Magento-cachen efter ændringer i konfigurationen for at sikre, at opdateringerne træder i kraft:
bin/magento cache:clean && bin/magento cache:flush
Konklusion
Integration af en funktion til visning af nyligt viste produkter i Magento 2.2.2 kan markant forbedre brugeroplevelsen på din e-handelswebsted og øge salget. Ved at følge trinnene i denne guide kan du programmæssigt hente og vise nyligt viste produkter, og tilbyde dine kunder en mere personlig og engagerende indkøbsoplevelse.
Bliv ved med at følge med for flere indsigter og tips til at optimere og tilpasse din Magento-butik for en beriget kundeoplevelse.
FAQ
Q1: Kan nyligt viste produkter caches?
- Ja, men det afspejler muligvis ikke altid realtidsdata. For at sikre nøjagtigheden skal blokken indstilles til ikke at kunne caches.
Q2: Hvordan kan jeg begrænse antallet af viste nyligt viste produkter?
- Rediger parameteren
$limitigetRecentProducts-metoden inden for blokklassen.
Q3: Er det muligt at vise nyligt viste produkter på flere sider?
- Ja, ved at tilføje blokken til de relevante layout XML-filer for de sider.
Q4: Kræver denne funktion yderligere udvidelser?
- Nej, dette kan opnås med indbygget Magento-funktionalitet og brugerdefineret kodning som beskrevet i denne vejledning.
Implementer dette i dag og oplev en forbedring i brugerinteraktionen og konverteringsraterne på din Magento-butik!