Поставил, работает - спасибо!
Но,.. возник вопрос - как добавить в фильтр сортировку (на том же ajax) по цене/весу/длине/ширине/высоте из таблицы продукта (product; значения: price, weight, length, width, height)?
(Желательно не дублировать данные в таблицах модуля).
Спасибо
PS
думаю нужно просто в filter.tpl (фронт)
продублировать слегка модифицированный кусок кода (ну и lng соответственно и контроллер)
<?php foreach ($category_options as $category_option) { ?>
<?php if ($category_option['status']) { ?>
<b><?php echo $category_option['name']; ?></b>
<div class="filter-item">
<?php if ($category_option['values']) { ?>
<?php foreach ($category_option['values'] as $value) { ?>
<?php if (in_array($value['value_id'], $filter_values_id)) { ?>
<label class="active">
<input type="checkbox" onclick="window.location='<?php echo $value['href']; ?>'" checked="checked">
<a href="<?php echo $value['href']; ?>"><?php echo $value['name']; ?></a>
</label>
<?php } else { ?>
<?php if ($value['products']) { ?>
<label>
<input type="checkbox" onclick="window.location='<?php echo $value['href']; ?>'">
<a href="<?php echo $value['href']; ?>"><?php echo $value['name']; ?></a> (<?php echo $value['products']; ?>)
</label>
<?php } else { ?>
<?php if ($show_empty_filter_value) { ?>
<label>
<input type="checkbox" disabled="disabled"><span class="grey"><?php echo $value['name']; ?> (<?php echo $value['products']; ?>)</span>
</label>
<?php } ?>
<?php } ?>
<?php } ?>
<?php } ?>
<?php } ?>
</div>
<?php } ?>
<?php } ?>
но где именно - туплю )
PSS
Возможно, чтобы припаять фильтр по цене, использовать кодинг подобный тому что в модуле "Filter by Price Module v151.2"... ?
Там в контроллере:
$this->data['ranges'] = array();
$results = explode(',', str_replace(' ', '', $this->config->get($this->name . '_ranges')));
if ($results[0] != '' && (int)$results[0] !== 0) {
array_unshift($results, 0);
}
$num_results = (count($results) > 1) ? count($results) : 0;
// ... здесь еще кодинг по параметрам модуля
$this->data['text_flexible_middle'] = sprintf($this->language->get('filterbyprice_middle'), '', '');
if (!empty($this->request->get['range'])) {
$range = explode('-', $this->request->get['range']);
$this->data['lower'] = $range[0];
$this->data['upper'] = (isset($range[1])) ? $range[1] : '';
} else {
$this->data['lower'] = '';
$this->data['upper'] = '';
}
$this->data['button_go'] = $this->language->get('filterbyprice_go');
там же на фронте:
<div class="middle box-content">
<?php if (!empty($ranges)) { ?>
<ul id="filter-by-price" style="margin: 0 8px 8px; padding-left: 12px; line-height: 1.5em">
<?php foreach ($ranges as $range) { ?>
<li><a href="<?php echo $range['href']; ?>"><?php echo $range['text']; ?></a></li>
<?php } ?>
</ul>
<?php } ?>
<?php if ($this->config->get('price_flexible_range')) { ?>
<input type="text" size="<?php echo $box_size; ?>" id="lower" name="lower" value="<?php echo $lower; ?>" onkeydown="if (event.keyCode == 13) redirectToPricePage()" style="font-size: 11px" />
<?php echo $text_flexible_middle; ?>
<input type="text" size="<?php echo $box_size; ?>" id="upper" name="upper" value="<?php echo $upper; ?>" onkeydown="if (event.keyCode == 13) redirectToPricePage()" style="font-size: 11px" />
<a class="button" onclick="redirectToPricePage()"><span><?php echo $button_go; ?></span></a>
<?php } ?>
</div>
<?php if ($v14x) { ?><div class="bottom"> </div><?php } ?>
ну и lng:
$_['filterbyprice_heading'] = 'Filter by Price';
$_['filterbyprice_go'] = 'Go';
$_['filterbyprice_bottom'] = 'Under %s';
$_['filterbyprice_middle'] = '%s to %s';
$_['filterbyprice_top'] = '%s and up';