Александр Иващенко

Александр Иващенко

С нами с 04 декабря 2012; Место в рейтинге пользователей: #522
Александр Иващенко
14 апреля 2021, 14:16
0
&parents=`9`
должно быть:
&parents=`0`
Александр Иващенко
10 августа 2019, 13:14
0
сдела по советам. и еще добавил скрины в файл гугл диска. все равно не работает. может что то мелкое я упустил?
Александр Иващенко
09 августа 2019, 18:05
0
даже htaccess весь вычищал и делал как вы написали. все равно то же самое
Александр Иващенко
09 августа 2019, 18:00
0
сделал 1 в 1 и все равно 404 ошибка… бред какой то. есть желание опытным глазом взглянуть?
Александр Иващенко
06 января 2019, 03:30
0
в общем вот конечный результат:
[[!mFilter2?
        &class=`msProduct`
        &element=`msProducts`
        &parents=`[[*id]]`
        &limit=`3`
        &tplOuter=`tpl.mFilter2.outer_new`
    	&tpl=`tpl.msProducts.row_new`
    	&pageVarKey=`page`
    	&paginator=`pdoPage`
        &setMeta=`1`
    	&filters=`ms|vendor:vendors`
    	&aliases=`
            ms|vendor==vendor`
    	&includeTVs=`download,app_bonus`
    	&where=`{"class_key":"msProduct"}`
    	&strictMode=`1`
        
    	
    	&pageLinkScheme=`[[+pageVarKey]]-[[+page]]`
    	&tplPageWrapper=`@INLINE <div class="pagination tc dark-beige mb3">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</div>`
    	&tplPageFirstEmpty=`@INLINE <span></span>`
    	&tplPageLastEmpty=`@INLINE <span></span>`
    	&tplPagePrevEmpty=`@INLINE <span></span>`
    	&tplPageNextEmpty=`@INLINE <span></span>`
    	&tplPageFirst=`@INLINE <span></span>`
    	&tplPageActive=`@INLINE <span></span>`
    	&tplPage=`@INLINE <span></span>`
    	&tplPageLast=`@INLINE <span></span>`
    	&tplPagePrev=`@INLINE <a href="[[+href]]" class="br3 ttu inline-flex items-center justify-center b tc nowrap no-underline pa3 bw1 b--solid f5 b--dark-beige dark-beige">Previous page</a>`
    	&tplPageNext=`@INLINE <a href="[[+href]]" class="br3 ttu inline-flex items-center justify-center b tc nowrap no-underline pa3 bw1 b--solid f5 b--dark-beige dark-beige "> Next page </a>`
    	
    	&tplFilter.outer.vendor=`tpl.mFilter2.filter.outer_vendor`
    	&tplFilter.row.vendor=`tpl.mFilter2.filter.checkbox_vendor`
    ]]
вот tpl.mFilter2.outer_new
<div class="backgroundGambleLargeOpacity msearch2" id="mse2_mfilter">
    <div class="pt4 center">
        <h1 class="ttu ph3 f2 f1-l tc mb3"><strong><span class="mse2_total">[[+total:default=`0`]]</span> Top-Apps</strong> for you</h1>
        <div class="tc dark-beige mb3">
            <a href="#" class="br3 ttu inline-flex items-center justify-center b tc nowrap no-underline pa3 bw1 b--solid f5 washed-yellow js-filter-toggle bg-dark-beige b--dark-beige pv2 ">
                Filter Apps&nbsp;<i class="material-icons">filter_list</i>
            </a>                
        </div>
        <form action="[[~[[*id]]]]" method="post" id="mse2_filters" class="js-filter-form center dn">
			<div class="pa3 f2 tc ttu bb b--beige">
                <div class="flex items-center mw6-ns center-ns">
                    <div class="flex-auto tc">
                        Filtered: <strong><span id="mse2_total">[[+total:default=`0`]]</span> Apps </strong> [[-on 10 pages]]
                    </div>
                    <div class="js-filter-close pointer mi-close dib"></div>
                </div>
            </div>

            <div class="js-filter-section">
                <div class="pa3 f3 bb b--beige">
                    <div class="js-filter-section-toggle pointer flex items-center mw6-ns center-ns">
                        <div class="flex-auto">
                            <strong>Software</strong>
                        </div>
                        <div class="js-filter-section-toggle pointer mi-keyboard-arrow-down dib f2"></div>
                    </div>
                </div>
                [[+filters]]
            </div>
            <div class="pa3 flex flex-row items-center mw6-ns center-ns"></div>
		</form>
    </div>
    <div id="pdopage" class="mwmedns mw6 pa2 center h-100 pa3-l  ">
        <div class="nl2 nr2">
            <div class="sf_introtext">[[!+sf.introtext]]</div>
            <h2 class="sf_h1">[[!+sf.h1:default=`[[*pagetitle]]`]]</h2>
            <div id="mse2_results" class="js-filter-results flex flex-column flex-row-l flex-wrap-l justify-center items-center items-stretch-l w-100 justify-start-l flex-wrap-ns">
    			[[+results]]
            </div>
        </div>
        <div class="">
			[[!+page.nav]]
		</div>
    </div>        
</div>
с учетом &pageLinkScheme=`[[+pageVarKey]]-[[+page]]` получается лажа с фильтрами и пагинацией
допустим я тут /test/?vendor=5 и пагинация предлагает переход сюда /test/page-2 и фильтр получается теряется.
и если результатов фильтра больше лимита на странице их никогда нельзя будет посмотреть… я не знаю как это решить пока. может кто поможет?
Александр Иващенко
05 января 2019, 22:32
0
А если сделать так:

[[!mFilter2?
        &class=`msProduct`
        &element=`msProducts`
        &parents=`[[*id]]`
        &limit=`3`
        &tplOuter=`tpl.mFilter2.outer_new`
    	&tpl=`tpl.msProducts.row_new`
    	&pageVarKey=`page`
    	
    	&filters=`ms|vendor:vendors`
    	&aliases=`
            ms|vendor==vendor`
    	&includeTVs=`download,app_bonus`
    	&where=`{"class_key":"msProduct"}`
    	&strictMode=`1`
        &filterOptions=`{
                "autoLoad":0,
                "more": ".main-catalog__more-button",
                "more_tpl": "<div class=\"tc dark-beige mb3\"><button style=\"background: 0;\" class=\"button main-catalog__more-button br3 ttu inline-flex items-center justify-center b tc nowrap no-underline pa3 bw1 b--solid f5 b--dark-beige dark-beige\">[[%pdopage_more]]</button>"
            }`
    	&tplFilter.outer.vendor=`tpl.mFilter2.filter.outer_vendor`
    	&tplFilter.row.vendor=`tpl.mFilter2.filter.checkbox_vendor`
    	
    	&pageLinkScheme=`[[+pageVarKey]]-[[+page]]`
    	&tplPageWrapper=`@INLINE <div class="pagination tc dark-beige mb3">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</div>`
    	&tplPageFirstEmpty=`@INLINE <span></span>`
    	&tplPageLastEmpty=`@INLINE <span></span>`
    	&tplPagePrevEmpty=`@INLINE <span></span>`
    	&tplPageNextEmpty=`@INLINE <span></span>`
    	&tplPageFirst=`@INLINE <span></span>`
    	&tplPageActive=`@INLINE <span></span>`
    	&tplPage=`@INLINE <span></span>`
    	&tplPageLast=`@INLINE <span></span>`
    	&tplPagePrev=`@INLINE <a href="[[+href]]" class="br3 ttu inline-flex items-center justify-center b tc nowrap no-underline pa3 bw1 b--solid f5 b--dark-beige dark-beige">Previous page</a>`
    	&tplPageNext=`@INLINE <a href="[[+href]]" class="br3 ttu inline-flex items-center justify-center b tc nowrap no-underline pa3 bw1 b--solid f5 b--dark-beige dark-beige "> Next page </a>`
    ]]
[[!+page.nav]]
тогда пагинация работает а фильтры нет
Александр Иващенко
05 января 2019, 22:21
0
в общем mfilter2 не работает с этой настройкой…

работает корректно только так:
[[!pdoPage?
        &class=`msProduct`
        &element=`msProducts`
        &parents=`[[*id]]`
        &limit=`3`
    	&tpl=`@INLINE <p>[[+idx]] <a href="/[[+uri]]">[[+pagetitle]]</a></p>`
    	&pageVarKey=`page`
    	&pageLinkScheme=`[[+pageVarKey]]-[[+page]]`
    	&tplPageWrapper=`@INLINE <div class="pagination tc dark-beige mb3">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</div>`
    	&tplPageFirstEmpty=`@INLINE <span></span>`
    	&tplPageLastEmpty=`@INLINE <span></span>`
    	&tplPagePrevEmpty=`@INLINE <span></span>`
    	&tplPageNextEmpty=`@INLINE <span></span>`
    	&tplPageFirst=`@INLINE <span></span>`
    	&tplPageActive=`@INLINE <span></span>`
    	&tplPage=`@INLINE <span></span>`
    	&tplPageLast=`@INLINE <span></span>`
    	&tplPagePrev=`@INLINE <a href="[[+href]]" class="br3 ttu inline-flex items-center justify-center b tc nowrap no-underline pa3 bw1 b--solid f5 b--dark-beige dark-beige">Previous page</a>`
    	&tplPageNext=`@INLINE <a href="[[+href]]" class="br3 ttu inline-flex items-center justify-center b tc nowrap no-underline pa3 bw1 b--solid f5 b--dark-beige dark-beige "> Next page </a>`
    ]]
[[!+page.nav]]
Александр Иващенко
05 января 2019, 22:02
0
[[!mFilter2?
        &class=`msProduct`
        &element=`msProducts`
        &parents=`[[*id]]`
        &limit=`3`
        &tplOuter=`tpl.mFilter2.outer_new`
    	&tpl=`tpl.msProducts.row_new`
    	
    	&tplPageWrapper=`@INLINE <div class="pagination tc dark-beige mb3">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</div>`
    	&tplPageFirstEmpty=`@INLINE <span></span>`
    	&tplPageLastEmpty=`@INLINE <span></span>`
    	&tplPagePrevEmpty=`@INLINE <span></span>`
    	&tplPageNextEmpty=`@INLINE <span></span>`
    	&tplPageFirst=`@INLINE <span></span>`
    	&tplPageActive=`@INLINE <span></span>`
    	&tplPage=`@INLINE <span></span>`
    	&tplPageLast=`@INLINE <span></span>`
    	&tplPagePrev=`@INLINE <a href="[[+href]]" class="br3 ttu inline-flex items-center justify-center b tc nowrap no-underline pa3 bw1 b--solid f5 b--dark-beige dark-beige">Previous page</a>`
    	&tplPageNext=`@INLINE <a href="[[+href]]" class="br3 ttu inline-flex items-center justify-center b tc nowrap no-underline pa3 bw1 b--solid f5 b--dark-beige dark-beige "> Next page </a>`
    ]]
добавляю &pageLinkScheme=`/[[+pageVarKey]]-[[+page]]`
и пагинация не работает. убираю и работает.
ну и плагин на событие «OnPageNotFound» как в инструкции:

При переходе по этим ссылкам (кроме первой) MODX будет выдавать ошибку 404, потому что страниц с этими адресами не существует. Так что, нам нужно написать плагин для их обработки:

<?php
// Реагируем только на событие OnPageNotFound
if ($modx->event->name == 'OnPageNotFound') {
    // Определяем ключ запроса из настроек
    $req = $modx->getOption('request_param_alias');
    // Ловим нужный ключ страницы
    $pageVarKey = 'page';
    // Если в запросе повторяется наш шаблон "pageVarKey-page", то работаем дальше
    if (preg_match("#.*?({$pageVarKey}-(\d+))#", $_REQUEST[$req], $matches)) {
        // Отрезаем ЧПУ строку и получаем точный адрес текущей страницы
        $uri = str_replace($matches[1], '', $matches[0]);

        // Ищем страницу по этому адресу
        $id = 0;
        // Сначала как есть, со слешем на конце
        if (!$id = $modx->findResource($uri)) {
            // Если не находим - то пробуем отрезать слэш и ищем повторно
            $id = $modx->findResource(rtrim($uri, '/'));
        }

        // Если ресурс найден
        if ($id) {
            // Добавляем номер страницы в глобальные массивы, чтобы pdoPage их там увидел
            $_GET[$pageVarKey] = $_REQUEST[$pageVarKey] = $matches[2];
            // И загружаем эту страницу
            $modx->sendForward($id);
        }
        // Если ресурс не был найден - ничего не делаем, возможно запрос поймает другой плагин
    }
}
Александр Иващенко
29 декабря 2018, 00:48
0
а то, что у меня просто пагинация не работает если ставлю &ajaxMode=`default` и &ajax=`0` норм?
или у вас так же?
Александр Иващенко
28 декабря 2018, 16:24
0
упрощенная версия у меня так и норм
[[pdoCrumbs?
        &to=`[[*id]]`
        &showCurrent=`1`
        &showHome=`1`
        &outputSeparator=``
        &tplWrapper=` @INLINE <ul class="breadcrumb" itemscope="" itemtype="https://schema.org/BreadcrumbList">[[+output]]</ul>`
        
        &tpl=`@INLINE 
        <li itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem">
            <a itemprop="item" href="[[+link]]">
            <span itemprop="name">[[+menutitle]]</span></a>
            <meta itemprop="position" content="[[+idx]]">
        </li>`
        &tplCurrent=`@INLINE <li itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="active">
            <span itemprop="name">[[+menutitle]]</span>
            <meta itemprop="position" content="[[+idx]]">
            <meta itemprop="item" content="http://мойсайт.com/[[~[[*id]]]]">
        </li>`
    ]]
может просто [[+link]] вместо
Александр Иващенко
28 декабря 2018, 16:22
0
ну кто то же сталкивался с таким?
Александр Иващенко
27 декабря 2018, 04:11
0
Напишите пожалуйста решение
Александр Иващенко
20 сентября 2018, 10:44
0
спасибо, буквально только только сам разобрался)
&suggestionsMaxFilters=`20000`
            	&suggestionsMaxResults=`20000`
Александр Иващенко
14 августа 2018, 11:29
0
верно. спасибо. забыл про этот модуль совсем, заработался просто за весь день )
Александр Иващенко
14 апреля 2018, 03:46
0
<?php
switch ($modx->event->name) {
    // События на добавление товара
    case 'msOnBeforeAddToCart': 
        // тут проверка на что ? на выбрана ли опция размера?
        
        // массив размеров товара
        $product->get('size');
        $sizename = $options['size'];  // беру имя размера, на который делается заказ
        $sizename1 = $options;
        $arr = $product->get('size');
        
        if (empty($arr)) {
            echo "Массив пустой";
        }
        elseif (in_array($sizename, $arr)){
            echo "Нашел !!!";
        }
        else {
            $modx->event->output('Необходимо выбрать размер');
        }
        break;  //получает $product, $count, $options и $cart
}
вдруг кому пригодится. сами думаю сможете подчистить если нужно будет
Александр Иващенко
11 апреля 2018, 15:15
0
То как лучше делать разбивку по полу для магазина вещей?
В каталоге создавать 2 категории «мужчинам» и «женщинам» или же по дополнительному полю???
Если по доп полю то как выводить это в меню??