Magentp 2 Issue Observer Calling only One Time when Get Search Term Using Observer Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Facing issue with catalogsearch_query table when using Magento searchMagento 2.3 Can't view module's front end page output?how to get welcome Email when creating customer using custom API in magento 2

Can I throw a longsword at someone?

How to say 'striped' in Latin

What do I do if technical issues prevent me from filing my return on time?

Replacing HDD with SSD; what about non-APFS/APFS?

Sorting inherited template fields

Determine whether or not the following series converge.

Estimate capacitor parameters

What can I do if my MacBook isn’t charging but already ran out?

How does modal jazz use chord progressions?

How to colour the US map with Yellow, Green, Red and Blue to minimize the number of states with the colour of Green

Antler Helmet: Can it work?

Slither Like a Snake

Determine whether f is a function, an injection, a surjection

What loss function to use when labels are probabilities?

Is there a service that would inform me whenever a new direct route is scheduled from a given airport?

What is the electric potential inside a point charge?

Why does this iterative way of solving of equation work?

How can I make names more distinctive without making them longer?

Need a suitable toxic chemical for a murder plot in my novel

How is simplicity better than precision and clarity in prose?

Stopping real property loss from eroding embankment

I'm having difficulty getting my players to do stuff in a sandbox campaign

Was credit for the black hole image misattributed?

Can a non-EU citizen traveling with me come with me through the EU passport line?



Magentp 2 Issue Observer Calling only One Time when Get Search Term Using Observer



Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?Facing issue with catalogsearch_query table when using Magento searchMagento 2.3 Can't view module's front end page output?how to get welcome Email when creating customer using custom API in magento 2



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I want to get the search term of current user. And according to that search term get products using custom query.



My observer is calling only one time when Cache is enabled.



Please provide me some help or suggestion.



<event name="controller_action_postdispatch_catalogsearch_result_index">

<observer name="searchObserver" instance="VendorModuleObserverSearchData" />

</event>


<?php

namespace VendorModuleObserverSearch;

use MagentoFrameworkEventObserver;
use MagentoFrameworkEventObserverInterface;
use MagentoFrameworkStdlibCookieCookieMetadataFactory;
use MagentoFrameworkStdlibCookieManagerInterface;

class Data implements ObserverInterface

const COOKIE_NAME = 'categoryId';
const COOKIE_DURATION = 86400; // One day (86400 seconds)

protected $_cookieManager;

/**
* @var CookieMetadataFactory
*/
protected $_cookieMetadataFactory;
protected $_queryFactory;
protected $_filterBuilder;
protected $_searchCriteriaBuilder;
protected $_searchInterface;

public function __construct(
CookieManagerInterface $cookieManager, CookieMetadataFactory $cookieMetadataFactory, MagentoSearchModelQueryFactory $queryFactory, MagentoFrameworkApiFilterBuilder $filterBuilder, MagentoFrameworkApiSearchSearchCriteriaBuilder $searchCriteriaBuilder, MagentoSearchApiSearchInterface $searchInterface
)
$this->_cookieManager = $cookieManager;
$this->_cookieMetadataFactory = $cookieMetadataFactory;
$this->_queryFactory = $queryFactory;
$this->_filterBuilder = $filterBuilder;
$this->_searchCriteriaBuilder = $searchCriteriaBuilder;
$this->_searchInterface = $searchInterface;


/**

* Below is the method that will fire whenever the event runs!

*

* @param Observer $observer

*/
public function execute(Observer $observer)
$data = $observer->getData();
$searchTerm = $this->_queryFactory->get()->getQueryText();
$this->_filterBuilder->setField('search_term')
->setValue($searchTerm)
->setConditionType("like");

$this->_searchCriteriaBuilder->addFilter($this->_filterBuilder->create());
$searchCriteria = $this->_searchCriteriaBuilder->create();
$searchCriteria->setRequestName("quick_search_container");
$searchResults = $this->_searchInterface->search($searchCriteria);

print_r($searchResults->getItems());
$products = $searchResults->getItems();
foreach ($products as $product)

echo $id = $product->getId();
$result[] = $id;


exit;
return $this;












share|improve this question
























  • Magento does not save customer details with the search term,So you cannot get the current customer search term from default Magento. You have to build an extension of your self.

    – Amit Bera
    Apr 11 at 8:10











  • Please check my question I have updated. Observer is calling only one time when Cache is enabled.

    – Magecode
    Apr 11 at 9:39

















1















I want to get the search term of current user. And according to that search term get products using custom query.



My observer is calling only one time when Cache is enabled.



Please provide me some help or suggestion.



<event name="controller_action_postdispatch_catalogsearch_result_index">

<observer name="searchObserver" instance="VendorModuleObserverSearchData" />

</event>


<?php

namespace VendorModuleObserverSearch;

use MagentoFrameworkEventObserver;
use MagentoFrameworkEventObserverInterface;
use MagentoFrameworkStdlibCookieCookieMetadataFactory;
use MagentoFrameworkStdlibCookieManagerInterface;

class Data implements ObserverInterface

const COOKIE_NAME = 'categoryId';
const COOKIE_DURATION = 86400; // One day (86400 seconds)

protected $_cookieManager;

/**
* @var CookieMetadataFactory
*/
protected $_cookieMetadataFactory;
protected $_queryFactory;
protected $_filterBuilder;
protected $_searchCriteriaBuilder;
protected $_searchInterface;

public function __construct(
CookieManagerInterface $cookieManager, CookieMetadataFactory $cookieMetadataFactory, MagentoSearchModelQueryFactory $queryFactory, MagentoFrameworkApiFilterBuilder $filterBuilder, MagentoFrameworkApiSearchSearchCriteriaBuilder $searchCriteriaBuilder, MagentoSearchApiSearchInterface $searchInterface
)
$this->_cookieManager = $cookieManager;
$this->_cookieMetadataFactory = $cookieMetadataFactory;
$this->_queryFactory = $queryFactory;
$this->_filterBuilder = $filterBuilder;
$this->_searchCriteriaBuilder = $searchCriteriaBuilder;
$this->_searchInterface = $searchInterface;


/**

* Below is the method that will fire whenever the event runs!

*

* @param Observer $observer

*/
public function execute(Observer $observer)
$data = $observer->getData();
$searchTerm = $this->_queryFactory->get()->getQueryText();
$this->_filterBuilder->setField('search_term')
->setValue($searchTerm)
->setConditionType("like");

$this->_searchCriteriaBuilder->addFilter($this->_filterBuilder->create());
$searchCriteria = $this->_searchCriteriaBuilder->create();
$searchCriteria->setRequestName("quick_search_container");
$searchResults = $this->_searchInterface->search($searchCriteria);

print_r($searchResults->getItems());
$products = $searchResults->getItems();
foreach ($products as $product)

echo $id = $product->getId();
$result[] = $id;


exit;
return $this;












share|improve this question
























  • Magento does not save customer details with the search term,So you cannot get the current customer search term from default Magento. You have to build an extension of your self.

    – Amit Bera
    Apr 11 at 8:10











  • Please check my question I have updated. Observer is calling only one time when Cache is enabled.

    – Magecode
    Apr 11 at 9:39













1












1








1








I want to get the search term of current user. And according to that search term get products using custom query.



My observer is calling only one time when Cache is enabled.



Please provide me some help or suggestion.



<event name="controller_action_postdispatch_catalogsearch_result_index">

<observer name="searchObserver" instance="VendorModuleObserverSearchData" />

</event>


<?php

namespace VendorModuleObserverSearch;

use MagentoFrameworkEventObserver;
use MagentoFrameworkEventObserverInterface;
use MagentoFrameworkStdlibCookieCookieMetadataFactory;
use MagentoFrameworkStdlibCookieManagerInterface;

class Data implements ObserverInterface

const COOKIE_NAME = 'categoryId';
const COOKIE_DURATION = 86400; // One day (86400 seconds)

protected $_cookieManager;

/**
* @var CookieMetadataFactory
*/
protected $_cookieMetadataFactory;
protected $_queryFactory;
protected $_filterBuilder;
protected $_searchCriteriaBuilder;
protected $_searchInterface;

public function __construct(
CookieManagerInterface $cookieManager, CookieMetadataFactory $cookieMetadataFactory, MagentoSearchModelQueryFactory $queryFactory, MagentoFrameworkApiFilterBuilder $filterBuilder, MagentoFrameworkApiSearchSearchCriteriaBuilder $searchCriteriaBuilder, MagentoSearchApiSearchInterface $searchInterface
)
$this->_cookieManager = $cookieManager;
$this->_cookieMetadataFactory = $cookieMetadataFactory;
$this->_queryFactory = $queryFactory;
$this->_filterBuilder = $filterBuilder;
$this->_searchCriteriaBuilder = $searchCriteriaBuilder;
$this->_searchInterface = $searchInterface;


/**

* Below is the method that will fire whenever the event runs!

*

* @param Observer $observer

*/
public function execute(Observer $observer)
$data = $observer->getData();
$searchTerm = $this->_queryFactory->get()->getQueryText();
$this->_filterBuilder->setField('search_term')
->setValue($searchTerm)
->setConditionType("like");

$this->_searchCriteriaBuilder->addFilter($this->_filterBuilder->create());
$searchCriteria = $this->_searchCriteriaBuilder->create();
$searchCriteria->setRequestName("quick_search_container");
$searchResults = $this->_searchInterface->search($searchCriteria);

print_r($searchResults->getItems());
$products = $searchResults->getItems();
foreach ($products as $product)

echo $id = $product->getId();
$result[] = $id;


exit;
return $this;












share|improve this question
















I want to get the search term of current user. And according to that search term get products using custom query.



My observer is calling only one time when Cache is enabled.



Please provide me some help or suggestion.



<event name="controller_action_postdispatch_catalogsearch_result_index">

<observer name="searchObserver" instance="VendorModuleObserverSearchData" />

</event>


<?php

namespace VendorModuleObserverSearch;

use MagentoFrameworkEventObserver;
use MagentoFrameworkEventObserverInterface;
use MagentoFrameworkStdlibCookieCookieMetadataFactory;
use MagentoFrameworkStdlibCookieManagerInterface;

class Data implements ObserverInterface

const COOKIE_NAME = 'categoryId';
const COOKIE_DURATION = 86400; // One day (86400 seconds)

protected $_cookieManager;

/**
* @var CookieMetadataFactory
*/
protected $_cookieMetadataFactory;
protected $_queryFactory;
protected $_filterBuilder;
protected $_searchCriteriaBuilder;
protected $_searchInterface;

public function __construct(
CookieManagerInterface $cookieManager, CookieMetadataFactory $cookieMetadataFactory, MagentoSearchModelQueryFactory $queryFactory, MagentoFrameworkApiFilterBuilder $filterBuilder, MagentoFrameworkApiSearchSearchCriteriaBuilder $searchCriteriaBuilder, MagentoSearchApiSearchInterface $searchInterface
)
$this->_cookieManager = $cookieManager;
$this->_cookieMetadataFactory = $cookieMetadataFactory;
$this->_queryFactory = $queryFactory;
$this->_filterBuilder = $filterBuilder;
$this->_searchCriteriaBuilder = $searchCriteriaBuilder;
$this->_searchInterface = $searchInterface;


/**

* Below is the method that will fire whenever the event runs!

*

* @param Observer $observer

*/
public function execute(Observer $observer)
$data = $observer->getData();
$searchTerm = $this->_queryFactory->get()->getQueryText();
$this->_filterBuilder->setField('search_term')
->setValue($searchTerm)
->setConditionType("like");

$this->_searchCriteriaBuilder->addFilter($this->_filterBuilder->create());
$searchCriteria = $this->_searchCriteriaBuilder->create();
$searchCriteria->setRequestName("quick_search_container");
$searchResults = $this->_searchInterface->search($searchCriteria);

print_r($searchResults->getItems());
$products = $searchResults->getItems();
foreach ($products as $product)

echo $id = $product->getId();
$result[] = $id;


exit;
return $this;









magento2.3 search-terms






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 11 at 10:28







Magecode

















asked Apr 11 at 5:40









MagecodeMagecode

556421




556421












  • Magento does not save customer details with the search term,So you cannot get the current customer search term from default Magento. You have to build an extension of your self.

    – Amit Bera
    Apr 11 at 8:10











  • Please check my question I have updated. Observer is calling only one time when Cache is enabled.

    – Magecode
    Apr 11 at 9:39

















  • Magento does not save customer details with the search term,So you cannot get the current customer search term from default Magento. You have to build an extension of your self.

    – Amit Bera
    Apr 11 at 8:10











  • Please check my question I have updated. Observer is calling only one time when Cache is enabled.

    – Magecode
    Apr 11 at 9:39
















Magento does not save customer details with the search term,So you cannot get the current customer search term from default Magento. You have to build an extension of your self.

– Amit Bera
Apr 11 at 8:10





Magento does not save customer details with the search term,So you cannot get the current customer search term from default Magento. You have to build an extension of your self.

– Amit Bera
Apr 11 at 8:10













Please check my question I have updated. Observer is calling only one time when Cache is enabled.

– Magecode
Apr 11 at 9:39





Please check my question I have updated. Observer is calling only one time when Cache is enabled.

– Magecode
Apr 11 at 9:39










0






active

oldest

votes












Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f269631%2fmagentp-2-issue-observer-calling-only-one-time-when-get-search-term-using-observ%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Magento Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f269631%2fmagentp-2-issue-observer-calling-only-one-time-when-get-search-term-using-observ%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Sum ergo cogito? 1 nng

419 nièngy_Soadمي 19bal1.5o_g

Queiggey Chernihivv 9NnOo i Zw X QqKk LpB