Изменил в соответствии с ПР, но при добавлении товара в корзину во всплывающем окошке была ошибка вроде «Не удалось выполнить запрос» а товар который уже был в корзине, его еще можно было добавлять. У вас какая-то серверная ошибка, смотрите логи. 2. Вероятно эта задача все-таки для вас сложна. Читайте внимательно этот топик. Если не разберетесь, то помочь особо нечем, тут слишком большой пласт требований лежит.

Разобрался, проблема была в том, что я в источнике файлов не совсем правильно казал путь, и при переносе, его нужно было поменять.

Есть у нас на этот счет мысли. Дойдут руки — сделаем. Но если у кого есть желание, всегда ведь можно отправить ПуллРеквест.

Ничего страшного. А превью когда-нибудь сделаем, когда руки дойдут.

Привет, Василий! Рад, что ты наконец-то нас посетил:) За это я тебе поднял статус до полноценного члена Клуба. Про pdoPage в курсе, но он нам не подходит по нескольким причинам:

  1. Как ты знаешь, у нас с тобой в принципе разные подходы в разработке и модулях. У тебя все завязано на pdoTools и чанках/сниппетах, а мы даже сниппеты редко используем, не говоря уже о чанках, у нас все на смарти и процессорах.

  2. Даже если бы захотел взять pdoPage, не стал бы для этого тянуть весь pdoTools, это было бы фигачить по воробьям из пушки.

  3. Не нравится внутри сниппета использование переменных $_GET и $_REQUEST, слишком глобально. Мне удобней нужные параметры передавать в процессор и чтобы все это было локально. Так что, спасибо за предложение, но не, не подойдет. Но ты все-таки подтолкнул к тому, чтобы я тут порядочек немного навел, должен же я показать, как это у нас делается. Вообще с постраничностью тэгов — это просто результат лени, не добрался поправить, но постраничность с фейковыми УРЛами не была здесь проблема. Все работало на страницах комментариев пользователей. К примеру, если посмотреть страницу modxclub.ru/profile/Fi1osof/stream/, то здесь реальная часть только — profile/, а Fi1osof/stream/ — это фейковая часть УРЛа. Реализована постраничность была с использованием Smarty-плагина, написанного Сергеем Шляховым. Но я решил для себя написать свою постраничность в шаблоне, и немного подправить базовый процессор, чтобы результат выполнения процессора сразу возвращал все необходимое для формирования постраничности — total, count, limit, page. В итоге получается очень простой и удобный вызов: {$params = [ "page" => $smarty.get.page ]} {processor action="web/society/users/getdata" ns="modxsite" params=$params assign=result} {include file="inc/pagination/pagination.tpl"} А вот код шаблона постраничности (он далек от идеальности, но свою задачу выполняет замечательно): {if $result.success && $result.object && $result.total > $result.count}

    {$page = $result.page|default:1} {$limit = $result.limit|default:10} {$total = $result.total}

    {$get_params = $get_params|default:$smarty.get}

    {$params = []} {foreach $get_params as $k => $get_param} {if !in_array($k, ['q', 'page'])} {$params[$k] = $get_param} {/if} {/foreach}

    {if !$page_url} {$id = $id|default:$modx->resource->id} {$page_url = $modx->makeUrl($id)} {/if}

    {$pages_limit = $pages_limit|default:5}

    {$pages = ceil($total/$limit)}

    {$start_page = $page - $pages_limit} {if 1 > $start_page} {$start_page = 1} {/if}

    <div style="text-align:center"> <ul class="pagination">
        {$last_page = $page + $pages_limit - 1}
        
        {if $start_page > 1}
            {$get = $params}
            {if $url = http_build_query($get)}
                {$url = "?{$url}"}
            {/if}
            <li class="control"><a href="{$page_url}{$url}">Первая</a></li>
        {/if}  
        
        {$i = 0}
        {while $pages >= $start_page && $pages_limit * 2 + 1 > $i}
            {$i = $i + 1}
            
            {$get = $params}
            
            {if $start_page != '1'}
                {$get.page = $start_page}
            {/if} 
            
            {if $url = http_build_query($get)}
                {$url = "?{$url}"}
            {/if}
             
            <li class="{if $start_page == $page}active{/if}"><a href="{$page_url}{$url}">{$start_page}</a></li>
             
            {$start_page = $start_page + 1}
        
        {/while}
         
        
        {if $pages >= $start_page}
            {$get = $params}
            {$get.page = $pages}
            {$url = http_build_query($get)}
            {$url = "?{$url}"}
            <li class="control"><a href="{$page_url}{$url}">Последняя</a></li>
        {/if} 
    </ul>
    
    </div>

{/if}

Изменил в соответствии с ПР, но при добавлении товара в корзину во всплывающем окошке была ошибка вроде «Не удалось выполнить запрос» а товар который уже был в корзине, его еще можно было добавлять. Делаю выбор способа доставки в самой корзине. По задумке, когда покупатель щелкает радио-кнопку, сумма Итого должна обновляться и передаваться на оплату. В идеале еще помечаться в заказе, чтоб менеджер видел, какой тип доставки, но пока хоть так. <p>Сумма заказа: <span class="cost">{$basket_result.sum|number_format:0:".":" "}</span> руб.</p>

<p>Доставка: </p>

	<label class="radio-inline">
	<input name="delivery" id="radio1" value="290" checked="" type="radio"> Почта России (290 руб)
	</label>
	<label class="radio-inline">
	<input name="delivery" id="radio2" value="0" type="radio"> ТК Энергия (Оплата при получении)
	</label>
<p><h3>Итого: <span class="cost">{$basket_result.sum+$ship|number_format:0:".":" "}</span> руб.</h3></p> а вверху там добавляю строку {foreach $basket_result.object as $object} {*assign var=data value=$object.product_data*} {assign var=key value=$object.id} {assign var=ship value="delivery"} Вот. Естессно не работает, Подскажите что тут еще не хватает?

Прошу прощения за такие пробелы между фразами. Без превью сложно понять, как будет отрендерен комментарий.

Привет, Николай! В pdoPage ссылка генерируется исходя из фактического url, поэтому там такого глюка нет. Ну и можно, заодно, сразу настроить ajax-пагинацию, так же из коробки. Там еще много разных преимуществ по сравнению с getPage, рекомендую попробовать.

Привет всем, да хорошая новость, если к консоли прикрутить историю, было бы очень замечательн востановить тот код, что мог улететь по разным причинам, да и часто приходится один и тот же код использовать, и что бы не набирать по новой, можно было загружать из истории, как например это сделано с VersionX