Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #4
Володя
19 марта 2014, 01:14
0
Ну подкалываю да))) Но и научно-познавательный интерес тоже имеется!
Хабр не последний ресурс, но там своя специфика… А так вообще в комментах картинки интересно…
Володя
17 марта 2014, 23:58
-2
Я с фронта хочу картинки загружать… Вот прям здесь где пишу. Научите а..)))
Володя
17 марта 2014, 18:16
0
так удалите их у всех товаров
Володя
17 марта 2014, 01:48
+1
ну во) другое дело…
можно несколько опций —
<div class="select">
    [[+rows]]
 </div>			
 <script>
    function select(element) {
    if($(element).hasClass('active')){
        $(element).removeClass('active');
        $("select[name='options[[[+name]]]']").find('option').removeAttr('selected')
    } else {   
        var value = $(element).data("value");
        $(element).siblings().removeClass('active');
        $(element).addClass('active');
        $("select[name='options[[[+name]]]']").find('option').removeAttr('selected')
        $("select[name='options[[[+name]]]']").find("option[value="+ value +"]").attr("selected","selected")
     }
 }
</script>
Володя
17 марта 2014, 01:08
0
ну если вы умеете, то возьмите и напишите…
Как смог так помог.
Володя
16 марта 2014, 23:33
+1
вызов на странице продукта —
[[!msOptions?
&tplRow=`tpl.msOptions.row.my`
&tplOuter=`tpl.msOptions.outer.my`
&name=`size`
]]
<span style="display:none">[[!msOptions?name=`size`]]</span>
чанки — tpl.msOptions.outer.my
<div class="select">
    [[+rows]]
</div>			
<script>
  function select(element) {
  var value = element.getAttribute("data-value");
  var nodes = element.parentNode.childNodes;
  for (var i = 0; i < nodes.length; i++) {
    if (nodes[i] instanceof HTMLParagraphElement) {
       if (value == nodes[i].getAttribute("data-value")) nodes[i].className = "active";
      else nodes[i].className = "";
    }
  }
  $(document.getElementsByName("options[size]")).find("option[value="+ value +"]").attr("selected","selected")
}
</script>
чанк — tpl.msOptions.row.my
<p data-value="[[+value]]" onclick="select(this)" class="">[[+value]]</p>
велосипед конечно, но едет)))
пример тут — s5351.test.modx.pro/index.php?id=6
p.s. стилизуем на свой вкус)
Володя
16 марта 2014, 21:51
0
пардон… не так понял) Выше не то
Володя
16 марта 2014, 20:49
+1
стандартный то чем не угодил? стилизуй с помощью css…
Володя
15 марта 2014, 20:05
0
И наверно вряд ли задружат вдвоем...Pdopage необходимо знать сколько элементов всего в выборке, затем бьет по страницам. А JSONDerulo вряд ли получает количество постов или чего там… соответственно пагинации нет
Володя
14 марта 2014, 11:14
+1
Кратко описал тут — bezumkin.ru/sections/tips_and_tricks/2843/
Володя
14 марта 2014, 09:21
1
+1
пошел дальше и немного переписал код, теперь можно несколько независимых пагинаций на странице вызывать
<h2>первый вызов</h2> 
 
[[!AjaxSnippet?
&snippet=`pdoPage`
&element=`msProducts`
&tpl=`tpl.msProducts.row`
&limit=`3`
&depth=`1`
&parents=`4`
&showLog=`0`
&page=`[[!geturi]]` 
&as_mode=`onload`   
&wrapper=`
<div class="pagin [[+key]]"></div>

<div id="[[+key]]" class="ajax-snippet">
			<img src=" " class="as_spinner" style="width:32px;margin:auto;display:block;">
</div>

<div class="pagin [[+key]]"></div>
`
]] 

<h2>второй вызов</h2>
[[!AjaxSnippet?
&snippet=`pdoPage`
&element=`msProducts`
&tpl=`tpl.msProducts.row`
&limit=`3`
&depth=`1`
&parents=`4`
&showLog=`0`
&sortdir=`DESC`
&page=`[[!geturi]]` 
&pageVarKey=`page2`
&as_mode=`onload`   
&wrapper=`
<div class="pagin [[+key]]"></div>

<div id="[[+key]]" class="ajax-snippet">
			<img src=" " class="as_spinner" style="width:32px;margin:auto;display:block;">
</div>

<div class="pagin [[+key]]"></div>
`
]] 

<script>
    
    $(document).on('as_complete', document, function(e,d) {
 
    $(".pagin."+d["key"]).append(d["pagination"]);
 
	$(document).on('click', '.pagination a', function(e) {
	e.preventDefault();
    var url = $(this).attr('href');
    //console.log(url);

    $.post(url, {as_action: d["key"]}, function(response) {
	    if (typeof response.output !== "undefined") {
		    $('.ajax-snippet#'+d["key"]).html(response.output);
		
		    $(".pagin."+d["key"]).html(response.pagination); 

	      }
    }, "json");                  
                    
 
    }); 
});
    
</script>
смотреть тут — s5322.test.modx.pro/ayaks-snippet-neskolko-vyizovov.html
Володя
14 марта 2014, 08:47
0
Делюсь)
код на странице
<div class="pagin"></div>

[[!AjaxSnippet?
&snippet=`pdoPage`
&element=`msProducts`
&tpl=`tpl.msProducts.row`
&limit=`3`
&depth=`1`
&parents=`4`
&showLog=`0`
&page=`[[!geturi]]` 
&as_mode=`onload`   
]] 

<script>
    $(document).on('as_complete', document, function(e,d) {
    $(".pagin").append(d["pagination"]);
	//console.log(d["pagination"]);

	$(document).on('click', '.pagination a', function(e) {
	e.preventDefault();
    var url = $(this).attr('href');
    //console.log(url);

    $.post(url, {as_action: d["key"]}, function(response) {
	    if (typeof response.output !== "undefined") {
		    $('.ajax-snippet').html(response.output);
		
		    $(".pagin").html(response.pagination); 

	      }
    }, "json");                  
                    
 
    }); 
});
    
</script>


<div class="pagin"></div>
[[!geturi]]
<?php
$filter = $_GET['page'];
return $filter;
смотреть что получилось тут — s5322.test.modx.pro/test.html
Володя
14 марта 2014, 08:44
0
Да это я уже тут начудил ночью… щас все проверил, нормально работает
Володя
13 марта 2014, 23:55
0
сделал с грехом пополам… но почему то возвращаемый контент двоится…
Володя
13 марта 2014, 21:47
0
Хотя знаешь задумался, и чет никак не соображу как тут подступиться с аякс пагинацией,
Ну вывести пагинацию это все понятно, перехватить клик по пагинации — тоже понятно.
А вот как организовать запрос к сниппету на этой же странице с выводом содержимого в этот же блок?
Я продумал до отправки post запроса и понял что я не знаю как мне подгрузить страницу и чтоб еще сработало событие as_complete и взять ответ в json…
Если шариш — хотя бы теоретически подскажи порядок действий,
Спасибо!
Володя
13 марта 2014, 18:00
0
Ну обертка да. Помоему тут Василий как раз и говорит о том что можно сделать аякс пагинацию…
$(document).on('as_complete', document, function(e,d) {
	console.log(d);
});
данные же у нас все приходят…
Володя
12 марта 2014, 18:14
0
ну да после одного раза все нормуль, я это прекрасно знаю… просто думал у меня одного так…
Володя
12 марта 2014, 18:01
0
Для Василия.)
Пишу сюда, ранее где то тебе писал, но уже не могу найти…
У тебя такой же глюк присутствует на сайте после очистки кеша, который ты сейчас сделал, а я удачно словил момент…
joxi.ru/JWggUxjKTJDXKb9HImU