Innholdsfortegnelse
- Introduksjon
- Hvorfor vise nylig viste produkter?
- Trinnvis prosess for å hente nylig viste produkter
- Feilsøking vanlige problemer
- Konklusjon
- Ofte stilte spørsmål
Introduksjon
Har du noen gang lurt på hvordan du kan forbedre brukeropplevelsen på Magento 2.2.2-nettbutikken din? Ved å vise brukerne deres nylig viste produkter kan du betydelig forbedre engasjementet og konverteringsfrekvensene. Denne bloggposten vil guide deg gjennom hvordan du kan programmert hente nylig viste produkter i Magento 2.2.2 og gi deg trinnvise instruksjoner og innsikt som gjør det enkelt å implementere denne funksjonen.
Å forstå hvordan du henter nylig viste produkter programmert kan være utrolig nyttig, spesielt når tilpasningsfunksjonalitet er nødvendig utover Magento's standardkapabiliteter. Ved slutten av denne artikkelen vil du være i stand til å implementere kodefragmenter for å få nylig viste produkter, og forstå hvordan dette kan tilpasses etter dine forretningsbehov.
Vi vil dekke følgende:
- Hvorfor det er viktig å vise nylig viste produkter.
- Trinnvis prosess for å hente nylig viste produkter i Magento 2.2.2.
- Feilsøking vanlige problemer.
La oss dykke inn!
Hvorfor vise nylig viste produkter?
Ved å vise nylig viste produkter kan du dramatisk forbedre brukerengasjementet og øke salget. Denne funksjonen fungerer som en påminnelse om produkter brukere har vist interesse for, og gjør det enklere for dem å gå tilbake og potensielt kjøpe disse produktene. Her er noen viktige fordeler:
- Forbedret brukeropplevelse: Det forenkler kjøpsprosessen ved å la brukere raskt navigere tilbake til produkter de nylig har sett.
- Økte konverteringsfrekvenser: Jo mer en bruker ser et produkt, desto større sannsynlighet er det for at de vil kjøpe det.
- Personlig tilpasset shopping: Å tilby en personlig tilpasset handleopplevelse øker kundetilfredsheten.
Med disse fordelene kan integrasjon av denne funksjonen i Magento-butikken din utgjøre en stor forskjell.
Trinnvis prosess for å hente nylig viste produkter
1. Krav og oppsett
Før du går inn i koden, må du sørge for at du har følgende forutsetninger:
- Magento 2.2.2 installert og kjører.
- Grunnleggende forståelse av Magento-modul- og malfiler.
- Tilgang til Magento-prosjektets filsystem for å legge til eller endre filer.
2. Kodeimplementering
For å hente nylig viste produkter, må du importere visse klasser og bruke forhåndsdefinerte metoder som Magento tilbyr. Nedenfor er en trinnvis guide for å implementere denne funksjonen:
a. Opprett en ny blokk
Først opprett en ny blokkfil der den tilpassede koden din vil være.
// 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. Opprett en ny mal
Opprett deretter en ny mal for å vise de nylig viste produktene.
<!-- app/code/YourNamespace/YourModule/view/frontend/templates/recently_viewed.phtml -->
<?php
$products = $block->getRecentProducts();
?>
<div class="recently-viewed-products">
<h2>Nylig 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. Oppdater layoutfilen
Til slutt, oppdater layout XML for å legge til blokken i ønsket 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 utseendet og funksjonaliteten til nylig viste produkter ved å bruke følgende tips:
-
Justere antall produkter: I metoden
getRecentProductskan du endre$limit-parameteren for å vise flere eller færre produkter. - Styling: Bruk CSS til å style produktlisten som du ønsker. Dette vil forbedre brukergrensesnittet og gjøre det mer visuelt tiltalende.
- Betinget logikk: Implementer betinget logikk for å sjekke brukersesjoner eller spesifikke betingelser før blokken vises.
Feilsøking vanlige problemer
Selv om du følger trinnene kan du støte på noen problemer. Her er hvordan du feilsøker vanlige problemer:
-
Produkter vises ikke: Sørg for at Full Page Cache er deaktivert eller konfigurer blokken til å være ikke-cachebar:
<block class="YourNamespace\YourModule\Block\RecentlyViewed" cacheable="false" .../> - Injeksjonsfeil: Sjekk at alle nødvendige avhengigheter blir injisert korrekt i blokkens konstruktør.
-
Magento-cache: Tøm Magento-cachen etter å ha gjort konfigurasjonsendringer for å sikre at oppdateringene blir implementert:
bin/magento cache:clean && bin/magento cache:flush
Konklusjon
Integrering av en funksjon for nylig viste produkter i Magento 2.2.2 kan betydelig forbedre brukeropplevelsen på nettbutikken din og øke salget. Ved å følge trinnene som er beskrevet i denne veiledningen, kan du programmert hente og vise nylig viste produkter, og tilby kundene dine en mer personlig og engasjerende handleopplevelse.
Følg med for mer innsikt og tips om optimalisering og tilpasning av Magento-butikken din for en rikere kundeopplevelse.
Ofte stilte spørsmål
Q1: Kan nylig viste produkter cache lagres?
- Ja, men det gjenspeiler kanskje ikke alltid sanntidsdata. For å sikre nøyaktighet, sett blokken til å være ikke-cachebar.
Q2: Hvordan kan jeg begrense antall nylig viste produkter som vises?
- Endre
$limit-parameteren igetRecentProducts-metoden innenfor blokklassen.
Q3: Er det mulig å vise nylig viste produkter på flere sider?
- Ja, ved å legge til blokken i relevante layout XML-filer for disse sidene.
Q4: Krever denne funksjonen noen ekstra utvidelser?
- Nei, dette kan oppnås med innebygde Magento-funksjonaliteter og tilpasset koding slik som beskrevet i denne veiledningen.
Implementer dette i dag og se forbedring i brukerinteraksjon og konverteringsfrekvenser i Magento-butikken din!