Nikita Oralov

Nikita Oralov

С нами с 24 марта 2018; Место в рейтинге пользователей: #1129
24 марта 2018, 18:53
0
Сниппет вызывается на странице некэшируемо. В этом случае он выдаёт разные id. Но getImageList его не видит.

И наоборот кэшируемый вызов. GetImageList тогда видит значение, но это значение не рандомное.

[[!getChildsOne]]

        <div class="tab-content" id="myTabContent">
            <div class="tab-pane fade show active" id="land" role="tabpanel" aria-labelledby="home-tab">
                <!-- галерея masonry -->
                <div class="grid">
                    [[getImageList?
                        &tvname=`album-photo`
                        &limit=`20`
                        &docid=`[[+album-land]]`
                        &tpl=`@CODE: 
                            <div class="grid-item">
                                <div class="wrapper">  
                                    <a href="#" data-toggle="modal" data-target="#photo-modal">
                                        <img src="assets/photos/[[+photoTV]]">
                                    </a>
                                    <div class="some-text">
                                       [[+desc]]
                                    </div>
                                </div>
                            </div>
                        `
                    ]]
                </div>
            </div>

Сниппет getChildsOne

<?php
$query = $modx->newQuery('modResource', array('parent' => 12, 'deleted' => false, 'published' => true));
$children = $modx->getCollection('modResource', $query);
$input = array();
$resourceId = "";

foreach ($children as $child) {
  $resourceId = $child->get('id');
  array_push($input, $resourceId);
}

$i = array_rand($input, 1);
$out = $input[$i];
$modx->setPlaceholder('album-land',$out);

return;