[Ищу] Поиск с выбором категории.

Тема в разделе "OpenCart", создана пользователем Andreyлф, 5 ноя 2014.

  1. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    136
    Симпатии:
    3
    Подскажите как сделать поиск чтобы изначально в шапке можно было выставить категорию в которой будет происходить поиск.

    К примеру юлмарт http://joxi.ru/BChaVIwyTJC0FgW8F30

    Благодарю)
     
  2. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    281
    Симпатии:
    85
    Во первых - сверстать форму поиска из
    Код:
    <input name="search" />
    <select name="filter_category_id">
    <select>
    <input id="button-search" class="button" type="button" value="Поиск">
    Как на рисунке, стилизовав селект

    А далее - контроллер search - сам разберется
     
  3. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    136
    Симпатии:
    3
    Я не секу(( мне б лучше css крутить чем php((
     
  4. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    281
    Симпатии:
    85
    А где здесь php?

    Я показал код формы
    Вы показали рисунок

    По макету (сделать такой код)

    Ах... да - в header.php нужно получить список категорий - смотрите как это делается в контроллере search
     
  5. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    136
    Симпатии:
    3
    Не могу понять Может посмотрите?
    поиск, то что выбивает на основной сайт думаю ниче страшного, но не могу понять почему первая категория мойки а не "все категории"
     
  6. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    281
    Симпатии:
    85
    потому что selected="selectad"

    Посмотрите в шаблоне, как вы формируете этот список.
     
  7. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    136
    Симпатии:
    3
    <select name="filter_category_id">
    <option value="0"><?php echo $text_category; ?></option>
    <?php foreach ($categories as $category_1) { ?>
    <?php if ($category_1['category_id'] == $filter_category_id) { ?>
    <option value="<?php echo $category_1['category_id']; ?>" selected="selected"><?php echo $category_1['name']; ?></option>
    <?php } else { ?>
    <option value="<?php echo $category_1['category_id']; ?>"><?php echo $category_1['name']; ?></option>
    <?php } ?>
    <?php foreach ($category_1['children'] as $category_2) { ?>
    <?php if ($category_2['category_id'] == $filter_category_id) { ?>
    <option value="<?php echo $category_2['category_id']; ?>" selected="selected">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $category_2['name']; ?></option>
    <?php } else { ?>
    <option value="<?php echo $category_2['category_id']; ?>">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $category_2['name']; ?></option>
    <?php } ?>
    <?php foreach ($category_2['children'] as $category_3) { ?>
    <?php if ($category_3['category_id'] == $filter_category_id) { ?>
    <option value="<?php echo $category_3['category_id']; ?>" selected="selected">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $category_3['name']; ?></option>
    <?php } else { ?>
    <option value="<?php echo $category_3['category_id']; ?>">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $category_3['name']; ?></option>
    <?php } ?>
    <?php } ?>
    <?php } ?>
    <?php } ?>
    <?php if ($sub_category) { ?>
    <input type="checkbox" name="sub_category" value="1" id="sub_category" checked="checked" />
    <?php } else { ?>
    <input type="checkbox" name="sub_category" value="1" id="sub_category" />
    <?php } ?>
    <label for="sub_category"><?php echo $text_sub_category; ?></label>
    </select>

    Вот код который я беру серч.тпл, что с ним делать(
     
  8. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    281
    Симпатии:
    85
    Вот где "собака порылась"
    Код:
    ?php if ($category_1['category_id'] == $filter_category_id) { ?>
    <option value="<?php echo $category_1['category_id']; ?>" selected="selected"><?php echo $category_1['name']; ?></option>
    <?php } else { ?>
    Судя по всему в $categories не предается id категории - а это нужно смотреть в контроллере.
     
  9. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    136
    Симпатии:
    3
    Контроллер стандартный опенкарт)
     
  10. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    281
    Симпатии:
    85
    Путь я вам указал

    Какой такой стандартный?
    Ну так и посмотрите... в header.php, что там нет category_id
     
  11. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    136
    Симпатии:
    3
    Я чет вообще не догоняю, может подскажешь что взять и откуда взять, я думаю это будет полезная информация много кто скажет спасибо!)
    --- Добавлено, 4 дек 2014 ---
    // 3 Level Category Search
    $this->data['categories'] = array();

    $categories_1 = $this->model_catalog_category->getCategories(0);

    foreach ($categories_1 as $category_1) {
    $level_2_data = array();

    $categories_2 = $this->model_catalog_category->getCategories($category_1['category_id']);

    foreach ($categories_2 as $category_2) {
    $level_3_data = array();

    $categories_3 = $this->model_catalog_category->getCategories($category_2['category_id']);

    foreach ($categories_3 as $category_3) {
    $level_3_data[] = array(
    'category_id' => $category_3['category_id'],
    'name' => $category_3['name'],
    );
    }

    $level_2_data[] = array(
    'category_id' => $category_2['category_id'],
    'name' => $category_2['name'],
    'children' => $level_3_data
    );
    }

    $this->data['categories'][] = array(
    'category_id' => $category_1['category_id'],
    'name' => $category_1['name'],
    'children' => $level_2_data
    );
    }

    вот как я понял это нужно куда то вставить но куда?
     
  12. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    136
    Симпатии:
    3
    Помогите Ребят ктонибудь( как реализовать поиск на главной по категориям? До сих пор не могу понять(
     
  13. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    281
    Симпатии:
    85
    Вы хотите готовый код
    Я вам показал, где смотреть и ЧТО смотреть.