Как сделать интернет-магазин (яндекс.маркет) на instantcms

#61 25 октября 2018 в 11:17
kirkr, где об этом почитать?

я подумал, что простым совмещением виджетов поиск и категории — может получиться… но ошибся
#62 25 октября 2018 в 11:22
ай.
instantcms.ru/addons/widget-filter-plus.html
В Компонент "География" добавить Улицы и каким-то образом cвязать с станциями метро.
#63 25 октября 2018 в 11:26

сначала поля в фильтр вывод добавьте, потом уже фильтр облогораживайте как угодно. Есть всевозможные фильтры с автоподгрузкой и т.п. но явно Вам нужно дозаказать доработку ajax

kirkr


вот в этом и вопрос — где поле "категория", например. Его нет
#64 25 октября 2018 в 11:29
#65 25 октября 2018 в 11:32
уат из ит?
#66 25 октября 2018 в 11:42
@elv3327, попытки =)

уже вот так

но чую, не по тому пути иду… Нужно искать в конкретной категории (указанной в соседнем слева, поле) и еще, вставить город, район
#67 25 октября 2018 в 11:44
В идеале — код авитовской формы поиска


  1.  
  2. <div class="search-form-main-controls js-search-form-main-controls">
  3. <input class="js-search-tgr" name="s_trg" value="3" type="hidden">
  4. <input class="js-search-map" name="map" value="" type="hidden">
  5. <input class="js-token" name="token[9789578394569]" value="4fa2ff936aae1c7e" type="hidden">
  6. <input name="sgtd" type="hidden">
  7.  
  8. <div class="search-form__row search-form__row_1 f5GAosYEbrPc">
  9.  
  10. <div class="search-form__category">
  11. <div class="form-select-v2">
  12. <select id="category" name="category_id" class="js-search-form-category ">
  13. <option value="">Любая категория</option> <!-- GHS-421 -->
  14. </select>
  15. </div>
  16. </div>
  17.  
  18. <div class="search-form__submit">
  19. <input value="Найти" class="search button button-origin" type="submit">
  20. </div>
  21.  
  22. <div class="search-form__direction">
  23. <div id="directions" class="form-select-v2 param" style="position: relative;">
  24. <select id="directions-select" class="directions" data-filter="1">
  25. <option data-prev-alias="metro" value="">Станция метро</option>
  26. </select>
  27. <select multiple="" class="hidden-input-for-tab" id="directions-multiple" name="metro[]" hidden="hidden"></select>
  28. <div class="select-override"></div>
  29. </div>
  30. </div>
  31.  
  32. <div class="search-form__radius">
  33. <div class="form-select-v2 js-search-form-radius hidden">
  34. <select id="radius" class="js-search-form-radius-select" title="Радиус поиска">
  35. <option value="0" selected="">
  36. Радиус
  37. </option>
  38. </select>
  39. </div>
  40. </div>
  41.  
  42. <div class="search-form__location">
  43. <div class="form-select-v2">
  44. <select id="region" name="location_id" class="js-search-form-region">
  45. <option value="621540" data-parent-id="">По всей России</option>
  46. </select>
  47. </div>
  48. </div>
  49.  
  50. <div class="search-form__key-words">
  51. <div id="search_holder" class="search-form__key-words__search-holder">
  52. <input id="search_greyed" value="" spellcheck="false" data-suggest="true" maxlength="100" data-suggest-delay="" class="" tabindex="-1" style="position: absolute;" autocomplete="off" type="text"> <input id="search" name="name" value="" placeholder="Поиск по объявлениям" spellcheck="false" data-suggest="true" maxlength="100" data-suggest-delay="" class="suggest_search" autocomplete="off" type="text">
  53. </div>
  54. </div>
  55. </div>
  56.  
  57. <div class="search-form__row search-form__row_2 js-pre-filters" id="pre-filters" data-delivery-categories="null" data-delivery-locations="null">
  58. <label class="form-checkbox">
  59. <input class="js-by-title" name="bt" type="checkbox">
  60. <span class="form-checkbox__label">только в названиях</span>
  61. </label>
  62. <label class="form-checkbox">
  63. <input class="js-with-images" name="i" type="checkbox">
  64. <span class="form-checkbox__label">только с фото</span>
  65. </label>
  66. <label class="form-checkbox js-search-form-delivery hidden">
  67. <input class="js-search-form-delivery-checkbox" name="d" type="checkbox">
  68. <span class="form-checkbox__label">
  69. <span class="search-form-delivery-regions">&nbsp;</span>только с доставкой</span>
  70. </label>
  71. </div>
  72. </div>
  73.  

в него нужно просто подставить значения

и вместо "город" — поставить страну / районы, а вместо "метро" подставить город
#68 25 октября 2018 в 11:57
Вот полная форма, без css


  1.  
  2. <div class="b-search-form b-search-form_catalog">
  3. <form id="search_form" class="search-form__form js-search-form-catalog js-search-form" autocomplete="off" action="/search" method="post">
  4. <div class="search-form-main-controls js-search-form-main-controls">
  5. <div class="search-form-main-controls js-search-form-main-controls">
  6. <input class="js-search-tgr" name="s_trg" value="3" type="hidden">
  7. <input class="js-search-map" name="map" value="" type="hidden">
  8. <input class="js-token" name="token[9789578394569]" value="4fa2ff936aae1c7e" type="hidden">
  9. <input name="sgtd" type="hidden">
  10.  
  11. <div class="search-form__row search-form__row_1 f5GAosYEbrPc">
  12.  
  13. <div class="search-form__category">
  14. <div class="form-select-v2">
  15. <select id="category" name="category_id" class="js-search-form-category ">
  16. <option value="">Категория</option> <!-- GHS-421 -->
  17. </select>
  18. </div>
  19. </div>
  20.  
  21. <div class="search-form__submit">
  22. <input value="Найти" class="search button button-origin" type="submit">
  23. </div>
  24.  
  25. <div class="search-form__direction">
  26. <div id="directions" class="form-select-v2 param" style="position: relative;">
  27. <select id="directions-select" class="directions" data-filter="1">
  28. <option data-prev-alias="region" value="">Регион</option>
  29. </select>
  30. <select multiple="" class="hidden-input-for-tab" id="directions-multiple" name="metro[]" hidden="hidden"></select>
  31. <div class="select-override"></div>
  32. </div>
  33. </div>
  34.  
  35. <div class="search-form__radius">
  36. <div class="form-select-v2 js-search-form-radius hidden">
  37. <select id="radius" class="js-search-form-radius-select" title="Радиус поиска">
  38. <option value="0" selected="">
  39. Населенный пункт
  40. </option>
  41. </select>
  42. </div>
  43. </div>
  44.  
  45. <div class="search-form__location">
  46. <div class="form-select-v2">
  47. <select id="region" name="location_id" class="js-search-form-region">
  48. <option value="621540" data-parent-id="">Страна</option>
  49. </select>
  50. </div>
  51. </div>
  52.  
  53. <div class="search-form__key-words">
  54. <div id="search_holder" class="search-form__key-words__search-holder">
  55. <input id="search_greyed" value="" spellcheck="false" data-suggest="true" maxlength="100" data-suggest-delay="" class="" tabindex="-1" style="position: absolute;" autocomplete="off" type="text"> <input id="search" name="name" value="" placeholder="Поиск по объявлениям" spellcheck="false" data-suggest="true" maxlength="100" data-suggest-delay="" class="suggest_search" autocomplete="off" type="text">
  56. </div>
  57. </div>
  58. </div>
  59.  
  60. <div class="search-form__row search-form__row_2 js-pre-filters" id="pre-filters" data-delivery-categories="null" data-delivery-locations="null">
  61. <label class="form-checkbox">
  62. <input class="js-by-title" name="bt" type="checkbox">
  63. <span class="form-checkbox__label">только в названиях</span>
  64. </label>
  65. <label class="form-checkbox">
  66. <input class="js-with-images" name="i" type="checkbox">
  67. <span class="form-checkbox__label">только с фото</span>
  68. </label>
  69. <label class="form-checkbox js-search-form-delivery hidden">
  70. <input class="js-search-form-delivery-checkbox" name="d" type="checkbox">
  71. <span class="form-checkbox__label">
  72. <span class="search-form-delivery-regions">&nbsp;</span>только с доставкой</span>
  73. </label>
  74. </div>
  75. </div>
  76. <div class="search-form-filters-inputs js-search-form-filters-inputs"></div>
  77. </form>
  78. <div class="search-filters-wrapper js-search-filters-wrapper " data-is-filters-mount="true"></div>
  79. </div>
  80.  

А вот полный css (не правленный)



/*** theme form ***/

.regions,.suggest li{position:relative}.regions-popup{width:491px}.regions-title{height:20px;font-size:14pt}.regions-location{display:-webkit-box;display:-ms-flexbox;display:flex;margin:10px 0;padding:6px 8px 10px;border:solid 10px #e1e1e1}.regions-location-list{-ms-flex-preferred-size:100%;flex-basis:100%;line-height:170%}.regions-location-list a{cursor:pointer;text-decoration:none}.regions-location-list a:hover{text-decoration:underline}.regions-action{display:-webkit-box;display:-ms-flexbox;display:flex}.regions-select{-ms-flex-preferred-size:100%;flex-basis:100%;margin-right:4px}.regions-apply{-ms-flex-negative:0;flex-shrink:0;margin:0}.suggest_search{position:relative;background:url(https://www.avito.st/s/cc/resources/325472601571.gif);width:232px;z-index:666;border-color:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}.suggest_search.loads{background:url(https://www.avito.st/s/cc/resources/63cfdb0912e5.gif) no-repeat 100% 50%}.suggest{position:absolute;min-width:450px;border:1px solid #d8d8d8!important;background-color:#fff;z-index:800}.suggest li{font-size:14px;color:#000;border:0;padding:5px 10px}.suggest li.selected{background-color:#eee!important}.suggest li span{font-weight:700}.suggest li .suggest-category{font-weight:400;color:#858585}.suggest li .suggest-category span{font-weight:400}.suggest li .suggest-category_last::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background-color:#ededed}.b-search-form .search-form__form{font-size:14px;margin:0;padding:0}.b-search-form .search-form__form .search-form__row_1 .form-select-v2{border:0;-webkit-box-shadow:none;box-shadow:none}.b-search-form .search-form__form .search-form__row_1 .form-select-v2 select{height:30px;line-height:30px;text-overflow:ellipsis}.b-search-form .search-form__row_1{padding:2px 3px;border-radius:2px;background:#adadad}.b-search-form .search-form__row_2{padding:5px 0 0}.b-search-form .search-form__row_2.open-filters{background:#ececec}.b-search-form .search-form__row_2 label,.b-search-form .search-form__row_2 label input,.suggest li{cursor:pointer}.b-search-form .search-form__key-words{overflow:hidden}.b-search-form .search-form__key-words__search-holder{position:relative;margin:1px 1px 1px 0;border-left:1px solid #d8d8d8;border-radius:0 3px 3px 0;background:#fff}.b-search-form .search-form__key-words input[type=text]{width:100%;height:30px;line-height:20px;border:1px solid #fff!important;border-radius:0 3px 3px 0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none}.b-search-form .search-form__key-words input::-ms-clear{display:none}.b-search-form_bx-3216{margin-left:19px;width:840px}#search,#search_greyed{background:0 0;font-family:Arial,san-serif;font-size:14px;padding-left:8px;padding-right:8px}#search_greyed{color:#adadad}#search:hover{border-color:rgba(255,176,32,.3)!important;-webkit-box-shadow:0 0 0 1px rgba(255,176,32,.3)!important;box-shadow:0 0 0 1px rgba(255,176,32,.3)!important}#search:focus,#search:focus:hover{border-radius:0;border-color:#ffb020!important;-webkit-box-shadow:0 0 0 1px #ffb020!important;box-shadow:0 0 0 1px #ffb020!important;z-index:810;outline:0}.b-search-form .search-form__key-words input::-webkit-input-placeholder{color:#c7c7c7}.b-search-form .search-form__key-words input:focus::-webkit-input-placeholder{color:transparent}.b-search-form .search-form__key-words input::-moz-placeholder{color:#c7c7c7;opacity:1}.b-search-form .search-form__key-words input:focus::-moz-placeholder{color:transparent}.b-search-form .search-form__key-words input:-ms-input-placeholder{color:#c7c7c7}.b-search-form .search-form__key-words input:focus:-ms-input-placeholder{color:transparent}.suggest{}.b-search-form .search-form__category{float:left;margin:1px 0}.b-search-form .search-form__category .form-select-v2{border-radius:2px 0 0 2px}.b-search-form .search-form__category .sub-selected{text-indent:-.8em}.macosx.firefox .b-search-form .search-form__category .sub-selected{text-indent:-.4em}#category{width:200px}.b-search-form_bx-3216 #category{width:150px}.b-search-form .search-form__location{float:right;margin:1px 1px 1px 2px;position:relative}.b-search-form .search-form__change-filters,.b-search-form .search-form__change-location{position:absolute;top:0;left:0;right:0;bottom:0;cursor:pointer;z-index:999}.b-search-form #region{width:180px}.b-search-form_bx-3216 #region{width:150px}.b-search-form .search-form__direction,.save-link_wrapper{float:right;position:relative}.b-search-form .search-form__radius{float:right}.search-form__radius .form-select-v2{margin:1px 1px 1px 2px}.b-search-form #radius{width:180px}.b-search-form_bx-3216 #radius{width:150px}.b-search-form #directions{position:relative;width:185px;margin:1px 1px 1px 2px;white-space:normal}.b-search-form #directions select.directions{width:185px}.b-search-form_bx-3216 #directions{width:150px}.b-search-form #directions .select-override{cursor:pointer}.b-search-form .search-form__submit{float:right;margin:1px 0 1px 2px}.b-search-form .search-form__submit .button{height:30px;padding:0 21px!important;border:0;border-radius:2px;font-size:14px}#pre-filters{padding:5px 7px 1px}.b-search-form_bx-3216 #pre-filters{padding:5px 0 1px}#pre-filters.pre-filters_str-category{padding-left:203px}#pre-filters.pre-filters_auto-category{padding-left:239px}#pre-filters.pre-filters_private-category{padding-left:187px}.b-search-form_catalog #pre-filters.pre-filters_auto-category,.b-search-form_item #pre-filters.pre-filters_auto-category{padding-left:440px}.b-search-form_profile-items #pre-filters.pre-filters_auto-category{padding-left:212px}#pre-filters .form-checkbox{margin-right:16px}#pre-filters .form-checkbox:last-child{margin-right:0}.b-search-form .search-filters-wrapper_hidden,.save-link,.save-link_wrapper .save-link_popup{display:none}.save-link_add .save-link[data-action=add],.save-link_del .save-link[data-action=del]{display:inline}.save-link_popup{font-size:14px;padding:0 11px 0 6px}.save-link_popup p+p{margin-top:8px}.search-form-checkboxes-only{margin-right:8px;display:inline-block}.search-form-icon-new{position:relative;top:2px}.b-search-form .form-select-v2{-webkit-box-shadow:none;box-shadow:none}.b-search-form_catalog{position:relative;padding-bottom:20px;background:#fff}.bx-2562 .b-search-form_catalog{padding-bottom:5px}.b-search-form_no-padding{padding-bottom:0}.b-search-form_item,.b-search-form_shops{position:relative;background:#fff}.b-search-form_shops{padding-bottom:15px}.b-search-form_shop{padding:10px 0}.b-search-form_auto .search-form__row_1{background:#ff6163}.b-search-form_job .search-form__row_1{background:#97cf26}.b-search-form_realty .search-form__row_1{background:#0af}.b-search-form_service .search-form__row_1{background:#a169f7}.l-search-form{margin:0 0 20px;position:relative;z-index:1000}.b-search-form #district_id,.b-search-form #metro_id{float:right;width:180px}.b-search-form input[type=text]{vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.b-search-form .search:active{border-color:#c4dce7}.btn-checkbox-group input[type=checkbox]{display:none}.btn-checkbox,.btn-checkbox-group .btn-label{cursor:pointer;display:block;padding:5px 10px 4px;border:1px solid #999}.btn-checkbox{border:0;border-radius:0;float:left;margin:0;padding:0!important}.btn-checkbox-group .btn-first{border-bottom-left-radius:3px;border-top-left-radius:3px}.btn-checkbox-group .btn-last{border-bottom-right-radius:3px;border-top-right-radius:3px}.btn-checkbox-group .btn-label.active,.btn-checkbox-group .btn-label:active,.btn-checkbox-group .btn-label:focus:active,.btn-checkbox-group input[type=checkbox]:checked+.btn-label{outline:0;background:-webkit-gradient(linear,left top,left bottom,from(#da8900),to(#fde852));background:linear-gradient(to bottom,#da8900 0%,#fde852 100%)}.btn-checkbox-group input[type=checkbox]:checked+.btn-label{border:0;padding:6px 11px 4px}@media screen and (max-device-width:1024px){.b-search-form #category{width:245px}}.control-slider__labels{position:relative;height:30px;font-size:13px;line-height:15px;z-index:1}.control-slider__labels i{position:absolute;bottom:0;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}.control-slider__labels i:first-child,.control-slider__labels i:last-child{-webkit-transform:none;transform:none}.control-slider__labels i:first-child{left:0!important}.control-slider__labels i:last-child{left:auto!important;right:0}.control-slider__line{position:relative;z-index:1}.control-slider__bar-container{padding:8px 0}.control-slider__bar{position:relative;height:4px;background:#f6f6f6;-webkit-box-shadow:inset 0 0 0 1px #ddd;box-shadow:inset 0 0 0 1px #ddd;border-radius:2px}.control-slider__bar__content{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0091d9;border-radius:inherit}.control-slider .handle{position:absolute;top:50%;left:0;width:36px;height:20px;margin:-10px 0 0;border-radius:2px;background:#fff;-webkit-box-shadow:0 1px 3px #9b9b9b;box-shadow:0 1px 3px #9b9b9b;line-height:20px;text-align:center;white-space:nowrap;cursor:pointer}.control-slider .handle::before{content:attr(data-text)}.control-slider .handle-right{left:auto;right:0}.b-param-popups.tooltip{position:absolute;left:-5000px;padding:10px 9px;background:#fff;-webkit-box-shadow:0 1px 4px 0 rgba(24,80,120,.6);box-shadow:0 1px 4px 0 rgba(24,80,120,.6);z-index:1000}.b-param-popups.tooltip.tooltip_bottom{top:30px;font-family:Arial,sans-serif}.edge .b-param-popups.tooltip,.ie .b-param-popups.tooltip{-webkit-box-shadow:0 1px 7px 0 rgba(24,80,120,.6);box-shadow:0 1px 7px 0 rgba(24,80,120,.6)}.select-override{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:0 0;cursor:pointer}.hidden-input-for-tab{position:absolute;left:-10000px;top:0}.popup-param .labels{margin:-2px 5px 0;font-size:14px}.popup-param .labels li{display:inline-block;margin:0 17px 9px 0}.popup-param .labels .label{position:relative}.popup-param .labels .label::after{content:attr(data-text);display:none;position:absolute;left:0;top:0;color:#000;border-bottom:0 none;font-weight:700;line-height:17px;cursor:default}.popup-param .labels .active .label,.popup-param .labels li.apply.inactive,.popup-param .labels li.apply.invisible,.popup-param .labels li.uncheck.inactive,.popup-param .labels li.uncheck.invisible{visibility:hidden}.popup-param .labels .active .label::after{display:block;visibility:visible}.ie11 .popup-param .labels .label::after{position:static}.ie11 .popup-param .labels .active .label{visibility:visible;display:inline-block;line-height:0;text-indent:-9999px;border:0}.ie11 .popup-param .labels .active .label::after{text-indent:0;line-height:initial}.popup-param .labels.hidden-labels .active{display:none}.popup-param .labels li.apply,.popup-param .labels li.uncheck{float:right;margin-top:1px;font-size:13px}.popup-param .labels li.apply{margin-right:10px}.popup-param .labels li.uncheck{margin-right:0}.popup-param .tab-container{white-space:nowrap;font-size:0}.popup-param .tab-container-with-map{width:944px}.popup-param .tab{display:inline-block;overflow-y:auto;overflow-x:hidden;max-height:310px;background-attachment:local,scroll;background-clip:border-box,border-box;background-color:transparent;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(20%,#fff),to(rgba(255,255,255,0))),radial-gradient(farthest-side at 50% 0%,rgba(0,0,0,.3),transparent);background-image:linear-gradient(#fff 20%,rgba(255,255,255,0)),radial-gradient(farthest-side at 50% 0%,rgba(0,0,0,.3),transparent);background-origin:padding-box,padding-box;background-position:0 0,0 0;background-repeat:no-repeat;background-size:100% 23px,100% 7px}.popup-param .tab.inactive{width:0!important;height:0!important;display:block}.ipad .popup-param .tab.inactive{width:1px!important;height:0!important}.popup-param .tab.max-height-none{max-height:none}.popup-param .tab-col{display:inline-block;min-width:114px;margin-right:20px;vertical-align:top}.popup-param .many-cols .tab-col{min-width:0}.popup-param .tab label{display:block;margin:-2px 5px 0 0;padding-left:5px;white-space:nowrap;overflow:hidden;font-size:13px;line-height:25px}.popup-param[data-name=directions-select] .tab-col{min-width:142px}.search-form-delivery-regions{background-image:url(https://www.avito.st/s/cc/resources/05932b9c8130.svg);background-repeat:no-repeat;background-size:contain;background-position:0 3px;width:20px;display:inline-block;margin-left:-6px}


/*** theme form ***/


и выглядит это все дело так:

#69 25 октября 2018 в 12:18
Категории добавил в форму


  1. <?php
  2.  
  3. $this->addJS($this->getJavascriptFileName('jquery-chosen'));
  4. $this->addCSS($this->getTemplateStylesFileName('jquery-chosen'));
  5.  
  6. if(!$cats){ return false; }
  7.  
  8.  
  9. $cats_list = array(''=>'');
  10. foreach($cats as $cat){
  11.  
  12.  
  13. if ($cat['ns_level'] > 1){
  14.  
  15. $cat['title'] = str_repeat('-', $cat['ns_level']) . ' ' . $cat['title'];
  16.  
  17. }
  18.  
  19. $cats_list[$cat['slug']] = $cat['title'];
  20.  
  21.  
  22. }
  23.  
  24. if(!$cats_list){ return false; }
  25.  
  26. ?>
  27. <div class="b-search-form b-search-form_catalog">
  28. <form id="search_form" class="search-form__form js-search-form-catalog js-search-form" autocomplete="off" action="/search" method="post">
  29. <div class="search-form-main-controls js-search-form-main-controls">
  30. <div class="search-form-main-controls js-search-form-main-controls">
  31. <input class="js-search-tgr" name="s_trg" value="3" type="hidden">
  32. <input class="js-search-map" name="map" value="" type="hidden">
  33. <input class="js-token" name="token[9789578394569]" value="4fa2ff936aae1c7e" type="hidden">
  34. <input name="sgtd" type="hidden">
  35.  
  36. <div class="search-form__row search-form__row_1 f5GAosYEbrPc">
  37.  
  38. <div class="search-form__category">
  39. <div class="form-select-v2">
  40.  
  41. <div id="category" name="category_id" class="field ft_category_id">
  42. <?php echo html_select('category_id', $cats_list, $active_cat['slug'], array('id'=>'ft_category_id')); ?>
  43. </div>
  44.  
  45. </div>
  46. </div>
  47.  
  48. <div class="search-form__submit">
  49. <input value="Найти" class="search button button-origin" type="submit">
  50. </div>
  51.  
  52. <div class="search-form__direction">
  53. <div id="directions" class="form-select-v2 param" style="position: relative;">
  54. <select id="directions-select" class="directions" data-filter="1">
  55. <option data-prev-alias="region" value="">Регион</option>
  56. </select>
  57. <select multiple="" class="hidden-input-for-tab" id="directions-multiple" name="metro[]" hidden="hidden"></select>
  58. <div class="select-override"></div>
  59. </div>
  60. </div>
  61.  
  62. <div class="search-form__radius">
  63. <div class="form-select-v2 js-search-form-radius hidden">
  64. <select id="radius" class="js-search-form-radius-select" title="Радиус поиска">
  65. <option value="0" selected="">
  66. Населенный пункт
  67. </option>
  68. </select>
  69. </div>
  70. </div>
  71.  
  72. <div class="search-form__location">
  73. <div class="form-select-v2">
  74. <select id="region" name="location_id" class="js-search-form-region">
  75. <option value="621540" data-parent-id="">Страна</option>
  76. </select>
  77. </div>
  78. </div>
  79.  
  80. <div class="search-form__key-words">
  81. <div id="search_holder" class="search-form__key-words__search-holder">
  82. <input id="search_greyed" value="" spellcheck="false" data-suggest="true" maxlength="100" data-suggest-delay="" class="" tabindex="-1" style="position: absolute;" autocomplete="off" type="text"> <input id="search" name="name" value="" placeholder="Поиск по объявлениям" spellcheck="false" data-suggest="true" maxlength="100" data-suggest-delay="" class="suggest_search" autocomplete="off" type="text">
  83. </div>
  84. </div>
  85. </div>
  86.  
  87. <div class="search-form__row search-form__row_2 js-pre-filters" id="pre-filters" data-delivery-categories="null" data-delivery-locations="null">
  88. <label class="form-checkbox">
  89. <input class="js-by-title" name="bt" type="checkbox">
  90. <span class="form-checkbox__label">только в названиях</span>
  91. </label>
  92. <label class="form-checkbox">
  93. <input class="js-with-images" name="i" type="checkbox">
  94. <span class="form-checkbox__label">только с фото</span>
  95. </label>
  96. <label class="form-checkbox js-search-form-delivery hidden">
  97. <input class="js-search-form-delivery-checkbox" name="d" type="checkbox">
  98. <span class="form-checkbox__label">
  99. <span class="search-form-delivery-regions">&nbsp;</span>только с доставкой</span>
  100. </label>
  101. </div>
  102. </div>
  103. <div class="search-form-filters-inputs js-search-form-filters-inputs"></div>
  104. </form>
  105. <div class="search-filters-wrapper js-search-filters-wrapper " data-is-filters-mount="true"></div>
  106. </div>
  107.  
  108.  
  109. <BR><BR><BR><BR>
  110. <div class="fields">
  111. <div id="category_select_<?php echo $widget->id; ?>" class="field ft_category_id">
  112. <?php echo html_select('category_id', $cats_list, $active_cat['slug'], array('id'=>'ft_category_id')); ?>
  113. </div>
  114. <form action="/search" method="GET">
  115. <input type="hidden" name="view" value="search" />
  116. <span name="gosearch" class="gosearch dt-i-search"></span>
  117. <input type="text" name="q" value="<?php echo LANG_DEZZO_SITE_SEARCH; ?>" onClick="this.value=''" onFocusOut="if(this.value==''){this.value='<?php echo LANG_DEZZO_SITE_SEARCH; ?>';}" />
  118. </form>
  119. </div>
  120. <script>
  121. $(function (){
  122.  
  123. $('#ft_category_id','#category_select_<?php echo $widget->id; ?>').chosen({no_results_text: '<?php echo LANG_LIST_EMPTY; ?>', placeholder_text_single: '<?php echo LANG_SELECT; ?>', placeholder_text_multiple: '<?php echo LANG_SELECT_MULTIPLE; ?>', disable_search_threshold: 8, width: '25%', allow_single_deselect: true, search_placeholder: '<?php echo LANG_BEGIN_TYPING; ?>', search_contains: true, hide_results_on_select: false});
  124.  
  125. $('#ft_category_id','#category_select_<?php echo $widget->id; ?>').chosen().change(function(e){
  126. if($(this).val() == 0){
  127. window.location = '/<?php echo $ctype_name; ?>';
  128. }else{
  129. window.location = '/<?php echo $ctype_name; ?>/'+$(this).val();
  130. }
  131. });
  132.  
  133. });
  134. </script>

Пока не знаю, как добавить город, район, страну
#70 25 октября 2018 в 12:51

как добавить город, район, страну

@IRIPUS
В расширенной доске есть виджеты регион-город. Автор может смог бы чем-нибудь помочь...
думаю еще, что делать с новым виджетом… я в ступоре )
#71 25 октября 2018 в 13:22

В расширенной доске есть виджеты регион-город. Автор может смог бы чем-нибудь помочь...

@elv3327

Есть, но он и в стандартной есть — только вывод нужно поменять, сделать как у категорий
#72 25 октября 2018 в 13:27
  1.  
  2. <div id="category" name="category_id" class="field ft_category_id">
  3. <?php echo html_select('category_id', $cats_list, $active_cat['slug'], array('id'=>'ft_category_id')); ?>
  4. </div>
  5.  
вот так получаем список категорий

этот запрос нужно переделать, чтобы получать список регионов (как это в фильтре реализовано)
#73 25 октября 2018 в 13:36
Можно сделать предустановленные Страны в Опции и связку Регион — Город. Но нужно сделать предустановленные страны при добавлении в запись определенного Типа контента.
#74 25 октября 2018 в 14:45
Разрабатываются два форума и один шоп. Ребята, неужели для вас форумы важнее магазина?
Может и ошибаюсь, но мне кажется, что форумы больше для личных нужд а магазины для клиентских. Вывод, инстант используется больше для личных нужд, а клиентам можно повесить опенкарты и ко.
#75 25 октября 2018 в 14:58
Мультивыбор, мультипоиск по сайту по разным параметрам полезен в общем для движка и для любого сайта.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.