我正在尝试基于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;
}
我很高兴获得任何形式的支持。