PrestaShop 1.7 создает собственный модуль, расширяющий модуль Ps_Facetedsearch - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь создать свой собственный модуль на основе модуля PrestaShop Faceted Search.Моя цель - добавить еще несколько пользовательских типов виджетов в существующие флажки, переключатели и раскрывающийся список.

есть ли способ переопределить метод getContent () из класса Ps_Facetedsearch, чтобы добавить несколько новых опций только в одномСпециальное место в файле add.tpl и не копировать вставить весь файл TPL, который будет перезаписан?

Я пытаюсь добавить опции со значением> 2.

add.tpl file

<div class="col-lg-3 pull-right">
    <label class="control-label col-lg-6">{l s='Filter style:' d='Modules.Facetedsearch.Admin'}</label>
    <div class="col-lg-6">
    <select name="layered_selection_feat_{(int)$feature['id_feature']}_filter_type">
        <option value="0">{l s='Checkbox' d='Modules.Facetedsearch.Admin'}</option>
        <option value="1">{l s='Radio button' d='Modules.Facetedsearch.Admin'}</option>
        <option value="2">{l s='Drop-down list' d='Modules.Facetedsearch.Admin'}</option>
        <option value="3">{l s='Slider' d='Modules.Facetedsearch.Admin'}</option>
        <option value="4">{l s='Range slider' d='Modules.Facetedsearch.Admin'}</option>
        <option value="5">{l s='Drop-down list' d='Modules.Facetedsearch.Admin'}</option>
    </select>
    </div>
</div>

Я хотел бы сделать то же самое с методом getFacetsFromFacetedSearchFilters изPs_FacetedsearchFiltersConverter.php

    switch ((int) $facetArray['filter_type']) {
        case 0: // checkbox
            $facet->setMultipleSelectionAllowed(true);
            $facet->setWidgetType('checkboxes');
            break;
        case 1: // radio
            $facet->setMultipleSelectionAllowed(false);
            $facet->setWidgetType('radio-buttons');
            break;
        case 2: // drop down
            $facet->setMultipleSelectionAllowed(false);
            $facet->setWidgetType('dropdown');
            break;
        case 3: // slider
            $facet->setMultipleSelectionAllowed(false);
            $facet->setWidgetType('slider');
            break;
        case 4: // rangeslider
            $facet->setMultipleSelectionAllowed(false);
            $facet->setWidgetType('rangeslider');
            break;
        case 5: // drop down
            $facet->setMultipleSelectionAllowed(false);
            $facet->setWidgetType('reangesliderex');
            break;
    }

Буду очень рад любой поддержке.

...