Да, вы можете переопределить результаты поиска в каталоге, внеся следующие изменения в свой пользовательский модуль.
В вашем контроллере
<?php
namespace Vendor\Module\Controller\Search;
class Result extends \Magento\CatalogSearch\Controller\Result\Index
{
public function execute($coreRoute = null)
{
return parent::execute($coreRoute);
}
}
В вашем блоке
<?php
$query = $this->getRequest()->getParam('q');
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productFactory = $objectManager->create('Magento\Catalog\Model\ProductFactory');
$collection = $productFactory->create()->getCollection();
$query = $this->getRequest()->getParam('q');
?>
<div>
<form class="form minisearch" id="searchProducts" method="get">
<div class="col-xs-12 col-md-6 col-sm-3">
<input type="text" name="q" id="searchbox" value="" class="searchbox" placeholder="Type here...." />
</div>
<div class="col-xs-6 col-md-2 col-sm-3">
<button type="submit" class="btn new-searchbtn action search menu-search" id="submitBtn" title="Search">
<span class="search-text">search</span>
<span class="search-icon"></span>
</button>
</div>
</form>
</div>
<?php if ($collection->count()): ?>
<?= $block->getChildHtml('tagged_product_list_rss_link') ?>
<div class="search results container">
<?php if ($messages = $block->getNoteMessages()):?>
<div class="message notice">
<div>
<?php foreach ($messages as $message):?>
<?= /* @escapeNotVerified */ $message ?><br />
<?php endforeach;?>
</div>
</div>
<?php endif; ?>
<?= $block->getProductListHtml() ?>
</div>
<?php// else: ?>
<?php endif; ?>
И, наконец, ваш поставщик / module / view / frontent / layout / catalogsearch_result_index.xml будет выглядеть следующим образом.
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="search.result">
<action method="setTemplate">
<argument name="template" xsi:type="string">Vendor_Module::result.phtml</argument>
</action>
</referenceBlock>
</body>
</page>