InstantShop Фильтр по категориям

#1 29 октября 2018 в 00:04
Пытаюсь сделать чтобы при просмотре категории можно было фильтровать товары по категориям. Для этого добавил в файл model.php функцию
  1. public function getCatCats($cat_id) {
  2.  
  3. $cats = array();
  4.  
  5. $sql = "SELECT DISTINCT c.*
  6.  
  7. FROM cms_shop_cats c
  8.  
  9. WHERE c.id IN
  10. (
  11. SELECT i.category_id
  12.  
  13. FROM cms_shop_items i
  14.  
  15. WHERE i.id IN
  16. (
  17. SELECT ic.item_id
  18.  
  19. FROM cms_shop_items_cats ic
  20.  
  21. WHERE ic.category_id = '{$cat_id}'
  22. )
  23. )";
  24.  
  25. $result = $this->inDB->query($sql);
  26.  
  27. if ($this->inDB->num_rows($result)) {
  28. while($cat = $this->inDB->fetch_assoc($result)){
  29. $cats[$cat['id']] = $cat;
  30. }
  31. }
  32.  
  33. return $cats ? $cats : false;
  34. }
  35.  
В файл frontend.php в секцию if ($do == 'view') добавил строки
  1.  
  2. $categories = $model->getCatCats($root_cat['id']);
  3. $smarty->assign('categories', $categories);
  4.  
В шаблоне прописываю
  1. {foreach key=num item=cat from=$categories}
  2. <input type="checkbox" class="category_filter" id="category{$num}" name="filter[categories][]" value="{$cat.id}">
  3. <label for="category{$num}">{$cat.title}</label>
  4. {/Foreach}
Но при попытке просмотреть категорию получаю сообщение о том, что сайт не может обработать запрос. Что я не доделал?
#2 30 октября 2018 в 12:26
включи дебаг станет понятнее или посмотри логи php
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.