PrestaShop 1.7创建自己的模块,扩展Ps_Facetedsearch模块

时间:2019-02-12 11:59:44

标签: prestashop smarty prestashop-1.7

我正在尝试基于PrestaShop Faceted Search模块制作自己的模块。 我的目标是向现有的复选框,单选按钮和下拉列表中添加更多自定义窗口小部件类型。

是否有一种方法可以覆盖Ps_Facetedsearch类中的getContent()方法,以便在add.tpl文件中的一个特殊位置附加几个新选项,并且不复制粘贴整个tpl文件以进行覆盖?

值> 2的选项是我要添加的选项。

add.tpl文件

<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>

我想对Ps_FacetedsearchFiltersConverter.php中的getFacetsFromFacetedSearchFilters方法执行相同的操作

    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;
    }

我很高兴获得任何形式的支持。

0 个答案:

没有答案