MobileDetect и mFilter2 Никто не помогает!


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

Comments (21)

  1. Владислав 04 august 2016, 13:35 # 0
    Так ведь, судя по вопросу, два фильтра не могут одновременно появиться на странице.
    1. uplink-d3 04 august 2016, 15:23 # 0
      а они и не появляются на одной странице.
      Между одним тегом standart фильтр
      и между тегом mobile фильтр
      Когда человек заходит с какого-то устройства, например, телефона, то всё, что в теге стандарт оно отсекается и у нас показывает всё в теге mobile.
      1. Владислав 04 august 2016, 15:47 # 0
        А как получается, что два фильтра на одной странице?
        1. uplink-d3 05 august 2016, 09:17 # 0
          Потому что они в одном шаблоне для категории продуктов.
          А ресурсу шаблон нельзя менять, т.к. шаблон мобильной версии он уникальный для других сайтов.
          И всё это нужно проделать в одном шаблоне.
          Поэтому я и пишу, что в теге standard один фильтр и он показывается для ПК, другой фильтр в mobile, он показывается для мобилок.
          1. Владислав 05 august 2016, 10:07 # 0
            ссылкой поделишься?
            1. uplink-d3 05 august 2016, 10:19 # 0
              Справа на слайдере потыкай фильтр
              flowers-kurgan.ru/buketyi/
              Когда появится список продуктов, то увидишь, что у них другое оформление, это как раз и будет оформление мобилки, а должно быть оформление как у сайта.
              1. Владислав 05 august 2016, 10:23 # 0
                понял. А шаблона покажи где эти оба вызова происходят. У тебя они как я понял отличаются лишь tpl?
                1. uplink-d3 05 august 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>
                  
                  1. Владислав 05 august 2016, 10:31 # 0
                    ого. ты весь контент засунул в эти теги. типа мобильной версии на одном и том же шаблоне. тут мало разметки, лучше бы ты скрывал и показывал стилями media queries, и вызов mfilter сделал бы 1, а уже внутри чанка tpl сделал mobile и standard
                    1. uplink-d3 05 august 2016, 10:39 # 0
                      Стандартный шаблон и шаблон мобильной версии они совсем разные, поэтому контент и пихается в эти теги.
                      Через медиа запросы не будет работать, потому что ещё раз повторюсь, у мобильного шаблона один контент и это решение для всех сайтов, а у сайта совсем другой шаблон может быть и он не подходит для мобильного.
                      Если бы было всё так просто, я бы, естественно, менял стили, а тут не стили менять уже надо, а у ресурсов шаблон и теги.
                      1. Владислав 05 august 2016, 10:41 # +1
                        ну ок. подели хотябы контент на две части, главное чтобы вызов mfilter был 1.
                        <mobile>1 часть мобильного шаблона</mobile>
                        <standard>1 часть стандартного шаблона</standard>
                        [[!mfilter2]]
                        <mobile>2 часть мобильного шаблона</mobile>
                        <standard>2 часть стандартного шаблона</standard>
                        
                        1. uplink-d3 05 august 2016, 11:03 # 0
                          Попробовал разделить, в чанке в эти два тега распределил другой формат вывода, но теперь он их по два раза выводит и с тегом mobile тоже выводит.
                          1. Владислав 05 august 2016, 11:11 # 0
                            то есть ты сделал 1 вызов mfilter, а в tpl засунул разметку для мобилы и десктопа
                            <mobile>html для товара на мобиле</mobile>
                            <standard>html для товара на десктопе</standard>
                            
                            странно что не работает. Но тут на крайняк ты можешь скрывать через стили
                            1. uplink-d3 05 august 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>
                              
                              1. Владислав 05 august 2016, 11:15 # 0
                                tpl.Products а тут что?
                                1. uplink-d3 05 august 2016, 11:16 # 0
                                  Чанк вывода товара.
                                  1. Владислав 05 august 2016, 11:19 # 0
                                    код
                                    1. uplink-d3 05 august 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>
                                      
                    2. Владимир 05 august 2016, 01:00 # 0
                      Такая же фигня, дублировался товар, потом закоментил мобайл все заработало как надо, раскомментил и все глючить перестало…
                      1. uplink-d3 05 august 2016, 09:25 # 0
                        Пробовал закомментировать mobile, но фильтр даже в закомментированом виде работает и перекрывает верхний.
                      2. Karpunin Alexey 29 august 2016, 11:39 # 0
                        Та же история, дублируется товар или перезаписывает.
                        You need to login to create comments.