Integrationsleitfaden
Dieser Leitfaden hilft Ihnen bei der Integration von FelAIProductAdvisor in Ihren Shopware-Shop.
Grundlegende Integration
Der häufigste Weg zur Integration von FelAIProductAdvisor ist die Verwendung der bereitgestellten Twig-Funktionen in Ihren Templates.
Produktdetailseite
Um Empfehlungen zu Ihrer Produktdetailseite hinzuzufügen, fügen Sie den folgenden Code zu Ihrem Template hinzu:
{% block page_product_detail_content %}
{{ parent() }}
<div class="product-recommendations">
<h2>Das könnte Ihnen auch gefallen</h2>
{{ fel_ai_product_advisor_recommendations(page.product.id, 4) }}
</div>
{% endblock %}
Kategorieseite
Um Empfehlungen zu Ihrer Kategorieseite hinzuzufügen, fügen Sie den folgenden Code zu Ihrem Template hinzu:
{% block element_product_listing_wrapper_content %}
{{ parent() }}
{% if page.listing.aggregations.manufacturer %}
<div class="category-recommendations">
<h2>Beliebt in dieser Kategorie</h2>
{{ fel_ai_product_advisor_category_recommendations(page.header.navigation.active.id, 4) }}
</div>
{% endif %}
{% endblock %}
Warenkorbseite
Um Empfehlungen zu Ihrer Warenkorbseite hinzuzufügen, fügen Sie den folgenden Code zu Ihrem Template hinzu:
{% block page_checkout_cart_cross_selling %}
{{ parent() }}
<div class="cart-recommendations">
<h2>Häufig zusammen gekauft</h2>
{{ fel_ai_product_advisor_cart_recommendations(4) }}
</div>
{% endblock %}
Erweiterte Integration
Benutzerdefiniertes Empfehlungs-Widget
Sie können ein benutzerdefiniertes Empfehlungs-Widget mit spezifischen Parametern erstellen:
{{ fel_ai_product_advisor_custom_recommendations({
'productId': page.product.id,
'limit': 4,
'algorithm': 'hybrid',
'minConfidence': 0.7,
'excludeCategories': [categoryId1, categoryId2],
'template': '@FelAIProductAdvisor/storefront/recommendation/slider.html.twig'
}) }}
Benutzerdefinierte Templates
Sie können benutzerdefinierte Templates für Ihre Empfehlungen erstellen. Erstellen Sie eine Datei in Ihrem Theme:
custom/plugins/YourTheme/src/Resources/views/storefront/fel-ai-product-advisor/recommendation/custom.html.twig
Mit folgendem Inhalt:
{% block fel_ai_product_advisor_recommendation_custom %}
<div class="custom-recommendation-slider">
<div class="row">
{% for product in products %}
<div class="col-md-3">
<div class="card">
<img src="{{ product.thumbnailUrl }}" class="card-img-top" alt="{{ product.name }}">
<div class="card-body">
<h5 class="card-title">{{ product.name }}</h5>
<p class="card-text">{{ product.price|currency }}</p>
<a href="{{ product.url }}" class="btn btn-primary">Produkt ansehen</a>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endblock %}
Dann verwenden Sie es in Ihrem Template:
{{ fel_ai_product_advisor_custom_recommendations({
'productId': page.product.id,
'template': '@YourTheme/storefront/fel-ai-product-advisor/recommendation/custom.html.twig'
}) }}
Programmatische Integration
Sie können den Empfehlungsservice auch programmatisch in Ihren Controllern oder Services verwenden:
<?php
namespace YourPlugin\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use FelAIProductAdvisor\Service\RecommendationService;
class YourController extends AbstractController
{
private $recommendationService;
public function __construct(RecommendationService $recommendationService)
{
$this->recommendationService = $recommendationService;
}
/**
* @Route("/your-custom-page", name="your_custom_page", methods={"GET"})
*/
public function index(): Response
{
$productId = '12345';
$recommendations = $this->recommendationService->getRecommendations($productId, 5, [
'algorithm' => 'hybrid',
'minConfidence' => 0.7
]);
return $this->render('@YourPlugin/storefront/page/custom.html.twig', [
'recommendations' => $recommendations
]);
}
}