Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
12694 anikendra 1
      <script src="<?php echo base_url();?>assets/js/jquery.js" type="text/javascript"></script>
2
      <script src="<?php echo base_url();?>assets/js/jquery.nouislider.js" type="text/javascript"></script>
3
      <script src="<?php echo base_url();?>assets/css/jquery.nouislider.css" type="text/css"></script>
4
 
5
 
6
      <?php
7
      if(isset($search_list[0]->result->results) && (!empty($search_list[0]->result->results))) {
8
        $selectedFilters = array();
9
        $results = $search_list[0]->result?>
10
      <div class="pd-info-head ">
11
        <div class="name-hldr clearfix">
12
          <div>
13
            <?php if(isset($results->label) && !empty($results->label))?>
14
            <span><?php echo $results->label;?></span>
15
            <?php if((isset($results->totalCount)) && (!empty($results->totalCount))){
16
              $TotalPage = ceil($results->totalCount/10);?>
17
            <span>&#40;<?php echo $results->totalCount;?> results&#41;</span></div>
18
            <?php } ?>
19
          <div onclick="toggleListview(event);"></div>
20
        </div>
21
      </div><!--pd-info-head-->
22
      <div class="filter-div clearfix">
23
          <div onclick="toggleRefine(event)" class="sort">
24
            <span>
25
              <?php
26
              if(isset($results->sortedBy) && !empty($results->sortedBy)){               
27
              foreach($results->sortOptions as $key=>$value){ 
28
                if($results->sortedBy == $key){
29
                  $sortedBy = $results->sortedBy;
30
                  echo $value;  
31
                }
32
                 }
33
              }else{ echo "sort by";}  ?>
34
            </span>
35
          </div>
36
          <div onclick="toggleRefine(event)" class="filter">
37
            <span>
38
              Filter
39
            </span>
40
          </div>
41
          <!-- <div onclick="toggleRefine(event)" class="deals">
42
            <span>
43
             All
44
            </span>
45
          </div> -->
46
                   <div class="sort-by" style="display:none;" onclick="fireSort(event)">
47
         <?php foreach($results->sortOptions as $key=>$value){ ?>
48
              <div <?php if(isset($sortedBy) && $sortedBy == $key){ echo 'class="opt selected"';}?> data-val="<?php echo $key;?>" ><?php echo $value;?></div>
49
          <?php }?>
50
        </div><!--sort-by-->
51
        <div class="filter-by" style="display:none" onclick="fireFilter(event)">
52
          <div class="filter-head clearfix">
53
            <div class="clear" onclick="clearfilter(event)">Clear</div>
54
            <div class="apply" onclick="applyFilter1(event)">Apply</div>
55
          </div><!--btn-hldr-->
56
           <div class="filter-name">Price(Rs.)<span>+</span></div>
57
          <div class="filter-options ch-filter clearfix" style="display:none" >
58
          <div style="position:relative; height:40px;padding:10px 0;box-sizing: border-box;-webkit-box-sizing: border-box;">
59
            <span id="exTO" class="slider-input"><?php echo $results->minPrice; ?></span>
60
            <span id="exFR" class="slider-input"><?php echo $results->maxPrice; ?></span>
61
          </div>
62
          <div class="clear"></div>
63
 
64
            <div class="noUiSlider"></div>
65
            <div id="minprice" class="oprice" style="display:<?php if(isset($results->dynamicPriceMap) && !empty($results->dynamicPriceMap)){echo 'block';}else{echo 'none';} ?>"><?php if(isset($results->dynamicPriceMap) && !empty($results->dynamicPriceMap)) { echo $results->dynamicPriceMap->min; } else { echo $results->minPrice; }?></div>
66
            <div id="maxprice" class="oprice max" style="display:<?php if(isset($results->dynamicPriceMap) && !empty($results->dynamicPriceMap)){echo 'block';}else{echo 'none';} ?>"><?php if(isset($results->dynamicPriceMap) && !empty($results->dynamicPriceMap)) { echo $results->dynamicPriceMap->max; } else { echo $results->maxPrice; } ?></div>
67
          </div><!--filter-options -->
68
          <?php foreach($results->facets as $facets){ ?>
69
          <div class="filter-name"><?php if(isset($facets->displayText) && !empty($facets->displayText)) echo $facets->displayText;?><span>+</span></div>
70
          <div class="filter-options" style="display:none" >
71
          <?php $i=0;
72
          foreach($facets->filterOptions as $filterOptions){ ?>
73
            <div id="<?php echo $filterOptions->value;?>" <?php if(($filterOptions->value == 'Mobile Accessories') || ($filterOptions->value == 'Mobile Phone') || ($filterOptions->value == 'Cameras') || ($filterOptions->value == 'Tablets') || ($filterOptions->value == 'Laptop Accessories') || ($filterOptions->value == 'Smart Watches')){ ?> onclick="filterAccess('main',event)"<?php }else{ ?> onclick="filterAccess('brand',event)" <?php }?> data-parent="<?php echo $facets->displayText;?>" data-key="<?php echo $filterOptions->key; ?>" data-value="<?php echo $filterOptions->value; ?>" 
74
              <?php if($filterOptions->selected == 'true'){ 
75
                $selectedFilters[$i] = $filterOptions->value; $i++;?> 
76
                class="opt selected" <?php } else{?> class="opt"  <?php }?> >
77
                <?php  if(isset($filterOptions->nestedOptions) && !empty($filterOptions->nestedOptions)){ ?>
78
                +
79
                <?php }else{ ?>
80
                &#9633; 
81
                <?php } ?>
82
              <?php echo $filterOptions->value; ?>
83
             <span>&#40;<?php if($filterOptions->count != 1) echo $filterOptions->count." items";  else echo $filterOptions->count." item"; ?>&#41;</span></div>
84
 
85
 
86
                <?php  if(isset($filterOptions->nestedOptions) && !empty($filterOptions->nestedOptions)){ ?>
87
                  <div class='sub-filter' <?php if($filterOptions->selected == 'true'){ ?>style='display:block' <?php } else {?> style="display:none"<?php } ?>>
88
                <?php
89
                            foreach($filterOptions->nestedOptions as $nestedOptions){ ?>
90
                              <div data-key="<?php echo $nestedOptions->key; ?>" data-parent="<?php echo $filterOptions->value;?>" data-value="<?php echo $nestedOptions->value; ?>" 
91
                                 <?php if($nestedOptions->selected == 'true'){ ?> class="opt selected" <?php } else {?> class="opt" <?php } ?>
92
                                  <?php if(($filterOptions->value == 'Mobile Accessories') || ($filterOptions->value == 'Mobile Phone') || ($filterOptions->value == 'Cameras') || ($filterOptions->value == 'Tablets') || ($filterOptions->value == 'Laptop Accessories') || ($filterOptions->value == 'Smart Watches')){ ?> onclick="filterAccess('sub',event)"<?php }else{ ?> onclick="filterAccess('brand',event)" <?php }?> >
93
                                &#9633; <?php echo $nestedOptions->value;?>
94
                                <span>
95
                                  &#40;<?php if($nestedOptions->count != 1) echo $nestedOptions->count." items";  else echo $nestedOptions->count." item"; ?>&#41;
96
                                </span>
97
                              </div>
98
                            <?php } ?>
99
                    </div>  
100
                          <?php }
101
                  } ?>
102
 
103
          </div>
104
          <?php } ?>
105
          <div class="filter-head clearfix">
106
            <div class="clear" onclick="clearfilter(event)">Clear</div>
107
            <div class="apply" onclick="applyFilter1(event)">Apply</div>
108
          </div><!--btn-hldr-->
109
        </div><!--filter-by-->
110
      <div class="refine-mask" onclick="toggleRefine(event)"></div>
111
      </div><!--filter-div-->
112
 
113
      <div id="page" style="display:none">1</div>
114
      <input type = "hidden" id="count" value="<?=$TotalPage?>"/>
115
      <div id="appendlist" class="pd-list-hldr clearfix" >
116
        <?php foreach ($results->results as $result) { ?>
117
        <a class="pd-list" href="<?php echo base_url().$result->url;?>">
118
          <div class="pd-image" style='background:url("<?php echo str_replace("'","&#039;",$result->image_url);?>")no-repeat center center;background-size:contain;'></div>
119
          <?php if(!isset($result->dealprice)):?>
120
          <div class="pd-info">
121
            <div class="pdt-name"><?php echo $result->title;?></div>
122
            <div class="pdt-price">
123
              <?php if(isset($result->price) || isset($result->mrp)){?>
124
              <span class="pr">Rs</span>
125
              <?php if(isset($result->mrp) && $result->mrp != 0){ echo "<span class='pr-linethrough'>".$result->mrp. "</span>"; } ?>
126
              <?php if(isset($result->price) && $result->price != 0){?><span class="pr-original"><?php echo $result->price;?></span><?php }?>
127
            <?php }?>
128
            </div>
129
            <div class="pdt-spec"><?php echo $result->description;?> </div>
130
          </div> 
131
          <?php else:?>
132
          <div class="pd-info">
133
            <div class="pdt-name"><?php echo $result->title;?></div>      
134
            <div class="pdt-price">
135
              <?php if(isset($result->price) || isset($result->mrp)){?>
136
              <span class="pricetype">Site Price</span><span class="pr">Rs</span>
137
              <?php if(isset($result->mrp) && $result->mrp != 0){ echo "<span class='pr-linethrough'>".$result->mrp. "</span>"; } ?>
138
              <span class="pr-linethrough"><?php echo $result->price;?></span>
139
              <?php }?>
140
            </div>
141
            <?php if(isset($result->dealprice)):?>
142
            <div class="pdt-price pdeal-price">
143
                <span class="pricetype">Your Price</span><span class="pr">Rs</span> <span class="pr-original"><?php echo $result->dealprice;?></span>
144
            </div>
145
            <?php endif;?>
146
            <?php if(isset($result->offer_text) && !empty($result->offer_text)):?>
147
              <div class="pdt-offertext"><?php echo $result->offer_text  ;?> </div>
148
            <?php endif;?>
149
            <div class="pdt-spec"><?php echo $result->description;?> </div>
150
            <?php if(isset($result->dealColors) && !empty($result->dealColors) && $result->colorCount > 1 && trim($result->dealColors[0])!=''):?>
151
              <?php if(sizeof($result->dealColors) < $result->colorCount):?>
152
                <div class="pdt-offercolors">Offer available for : <?php echo implode(',',$result->dealColors);?></div>
153
              <?php elseif(sizeof($result->dealColors) == $result->colorCount):?>
154
                <div class="pdt-offercolors">Offer available on all colors</div>
155
              <?php endif;?>
156
            <?php endif;?>
157
          </div>
158
          <?php endif;?>
159
        </a>
160
        <?php } ?>
161
      </div>
162
      <div id="showmorebutton" class="load-more" style="display:none" onclick="showMore('<?php echo $_GET['q']?>');">Show More</div>
163
      <?php } else { ?>
164
      <div class="empty-list">
165
 
166
      </div><!--empty-msg-->
167
      <p class="empty-msg tcenter">No Products Found</p>
168
      <?php } ?>
169
      <script type="text/javascript">
170
      var items = <?php echo json_encode($selectedFilters);?>
171
      </script>
172
       <script>
173
      //max, min values for slider initialization
174
         var max = document.getElementById("maxprice").innerHTML;
175
         max = parseInt(max);
176
        var min = document.getElementById("minprice").innerHTML;
177
        min = parseInt(min);
178
          var smin = document.getElementById("exTO").innerHTML
179
          smin = parseInt(smin);
180
          var smax = document.getElementById("exFR").innerHTML
181
          smax = parseInt(smax);
182
        // Run noUiSlider
183
 
184
         $("#exTO").css({
185
                  left: 0 + '%'
186
                });
187
                $("#exFR").css({
188
                  left: 94 + '%'
189
                })
190
 
191
 
192
        $('.noUiSlider').noUiSlider({
193
          set: function(){
194
                var left = $($(".noUiSlider").find("a")[0]).offset().left;
195
                var right = $($(".noUiSlider").find("a")[1]).offset().left;
196
                var width = $(".noUiSlider").width();
197
 
198
 
199
            $("#exTO").css({
200
              left: ((left/width * 100) - 8 ) + '%'
201
            });
202
              $("#exFR").css({
203
                left: ((right/width * 100) - 15 ) + '%'
204
              });  
205
          },
206
           range: [min, max],
207
           start: [smin, smax],
208
           step: 1,
209
           handles: 2,
210
           slide:function(){
211
             var maxWidth = document.getElementsByClassName('filter-by')[0].clientWidth;
212
             var value = $(this).val();
213
              var from = value[0];
214
              var to = value[1];
215
 
216
            $("#exTO").text(value[0]);
217
            $("#exFR").text(value[1]);
218
 
219
          left = $($(".noUiSlider").find("a")[0]).offset().left;
220
          right = $($(".noUiSlider").find("a")[1]).offset().left;
221
          width = $(".noUiSlider").width();
222
 
223
          if(left < 0){
224
            left = 1;
225
          }
226
 
227
          if((right - left) > 70)
228
          {
229
            $("#exTO").css({
230
              left: ((left/width * 100) - 8 ) + '%'
231
            });
232
            if(right < maxWidth){
233
              $("#exFR").css({
234
                left: ((right/width * 100) - 15 ) + '%'
235
              })  
236
            }
237
          }
238
           }
239
 
240
        });
241
 
242
        var ominVal = document.getElementById('minprice').innerHTML;
243
        var omaxVal = document.getElementById('maxprice').innerHTML;
244
        var minVal = document.getElementById('exTO').innerHTML;
245
        var maxVal = document.getElementById('exFR').innerHTML;
246
 
247
         function filterAccess(el,e){
248
 
249
           if(e.currentTarget.className.indexOf('selected') != -1){
250
             e.currentTarget.className =  event.toElement.className.replace('selected', '');
251
             e.currentTarget.nextElementSibling.style.display = 'none'
252
              return false;
253
           }else{
254
             e.currentTarget.className = e.currentTarget.className + ' selected'; 
255
           }
256
           var url1, sp = e.currentTarget.getAttribute('data-value').replace(' ','+');
257
           if(el == 'main'){
258
               url1 = window.location.href.split('&')[0]+'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;  
259
           }else if(el == 'brand'){
260
             url1 = window.location.href +'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;
261
           }else if(el == 'sub'){
262
             eUrl = window.location.href;
263
             if( (localStorage.getItem("prev") != null) && (eUrl.indexOf(localStorage.getItem('prev').replace(' ','+')) != -1) ){
264
               url1 = eUrl.replace(localStorage.getItem('prev').replace(' ','+') , sp);
265
             }else{
266
               url1 = window.location.href +'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;
267
             }
268
            localStorage.setItem("prev", e.currentTarget.getAttribute('data-value') );
269
           }else{
270
            url1 = window.location.href
271
            url1 = url1.split('&');
272
            url1 = url1[0]+'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;
273
           }
274
           if((window.location.href.indexOf('minPrice') != -1) ){
275
             if((url1.indexOf('minPrice') == -1)){
276
                url1 = url1+'&minPrice='+document.getElementById('exTO').innerHTML+'&maxPrice='+document.getElementById('exFR').innerHTML;  
277
             }
278
           }
279
 
280
           window.location.assign(url1);
281
           e.stopPropagation();
282
 
283
         }
284
 
285
 
286
         function applyFilter1(e){
287
 
288
        var ominVal = document.getElementById('minprice').innerHTML;
289
        var omaxVal = document.getElementById('maxprice').innerHTML;
290
        var minVal = document.getElementById('exTO').innerHTML;
291
        var maxVal = document.getElementById('exFR').innerHTML;
292
        var url1;
293
          if(window.location.href.indexOf('minPrice') != -1){
294
              if((<?php echo $results->minPrice; ?> != minVal) || (<?php echo $results->maxPrice; ?> !=maxVal)){
295
                  url1 =  window.location.href.replace(<?php echo $results->minPrice; ?>,document.getElementById('exTO').innerHTML);
296
                  url1 =  url1.replace(<?php echo $results->maxPrice; ?>,document.getElementById('exFR').innerHTML);  
297
              }else{
298
                return false;
299
              }
300
          }else{
301
              url1 = window.location.href+'&minPrice='+document.getElementById('exTO').innerHTML+'&maxPrice='+document.getElementById('exFR').innerHTML;
302
            }
303
          window.location.assign(url1);
304
          e.stopPropagation();
305
         }
306
 
307
      </script>
308
 
309