We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 36958
    • 9 Posts
    На последней версии модх Modx revo 2.2.1
    getResources - очень долго грузит страницу по времени, с чем это может быть связано.
    В старых версия не было такого

    Вызываю стандартно:
    [[!getResources? &parents=`3` &tpl=`art.tpl` &includeTVs=`1` &processTVs=`1`]]

    По наблюдениям
    Копался в исходниках getResources и заметил, что все тормоза приходятся на цикл, внутри которого вызывается $modx->getChunk(), т.е. тормозит именно обработчик чанков.

      • 31246 ☆ A M B ☆
      • 428 Posts
      У себя такого не наблюдал, возможно что-то с парсером чанка? шут его знает, пока не увидишь, тяжело сказать..
        Valentin Rasulov - Industrial design (Hobbies - Web Development)
        Development not standard projects on CMF MODx Revolution.
        Small sample of extensions
        • 2371
        • 29 Posts
        Серьёзно, 20 документов за 4 секунды это разве нормально? Я использую getPage:
        [[!getPage?tvFilters=`собУбрать<=@EVAL return time()`
        &elementClass=`modSnippet`
        &element=`getResources`
        &depth=`1`
        &includeTVs=`1`
        &tvPrefix=``
        &sortbyTV=`собДата`
        &sortdirTV=`DESC`
        &limit=`20`
        &pageVarKey=`page`
        &tpl=`dittoEventsArchive`
        &pageNavOuterTpl=`<div style="display:inline-block; width:50px">[[+prev]]</div>[[+pages]]<div style="display:inline-block;  width:50px">[[+next]]</div>`
        &pageFirstTpl=`<li class="control"><a[[+classes]][[+title]] href="[[+href]]">в начало</a></li>`
        &pageLastTpl=`<li class="control"><a[[+classes]][[+title]] href="[[+href]]">в конец</a></li>`
        &pagePrevTpl=`<li class="control"><a[[+classes]][[+title]] href="[[+href]]">←</a></li>`
        &pageNextTpl=`<li class="control"><a[[+classes]][[+title]] href="[[+href]]">→</a></li>`
        ]]


        Чанк dittoEventsArchive:
        <tr class="ds-list-block">
            
            <td class="ds-list-date" style="width:150px; align: left; vertical-align:top">
                
                [[event_date?date=`[[+собДата]]` &dateEnd=`[[+собДатаКонца]]`]]
                
            </td>
            
            <td class="ds-list-link" valign="top">
            
                <span><a href="[[~[[+id]]]]">[[+pagetitle]] [[If?subject=`[[+собПеренос]] &operator=`eq` &operand=`0` &then=`<span style="color: red;">переносится!</span>`]]</a></span>
                
            </td>
            
            <td class="ds-list-simple" valign="top" align="left">
                
                [[If?subject=`[[+собДоп]]` &operator=`notempty` &then=`<span style="color:green;">[[+собДоп]]</span>`]]
                
            </td>
            
        </tr>


        Сниппет event_date:
        <?php
        $date = strtotime($date);
        
        if ( isset($date) && $date != 0 ){
            
            if ( isset($dateNow) && $dateNow >= $date ){
                $style = 'style="color:#F60;"';
            }
            
            if ( !isset($dateEnd) || $dateEnd == 0 ){
                $date = date('d.m.Y', $date);
            } else {
                $dateEnd = strtotime($dateEnd);
                if ( date('m', $date) != date('m', $dateEnd) ){
                    if ( date('Y', $date) != date('Y', $dateEnd) ){
                        $date = date('d.m.Y', $date);
                    } else {
                        $date = date('d.m', $date);
                    }
                } else {
                    $date = date('d', $date);
                }
                $date = $date . ' - ' . date('d.m.Y', $dateEnd);
            }
            
            return '<span class="date" ' . $style . '>'.$date.'</span>';
            
        }


        Ничего серьёзного-то нет, почему так долго?:
        3.3335 s - PHP | 3.3337 s - В общем | database
        2.1940 s - PHP | 2.1940 s - В общем | cache