Skip to content

Commit

Permalink
Fix tncid on wrong recommendation requests
Browse files Browse the repository at this point in the history
  • Loading branch information
ah-net committed Oct 10, 2023
1 parent 60399bb commit 32285b4
Show file tree
Hide file tree
Showing 7 changed files with 437 additions and 2 deletions.
55 changes: 55 additions & 0 deletions Controller/Ajax/FeaturedRecommendation.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php

namespace Tweakwise\Magento2Tweakwise\Controller\Ajax;

use Magento\Framework\App\Action\Action;
use Magento\Framework\App\Action\Context;
use Magento\Framework\Controller\Result\JsonFactory;
use Tweakwise\Magento2Tweakwise\Exception\ApiException;
use Tweakwise\Magento2Tweakwise\Model\Catalog\Product\Recommendation\Context as RecommendationsContext;
use Tweakwise\Magento2Tweakwise\Model\Client;
use Tweakwise\Magento2Tweakwise\Model\Client\RequestFactory;
use Tweakwise\Magento2Tweakwise\Model\Client\RequestFactory\Recommendations\FeaturedRequest;

/**
* Class Navigation
* Handles ajax filtering requests for category pages
* @package Tweakwise\Magento2Tweakwise\Controller\Ajax
*/
class FeaturedRecommendation extends Action
{
/**
* @var RecommendationsContext
*/
protected $recommendationsContext;

/**
* @var JsonFactory
*/
private JsonFactory $jsonFactory;

public function __construct(Context $context, JsonFactory $jsonFactory, RecommendationsContext $recommendationsContext)
{
parent::__construct($context);
$this->jsonFactory = $jsonFactory;
$this->recommendationsContext = $recommendationsContext;
}

public function execute()
{
$json = $this->resultFactory->create('json');
$this->recommendationsContext->configureRequest();

$result = [];
try {
$response = $this->recommendationsContext->getResponse();
} catch (ApiException $e) {
if (!$e->getCode() == 404) {
throw $e;
}
}

$json->setData(['data' => $result]);
return $json;
}
}
19 changes: 19 additions & 0 deletions Model/Catalog/Product/Recommendation/Context.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

namespace Tweakwise\Magento2Tweakwise\Model\Catalog\Product\Recommendation;

use Magento\Catalog\Model\Category;
use Tweakwise\Magento2Tweakwise\Model\Client;
use Tweakwise\Magento2Tweakwise\Model\Client\Request\Recommendations\FeaturedRequest;
use Tweakwise\Magento2Tweakwise\Model\Client\RequestFactory;
Expand Down Expand Up @@ -163,4 +164,22 @@ public function setRequest(FeaturedRequest $request) {
$this->response = null;
$this->request = $request;
}

/**
* @param $request
*/
public function configureRequest()
{
$category = $this->_coreRegistry->registry('current_category');
if ($category instanceof Category) {
$templateId = $this->templateFinder->forCategory($category, Config::RECOMMENDATION_TYPE_FEATURED);
if (!$templateId) {
$templateId = $this->config->getRecommendationsTemplate(Config::RECOMMENDATION_TYPE_FEATURED);
}
} else {
$templateId = $this->config->getRecommendationsTemplate(Config::RECOMMENDATION_TYPE_FEATURED);
}

$this->request->setTemplate($templateId);
}
}
2 changes: 1 addition & 1 deletion Model/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ protected function createHttpRequest(Request $tweakwiseRequest): HttpRequest
$path = $tweakwiseRequest->getPath();
$pathSuffix = $tweakwiseRequest->getPathSuffix();

if ($tweakwiseRequest instanceof Request\Recommendations\FeaturedRequest) {
if ($path === "recommendations/featured") {
if ($this->config->getRecommendationsFeaturedCategory()) {
$tweakwiseRequest->setCategory();
}
Expand Down
11 changes: 11 additions & 0 deletions etc/di.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
<preference for="Tweakwise\Magento2Tweakwise\Model\Catalog\Layer\Url\CategoryUrlInterface" type="Tweakwise\Magento2Tweakwise\Model\Catalog\Layer\Url\Strategy\QueryParameterStrategy" />

<preference for="Magento\LayeredNavigation\Block\Navigation\State" type="Tweakwise\Magento2Tweakwise\Block\LayeredNavigation\Navigation\State" />
<!--<preference for="Magento\Catalog\Block\Product\AbstractProduct" type="Tweakwise\Magento2Tweakwise\Block\product\AbstractProduct" />-->
<preference for="Tweakwise\Magento2Tweakwise\Model\FilterFormInputProvider\FilterFormInputProviderInterface" type="Tweakwise\Magento2Tweakwise\Model\FilterFormInputProvider\EmptyInputProvider" />

<!-- Frontend plugins -->
Expand Down Expand Up @@ -282,6 +283,11 @@
<argument name="recommendationsContext" xsi:type="object" shared="false">Tweakwise\Magento2Tweakwise\Model\Catalog\Product\Recommendation\Context\Featured</argument>
</arguments>
</type>
<type name="Tweakwise\Magento2Tweakwise\Controller\Ajax\FeaturedRecommendation">
<arguments>
<argument name="recommendationsContext" xsi:type="object" shared="false">Tweakwise\Magento2Tweakwise\Model\Catalog\Product\Recommendation\Context\Featured</argument>
</arguments>
</type>
<type name="Tweakwise\Magento2Tweakwise\Block\Catalog\Product\ProductList\Upsell\Plugin">
<arguments>
<argument name="context" xsi:type="object">Tweakwise\Magento2Tweakwise\Model\Catalog\Product\Recommendation\Context\Product\Upsell</argument>
Expand Down Expand Up @@ -387,6 +393,11 @@
<argument name="type" xsi:type="string">Tweakwise\Magento2Tweakwise\Model\Client\Request\FacetAttributeRequest</argument>
</arguments>
</virtualType>
<virtualType name="Tweakwise\Magento2Tweakwise\Model\Client\RequestFactory\FeatureRequest" type="Tweakwise\Magento2Tweakwise\Model\Client\RequestFactory">
<arguments>
<argument name="type" xsi:type="string">Tweakwise\Magento2Tweakwise\Model\Client\Request\FeatureRequest</argument>
</arguments>
</virtualType>
<virtualType name="Tweakwise\Magento2Tweakwise\Model\Client\RequestFactory\Catalog\SortTemplateRequest" type="Tweakwise\Magento2Tweakwise\Model\Client\RequestFactory">
<arguments>
<argument name="type" xsi:type="string">Tweakwise\Magento2Tweakwise\Model\Client\Request\Catalog\SortTemplateRequest</argument>
Expand Down
10 changes: 9 additions & 1 deletion view/frontend/layout/catalog_category_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,15 @@
<block class="Tweakwise\Magento2Tweakwise\Block\Catalog\Product\ProductList\Featured"
name="tweakwise.catalog.product.featured.before"
ifconfig="tweakwise/recommendations/featured_enabled"
template="Magento_Catalog::product/list/items.phtml">
template="Tweakwise_Magento2Tweakwise::product/list/items.phtml">
<arguments>
<argument name="type" xsi:type="string">new</argument>
</arguments>
</block>
<block class="Tweakwise\Magento2Tweakwise\Block\Catalog\Product\ProductList\Featured"
ifconfig="tweakwise/recommendations/featured_enabled"
template="Tweakwise_Magento2Tweakwise::product/list/ajax.items.phtml"
cacheable="false">
<arguments>
<argument name="type" xsi:type="string">new</argument>
</arguments>
Expand Down
9 changes: 9 additions & 0 deletions view/frontend/templates/product/list/ajax.items.phtml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<div id="ajax-items" class="ajax-items">
whooot
</div>

<script>
require(["jquery"], function ($) {
console.log('dfsfdsfsd');
});
</script>

0 comments on commit 32285b4

Please sign in to comment.