MobileDetect и mFilter2

Здравствуйте!
Такая проблема:
Один шаблон, в нём два тега mobile и standard
В них вызывается mFilter2, т.е. для ПК и для мобильной версии.
Получается так, что фильтр, который ниже, он перезаписывает верхний и получается каша. Как с этим быть?
Причём, на других шаблонах все снипеты нормально функционируют, только этот снипет конфликтует.
uplink-d3
04 августа 2016, 08:34
809
0

Комментарии: 21

Владислав
04 августа 2016, 13:35
0
Так ведь, судя по вопросу, два фильтра не могут одновременно появиться на странице.
    uplink-d3
    04 августа 2016, 15:23
    0
    а они и не появляются на одной странице.
    Между одним тегом standart фильтр
    и между тегом mobile фильтр
    Когда человек заходит с какого-то устройства, например, телефона, то всё, что в теге стандарт оно отсекается и у нас показывает всё в теге mobile.
      Владислав
      04 августа 2016, 15:47
      0
      А как получается, что два фильтра на одной странице?
        uplink-d3
        05 августа 2016, 09:17
        0
        Потому что они в одном шаблоне для категории продуктов.
        А ресурсу шаблон нельзя менять, т.к. шаблон мобильной версии он уникальный для других сайтов.
        И всё это нужно проделать в одном шаблоне.
        Поэтому я и пишу, что в теге standard один фильтр и он показывается для ПК, другой фильтр в mobile, он показывается для мобилок.
          Владислав
          05 августа 2016, 10:07
          0
          ссылкой поделишься?
            uplink-d3
            05 августа 2016, 10:19
            0
            Справа на слайдере потыкай фильтр
            flowers-kurgan.ru/buketyi/
            Когда появится список продуктов, то увидишь, что у них другое оформление, это как раз и будет оформление мобилки, а должно быть оформление как у сайта.
              Владислав
              05 августа 2016, 10:23
              0
              понял. А шаблона покажи где эти оба вызова происходят. У тебя они как я понял отличаются лишь tpl?
                uplink-d3
                05 августа 2016, 10:26
                0
                <!DOCTYPE html>
                <html lang="ru">
                    [[$head]]
                	<body>
                <standard>
                            <section>
                            	[[$header]]
                                [[$menu]]
                                <div class="content" id="mse2_mfilter">
                                	<article>
                                	    <p class="h2" style="margin-bottom: 20px;">[[*pagetitle]]</p>
                                	    <ul class="products" id="mse2_results">
                                	        [[+my.results]] 
                                	        [[!myTovar]]
                                        </ul>
                                        <div class="text">
                                           [[*content]]
                                        </div>
                                    </article>
                <aside>
                
                <div class="slider-comments">
                    				    <div class="left"></div>
                    				    <div class="right"></div>
                    				    <h3 class="title">Последние отзывы</h3>
                    				    <div class="wrap">
                    				        <div class="inline">
                    				            [[!getComments? &allowGuest=`1`&limit=`5`&tpl=`comment_row`&depth=`1`&level=`1`&sortdir=`DESC`&where=`{"parent":"0"}`]]
                    				        </div>
                    				    </div></div>
                
                                	<div class="block-check">
                                    	<div class="head">
                                        	<p>Подобрать</p>
                                            <p>по вашим параметрам:</p>
                                        </div>
                                        [[!mFilter2?
                                            &limit=`1000`
                                            &class=`msProduct`
                                            &element=`msProducts`
                                            &suggestions=`false`
                                            &includeTVs=`akci`
                                            &filters=`
                                                msoption|VID,
                                                msoption|SOB,
                                                ms|price:number
                                            `
                                            &toPlaceholders=`my.`
                                            &parents=`0`
                                            &tpl=`tpl.Products`
                                            &tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
                                            &tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
                                        ]]
                                        <form id="mse2_filters" action="" method="post">
                                             [[+my.filters]]
                                        </form>
                                    </div>
                                </aside>
                                    <div class="clr"></div>
                                </div>
                                [[$footer]]
                            </section>
                            <div class="button-up"></div>
                </standard>
                <mobile>
                    	    <div class="container">
                    	        [[$mnavbar]]
                    			<section>
                    				<div class="head">					
                    					<h2>[[*pagetitle]]</h2>
                    				</div>
                                    <div class="items">
                        				[[!msProducts? 
                                			&parents=`[[*id]]`
                                			&tpl=`m.tpl.Products`
                                			&sortby=`editedon`
                                            &sortdir=`DESC`
                                		]]
                                    </div>
                                        [[!mFilter2?
                                            &limit=`1000`
                                            &class=`msProduct`
                                            &element=`msProducts`
                                            &suggestions=`false`
                                            &includeTVs=`akci`
                                            &filters=`
                                                msoption|VID,
                                                msoption|SOB,
                                                ms|price:number
                                            `
                                            &toPlaceholders=`my.`
                                            &parents=`0`
                                            &tpl=`m.tpl.Products`
                                            &tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
                                            &tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
                                        ]]
                                        <form id="mse2_filters" action="" method="post">
                                             [[+my.filters]]
                                        </form>
                    			</section>
                            	[[$mfooter]]
                    	    </div>
                </mobile>
                	</body>
                </html>
                  Владислав
                  05 августа 2016, 10:31
                  0
                  ого. ты весь контент засунул в эти теги. типа мобильной версии на одном и том же шаблоне. тут мало разметки, лучше бы ты скрывал и показывал стилями media queries, и вызов mfilter сделал бы 1, а уже внутри чанка tpl сделал mobile и standard
                    uplink-d3
                    05 августа 2016, 10:39
                    0
                    Стандартный шаблон и шаблон мобильной версии они совсем разные, поэтому контент и пихается в эти теги.
                    Через медиа запросы не будет работать, потому что ещё раз повторюсь, у мобильного шаблона один контент и это решение для всех сайтов, а у сайта совсем другой шаблон может быть и он не подходит для мобильного.
                    Если бы было всё так просто, я бы, естественно, менял стили, а тут не стили менять уже надо, а у ресурсов шаблон и теги.
                      Владислав
                      05 августа 2016, 10:41
                      +1
                      ну ок. подели хотябы контент на две части, главное чтобы вызов mfilter был 1.
                      <mobile>1 часть мобильного шаблона</mobile>
                      <standard>1 часть стандартного шаблона</standard>
                      [[!mfilter2]]
                      <mobile>2 часть мобильного шаблона</mobile>
                      <standard>2 часть стандартного шаблона</standard>
                      uplink-d3
                      05 августа 2016, 11:03
                      0
                      Попробовал разделить, в чанке в эти два тега распределил другой формат вывода, но теперь он их по два раза выводит и с тегом mobile тоже выводит.
                      Владислав
                      05 августа 2016, 11:11
                      0
                      то есть ты сделал 1 вызов mfilter, а в tpl засунул разметку для мобилы и десктопа
                      <mobile>html для товара на мобиле</mobile>
                      <standard>html для товара на десктопе</standard>
                      странно что не работает. Но тут на крайняк ты можешь скрывать через стили
                      uplink-d3
                      05 августа 2016, 11:13
                      0
                      Вот, что получилось
                      <!DOCTYPE html>
                      <html lang="ru">
                          [[$head]]
                      	<body>
                      <standard>
                          <section>
                          [[$header]]
                          [[$menu]]
                          <div class="content" id="mse2_mfilter">
                          <article>
                              <p class="h2" style="margin-bottom: 20px;">[[*pagetitle]]</p>
                              <ul class="products" id="mse2_results">
                                  [[+my.results]] 
                                  [[!myTovar]]
                              </ul>
                              <div class="text">
                                 [[*content]]
                              </div>
                          </article>
                          <aside>
                              <div class="slider-comments">
                                  <div class="left"></div>
                                  <div class="right"></div>
                                  <h3 class="title">Последние отзывы</h3>
                                  <div class="wrap">
                                      <div class="inline">
                                          [[!getComments? &allowGuest=`1`&limit=`5`&tpl=`comment_row`&depth=`1`&level=`1`&sortdir=`DESC`&where=`{"parent":"0"}`]]
                                      </div>
                                  </div>
                              </div>
                      
                          <!--<div class="slider-comments">
                                  <div class="prev"></div>
                                  <div class="next"></div>
                                  <h3 class="title">Получатели букетов</h3>
                                  <div id="owl-demo" class="owl-carousel owl-theme">
                                      [[!ms2Gallery?
                                          &parents=`0`
                                          &resources=`481`
                                          &tplOuter=`@INLINE [[+rows]]`
                                          &tplRow=`@INLINE <div class="item"><img src="[[+300x300]]" alt=""></div>`
                                      ]]
                                  </div>
                              </div>-->
                          	<div class="block-check">
                              	<div class="head">
                                  	<p>Подобрать</p>
                                      <p>по вашим параметрам:</p>
                                  </div>
                      </standard>
                      <mobile>
                          <div class="container">
                              [[$mnavbar]]
                      		<section>
                      			<div class="head">					
                      				<h2>[[*pagetitle]]</h2>
                      			</div>
                                  <div class="items">
                      				[[!msProducts? 
                              			&parents=`[[*id]]`
                              			&tpl=`m.tpl.Products`
                              			&sortby=`editedon`
                                          &sortdir=`DESC`
                              		]]
                                  </div>
                      </mobile>
                          [[!mFilter2?
                              &limit=`1000`
                              &class=`msProduct`
                              &element=`msProducts`
                              &suggestions=`false`
                              &includeTVs=`akci`
                              &filters=`
                                  msoption|VID,
                                  msoption|SOB,
                                  ms|price:number
                              `
                              &toPlaceholders=`my.`
                              &parents=`0`
                              &tpl=`tpl.Products`
                              &tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
                              &tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
                          ]]
                          <form id="mse2_filters" action="" method="post">
                               [[+my.filters]]
                          </form>
                      <standard>
                          </div>
                          </aside>
                          <div class="clr"></div>
                          </div>
                          [[$footer]]
                          </section>
                          <div class="button-up"></div>
                      </standard>
                      <mobile>
                          			</section>
                                  	[[$mfooter]]
                          	    </div>
                      	    </mobile>
                      	</body>
                      </html>
                      Владислав
                      05 августа 2016, 11:15
                      0
                      tpl.Products а тут что?
                      uplink-d3
                      05 августа 2016, 11:16
                      0
                      Чанк вывода товара.
                      Владислав
                      05 августа 2016, 11:19
                      0
                      код
                      uplink-d3
                      05 августа 2016, 11:19
                      0
                      <standard>
                          <li class="product">
                              <form method="post" class="ms2_form">
                                  <p class="buyoneclk" onclick="$(this).parents('.product').children('.fast-order').fadeIn(200);$('.b-b').fadeIn(200);">Купить в один клик</p>
                                  [[+akci:is=`1`:then=`<div class="akcii"></div>`]]
                                  <span class="add product_[[+id]]" onclick="add_favorite([[+id]],this,1);return false;"></span>
                                  <a href="[[+uri]]"><img src="[[+thumb:default=`[[++assets_url]]components/minishop2/img/web/ms2_small.png`]]" width="248" height="244" alt="[[+pagetitle]]"></a>
                                  <strong>[[+pagetitle]]</strong>
                                  <p>[[+introtext]]</p>
                                  <div>
                                      <strong>[[+price]]  руб. [[+old_price:ne=`0`:then=`<span style="text-decoration:line-through;font-size:19px;color:#7B7B7B;">[[+old_price]] руб.</span>`]]</strong>
                                      <div><button class="btn btn-default addcart" type="submit" name="ms2_action" value="cart/add">ЗАКАЗАТЬ</button></div>	
                                  </div>
                                  <!--noindex-->
                                  <input type="hidden" name="id" value="[[+id]]">
                              	<input type="hidden" name="count" value="1">
                              	<input type="hidden" name="options" value="[]">
                              	<!--/noindex-->
                              </form>
                              <div class="fast-order">
                              	<div class="title">
                              		Быстрый заказ
                              		<a onclick="$('.fast-order, .b-b').fadeOut(200);return false;" style="position:absolute;color: #000;font-size: 11px;top: 2px;right: 9px;" href="#">Закрыть</a>
                              	</div>
                              	[[!AjaxForm?
                                  	&snippet=`FormIt`
                                  	&form=`tpl.fastOrder`
                                  	&hooks=`email`
                                  	&emailSubject=`Купить в один клик`
                                  	&emailTo=`vse.zackazy@yandex.ru`
                                  	&validate=`name:required,phone:required`
                                  	&validationErrorMessage=`В форме содержатся ошибки!`
                                  	&successMessage=`Заказ успешно отправлен`
                                  	&emailTpl=`sentEmailTpl2`
                                  	&id=`[[+id]]`
                                  	&thumb=`[[+thumb]]`
                                  	&pagetitle=`[[+pagetitle]]`
                                  	&price=`[[+price]]`
                                  ]]
                              </div>
                          </li>
                      </standard>
                      <mobile>
                          <div class="flip-container">	
                          	<div class="flipper">
                          		<div class="front">
                          		    <form method="post" class="ms2_form">
                                  		<a href="/[[+uri]]" class="item">
                                  			<img src="[[+344x230]]" width="344" height="230">
                                  			
                                  			<div class="pricetwo">
                                  			    <span class="old-price">3 490 ₽</span>
                                  			    <span class="price">[[+price]]₽</span>
                                  			</div>
                                  			<div class="three">
                                  			    <p><span class="name">[[+pagetitle]]</span></p>
                                      			<p class="intro">[[+introtext]]</p>
                                      			<button class="buy" type="submit" name="ms2_action" value="cart/add">КУПИТЬ</button>
                                  			</div>
                                  		</a>
                                  		<input type="hidden" name="id" value="[[+id]]">
                                      	<input type="hidden" name="count" value="1">
                                      	<input type="hidden" name="options" value="[]">
                          			</form>
                          		</div>
                          		<div class="back">
                          				<img src="/m.flowers-kurgan.ru/img/flip/ok.png">
                          				<p>Успех!</p>
                          				<p>[[+pagetitle]] добавлен в корзину</p>
                          		</div>
                          	</div>
                          </div>
                      </mobile>
    Владимир
    05 августа 2016, 01:00
    0
    Такая же фигня, дублировался товар, потом закоментил мобайл все заработало как надо, раскомментил и все глючить перестало…
      uplink-d3
      05 августа 2016, 09:25
      0
      Пробовал закомментировать mobile, но фильтр даже в закомментированом виде работает и перекрывает верхний.
    Karpunin Alexey
    29 августа 2016, 11:39
    0
    Та же история, дублируется товар или перезаписывает.