2015-11-13 3 views
0

Я сделал все, что в моих силах, чтобы попытаться выяснить, что здесь происходит безрезультатно.Algolia Magento Extension: рендеринг дважды из-за меню Off-Canvas, не используя результаты Algolia Page

Я установил Algolia в соответствии с инструкциями в своем локальном экземпляре разработки клиентского сайта. После отключения Elasticsearch я могу проверить элемент и увидеть, что div algolia-searchbox отображается правильно. Однако он не работает, как предполагается. Кажется, он использует функцию поиска пурпурного текста, даже если этот поиск находится внутри поискового ящика algolia.

Я вырыл немного глубже. Я узнал, что topsearch дважды отображается на странице из-за меню без холста. Когда я уменьшаю свое окно до нужного размера для рендеринга show-for-small-only, поиск ТАКЖЕ в этом разделе, но он действительно работает, поскольку поиск Algolia должен работать.

<reference name="header"> 
    <remove name="top.search"/> 
    <block type="algoliasearch/search_form" name="top.algoliasearch" as="topSearch"/> 
    <action method="setTemplate"><template>algoliasearch/topsearch.phtml</template></action> 
</reference> 

Итак, первый вопрос: что это лучший способ, чтобы получить эту работу с реагирующими конструкциями с использованием функционального меню вне холста? Меню off-canvas, сделанное вторым, заканчивается тем, что было сделано для нормальной области topsearch из-за его рендеринга в два раза, и это огромная проблема.

Единственный способ, которым я смог увидеть правильную панель поиска на обычном заголовок до сих пор заключается в том, чтобы поместить это в algoliasearch.xml:

Это полностью избавляет от моего заголовка, но на самом деле отображает правильную строку поиска. Я знаю, что это не правильно syntaxt, но при устранении неполадок ...

Вторая проблема, с которой я сталкиваюсь, заключается в том, что даже когда я использую панель поиска, которая на самом деле отображается (через вышеуказанный заголовок xml или с помощью меньший размер браузера, чтобы отобразить поиск в меню холста), страница результатов, на которой я заканчиваю, - это обычная страница результатов Magento. Я вижу активность на панели «Сеть», когда я набираю текст в строке поиска, но как только я отправлю, все это исчезает и остается пустым.

Спасибо за любую помощь, которую вы можете предложить.

+1

Решенные https: // GitHub.com/algolia/algoliasearch-magento/issues/249 –

+0

Привет, Р. Николс, не могли бы вы добавить ответ, объясняющий решение, и принять его? – Jerska

ответ

1

Всех изменений, сделанные в моем конкретном случае были сделаны в приложении \ дизайн \ \ внешнего интерфейса базы \ умолчанию \ шаблон \ algoliasearch \ topsearch.phtml файл

  1. Вокруг линии 546, я заменяю «поиск "с [id =" search "]. Это связывается с обоими входами, а не только с привязкой к последнему отображаемому входу.

  2. Следующие дополнения были сделаны (в основном, добавление (документ) .ready (функция() { прямо под algoliaBundle. $ (Функция $ ($) { на линии 536 и оборачивать все в том, что а также: https://github.com/algolia/algoliasearch-magento/blob/master/design/frontend/template/topsearch.phtml#L536
    https://github.com/algolia/algoliasearch-magento/blob/master/design/frontend/template/topsearch.phtml#L1735

  3. Line 1284: Изменено: если ($ (algoliaConfig.instant.selector) .length == 1!) к если ($ (algoliaConfig.in stant.selector) .length < 1)

  4. Измененный мгновенный селектор из .main в .main-контейнер

Смежные вопросы