YandexMaps не выводит все ресурсы на карту

Из документации:
Компонент позволяет создавать Яндекс Карту и размещать на ней список объектов (1 объект = 1 ресурс).В системе несколько контекстов.
В одном из них используется YandexMaps
код шаблона:
<div class="grids">
[[!yandexMaps?
&tvCoords=`coords`
&fieldForBalloonContent=`introtext`
&fieldForHint=`pagetitle`
&markerPreset=`islands#nightStretchyIcon`
&markerPresetFieldText=`pagetitle`
&styleMapBlock=`width:100%;height:400px;`
&showMoreLink=`1`
&styleFiltersBlock=`display:none`
&objectsTypesJSON=`[
{
"blabla": {
"parent":"132",
"preset":"islands#nightStretchyIcon",
"presetFieldText":"pagetitle",
"title":"Отметить"
}
}]`
]]
</div><!--end of div grids-->
Почему то выводятся только первые 10 ресурсов на карту, хотя их в контейнере id=132 ровно 16 штук.Так же замечено что если поместить в корзину или отменить публикацию одного из ресурсов он все равно будет показываться на карте. Что не совсем верно как мне кажется.
Что сделать чтобы YandexMaps выводил все точки на карте, а не только первые 10?
Комментарии: 8
Если разместить ресурсы с координатами в разных контейнерах где в одном контейнере не больше 10 ресурсов будет, тогда все нормально на карте
пример:
В общем не знаю в чем причина такой работы дополнения.
пример:
[[!yandexMaps?
&tvCoords=`coords`
&fieldForBalloonContent=`introtext`
&fieldForHint=`pagetitle`
&styleMapBlock=`width:100%;height:400px;`
&showMoreLink=`1`
&styleFiltersBlock=`display:none`
&objectsTypesJSON=`[{
"blabla": {
"parent":"132",
"preset":"islands#nightStretchyIcon",
"presetFieldText":"pagetitle"},
"bloblo": {
"parent":"186",
"preset":"islands#nightStretchyIcon",
"presetFieldText":"pagetitle"}
}]`
]]
Но это бред, зачем создавать контейнер на каждые 10 ресурсов, ппц.В общем не знаю в чем причина такой работы дополнения.
Сниппет же через pdoTools работает, да? Попробуй просто указать ему &limit=`0`.
Пробовал. Не помогает.
Скажу даже больше — я пробовал менять настройки по умолчанию в сниппетах pdoTools и лимиты ставил 99 и глубину 99. Толку нет.
Тут где то ограничение стоит в классе, но я не программист, не знаю где это ограничение. А может и в модели где запрос в базу. Не знаю ((
Дополнение отличное, мне нравится, но вот эта фигня весь мозг съела
Скажу даже больше — я пробовал менять настройки по умолчанию в сниппетах pdoTools и лимиты ставил 99 и глубину 99. Толку нет.
Тут где то ограничение стоит в классе, но я не программист, не знаю где это ограничение. А может и в модели где запрос в базу. Не знаю ((
Дополнение отличное, мне нравится, но вот эта фигня весь мозг съела
Исходника на GitHub нету, а качать и разбираться мне некогда, извини.
Я не гоню никого. Как будет время посмотрите пожалуйста. Очень прошу
Я не программист но понял в чем дело.
Как я считаю этот сниппет использует pdoTools но использует выборочно
то есть он не использует вот таким образом — &limit=`0`
а использует вот таким
поэтому вылечил тем что добавил в код
$setConfigArray['limit'] = '100000000000000000';
Я вот только не пойму, почему &limit=`0` не прокатывает, чтобы не править код сниппета.
Как я считаю этот сниппет использует pdoTools но использует выборочно
то есть он не использует вот таким образом — &limit=`0`
а использует вот таким
$setConfigArray['parents'] = $objectsTypesDataArray['parent']; // id родителя
$setConfigArray['includeTVs'] = $includeTVs; // tv поля
$setConfigArray['where'] = $setConfigWhere; // условия выборки
$setConfigArray['return'] = 'data';
$pdoFetch->setConfig($setConfigArray); // передаём параметры в pdoFetch
$geoObjectsArray[$i][ $objectsTypesKeyId ] = $pdoFetch->run(); // получаем массив с ресурсами для отображения на карте
как видно из кода тут отсутствует передача лимита в $pdoFetchпоэтому вылечил тем что добавил в код
$setConfigArray['limit'] = '100000000000000000';
Я вот только не пойму, почему &limit=`0` не прокатывает, чтобы не править код сниппета.
Видимо потому, что limit вообще не передаётся в $setConfigArray.
Я обычно добавляю свои переменные в $scriptProperties, а его уже пихаю в вызов pdoFetch и тогда туда попадает всё, что указал при вызове юзер. А здесь более выборочный подход и автор просто забыл о limit.
Можно поправить так:
Я обычно добавляю свои переменные в $scriptProperties, а его уже пихаю в вызов pdoFetch и тогда туда попадает всё, что указал при вызове юзер. А здесь более выборочный подход и автор просто забыл о limit.
Можно поправить так:
$setConfigArray['limit'] = !empty($limit) ? (int)$limit : 0;
Должно работать.
Спасибо, что разобрались, друзья. Завал по работе, времени не хватает даже интересные сайты почитать. На днях планируется новая версия YandexMaps, в которой будет реализована одна очень удобная и нужная штука. Нет, даже не одна… :)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.