PdoPage rel="next"

Что то происходит странное с PdoPage, генерирует криво релы, вроде все настроено из коробки а глюк странный…
Влад
11 июня 2017, 10:10
modx.pro
2 143
0

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

Володя
11 июня 2017, 14:37
0
вызов PdoPage некэшируемый да?
    Влад
    11 июня 2017, 15:12
    0
    Привет Володя! Вообще я тупанул и написал pdoPage, вообще там mFilter, но он как я понимаю использует пагинатор pdoPage. Все компоненты последних версий включая админку.
    Вызов:
    [[!mFilter2?
        					&limit=`15`
        					&parents=`3`
        					&element=`msProducts`
        					&tplOuter=`tpl.mFilter2.outer`
        					&tplPageWrapper=`@INLINE <div class="pagination"><ul class="uk-pagination">[[+prev]][[+pages]][[+next]]</ul></div>`
                    	&tplPageActive=`@INLINE <li class="active uk-active"><span>[[+pageNo]]</span></li>`
                    	&tplPage=`@INLINE <li><a href="[[+href]]"><span>[[+pageNo]]</span></a></li>`
                    	&tplPagePrev=`@INLINE <li><a href="[[+href]]"><i class="uk-icon-angle-double-left"></i></a></li>`
                    	&tplPageNext=`@INLINE <li><a href="[[+href]]"><i class="uk-icon-angle-double-right"></i></a></li>`
                    	&tplPageFirst=`@INLINE <li><a href="[[+href]]">[[%pdopage_first]]</a></li>`
                    	&tplPageLast=`@INLINE <li><a href="[[+href]]">[[%pdopage_last]]</a></li>`
                    	&pageLimit=`8`
        					&filters=`
        						ms|price:number
        						,msoption|order
        						,ms|made_in
        						,ms|vendor:vendors
        						,msoption|size
        						,msoption|nestRazmer:boolean
        						,msoption|tolshina
        						,msoption|color
        						,msoption|material-polotna
        						,msoption|konstrukcia
        						,msoption|varianty-stekla
        						,msoption|polotno
        					`
        					&tpls=`tpl.msProducts.row`
        					&class=`msProduct`
        					&suggestionsRadio=`msoption|color,msoption|decor-outer,msoption|decor-inner,ms|vendor:vendors,msoption|tolshina,msoption|list-metall,msoption|size,msoption|color-outer,msoption|color-inner`
        					
        					&tplFilter.outer.msoption|color=`tpl.mFilter2.filter.select`
                            &tplFilter.row.msoption|color=`tpl.mFilter2.filter.option`
                            
        					&tplFilter.outer.msoption|size=`tpl.mFilter2.filter.select`
                            &tplFilter.row.msoption|size=`tpl.mFilter2.filter.option`
                            
        					&tplFilter.outer.ms|vendor=`tpl.mFilter2.filter.select`
                            &tplFilter.row.ms|vendor=`tpl.mFilter2.filter.option`
                            
        					&tplFilter.outer.msoption|tolshina=`tpl.mFilter2.filter.select`
                            &tplFilter.row.msoption|tolshina=`tpl.mFilter2.filter.option`
                            
        					&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`    					
        					&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
    				    ]]
    Написал бы в тех поддержку но mSearch был куплен более года назад(((
      Влад
      11 июня 2017, 15:15
      0
      ТАк же могу отметить что miniShop2Config вызывается так же два раза, а данные первого rel="" кешируются из первого вызова…
        Андрей
        14 июня 2017, 16:13
        0
        Попробуйте отключить кэш в самом ресурсе где у вас вызывается пагинация. Обнаружили такую же проблему,
        снятие галки Кэшируемый в ресурсе помогает, но это не очень хороший выход.
      Александр
      19 октября 2017, 22:11
      0
      У меня тоже самое на 2 сайтах. Помогите решить, пожалуйста.
      Код первого сайта:
      [[$head]]
      [[$header]]
      		<main class="container">
      			[[$breadcrumbs]]
      			<h1 id="msCategoryTitle"><span>[[*pagetitle]]</span></h1>
      			[[$sidebar]]
      			<div id="msCategory" class="col-md-9 col-lg-10">
      				[[!pdoPage:default=`<h3>В этой категории товаров нет</h3>`?
      					&element=`msProducts`
      					&tpl=`tpl.msProducts.rowCustom`
      					&limit=`12`
      					&depth=``
      					&sortby=`{"Data.price": "ASC", "pagetitle": "ASC"}`
      					&tplPageActive=`@INLINE <li class="active"><span>[[+pageNo]]</span></li>`
      				]]
      				[[!+page.nav]]
      			</div>
      		</main>
      [[$footer]]
      Код второго сайта (начало вызова):
      [[!mFilter2?
              &paginator=`pdoPage@allHouses`
      Проблема, кажется, в кэшировании, так как если очистить кэш MODX и браузера и зайти на любую страницу, например, с page=3, то на всех других страницах помимо правильных rel'ов будут кэшированные rel=«prev» page=2 и rel=«next» page=4.
        Igor Ivanov
        20 октября 2017, 06:39
        0
        Тоже такая же беда, и никак это не побороть.
          Igor Ivanov
          20 октября 2017, 08:33
          0
          Причем если кто-то опубликует ссылку на ваш сайт с заглавными буквами в адресе, то будет дубль каноникала, один с нормальным написанием, второй с заглавными. Можете попробовать зайти на какую-нибудь страницу, написав ее адрес с заглавной буквы и посмотрите код страницы. В результате страница может просто вылететь из индекса, на ее место встанет неправильная, с заглавными в адресе. У меня так на одном сайте произошло. Как-то можно принудительно заставить pdoPage формировать каноникал только из строчных символов?
          <img src="" />
            Александр
            20 октября 2017, 09:52
            0
            Если это дубли, то помимо pdoPage нужно править .htaccess. А для pdoPage не очевидно, что все буквы должны быть строчными.
            У меня rel=«canonical» не дублируется, только кэшируется.
              Igor Ivanov
              20 октября 2017, 10:42
              0
              Я не говорю, что pdoPage неправ, мне просто надо найти способ заставить его делать canonical в нижнем регистре вне зависимости от того, как набран адрес страницы.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          9