Юрий

Юрий

Был в сети 26 апреля 2021, 23:44
Заказы не принимаю
Заметил такую некрасивую штуку:
в файле robots.txt (он сделан ресурсом, так как там определенная логика) добавилось содержимое:
<script type="text/javascript">frontendManagerConfig={"ctx":"news","jsUrl":"\/assets\/components\/frontendmanager\/js\/","cssUrl":"\/assets\/components\/frontendmanager\/css\/"};</script><link rel="stylesheet" href="/assets/components/frontendmanager/css/web/frontend-custom.css" type="text/css"><script type="text/javascript" src="/assets/components/frontendmanager/js/web/frontend.js"></script><div id="frontendManager" class="fm-panel" >
    <a href="manager" target="_blank" class="logo"><img src="manager/templates/default/images/modx-icon-color.svg"></a>
    <a href="manager/?a=resource/update&id=1312" data-action="iframe"><span class="icon-edit"></span> <span class="fm-text">Редактировать</span></a>
    <a href="manager/?a=system/settings" data-action="iframe"><span class="icon-settings"></span> <span class="fm-text">Настройки</span></a>
</div>
Как то можно избавиться от этого?
Иcпользовался ms2Gallery и YandexMaps. Хотя последний использовался только для ввода координат в админке.

В место вывода вставь чанк:

<script src="//api-maps.yandex.ru/2.1/?lang=ru-RU" type="text/javascript"></script>
<div id="map" class="uk-margin-bottom" style="height:350px"></div>
<script>
ymaps.ready(init);
function init () {
    var myMap = new ymaps.Map('map', {
            center: [52.618935, 38.487077],
            zoom: 13,
            controls: ['zoomControl',  'fullscreenControl'],
        }),
        objectManager = new ymaps.ObjectManager({
            clusterize: true,
            checkZoomRange:true,
            gridSize: 48
        });
    myMap.behaviors.disable('scrollZoom');
    objectManager.objects.options.set('preset', 'islands#redDotIcon');
    objectManager.clusters.options.set('preset', 'islands#redClusterIcons');
    myMap.geoObjects.add(objectManager);
    objectManager.add({
    "type": "FeatureCollection",
    "features": 
        [
        [[ms2GalleryResources?
            &tpl=`Map.Multiitem.yandexapi.foto.all.row`
            &tplLast=`Map.Multiitem.yandexapi.foto.all.last.row`
            &tplWrapper=`Map.Multiitem.yandexapi.foto.all.outer`
            &sortby=`menuindex`
            &sortdir=`ASC`
            &limit=`0`
            &parents=`49`
            &includeThumbs=`360x270`
            &includeContent=`0`
            &hideContainers=`1`
            &includeTVs=`foto_show_on_map,sprav_address_geo`
            &processTVs=`1`
            &context=`foto`
            &where=`{"foto_show_on_map:=":"1","sprav_address_geo:!=": null}`
        ]]
    ]});
}
</script>
Чанк Map.Multiitem.yandexapi.foto.all.outer:
{
    "type": "FeatureCollection",
    "features": [
        [[+output]]
    ]
}
Чанк Map.Multiitem.yandexapi.foto.all.row:
{"type": "Feature", "id": [[+idx]], "geometry": {"type": "Point", "coordinates": [[[+tv.sprav_address_geo]]]}, "properties": {"balloonContent": "<b>[[+pagetitle]]</b><hr/>  <a href='[[+uri]]'><img src='[[+360x270]]' alt='[[+pagetitle]]' width='240' height='180'>
Все фото</a> ", "clusterCaption": "[[+pagetitle]]", "hintContent": "[[+pagetitle]]"}},
Чанк Map.Multiitem.yandexapi.foto.all.last.row:
{"type": "Feature", "id": [[+idx]], "geometry": {"type": "Point", "coordinates": [[[+tv.sprav_address_geo]]]}, "properties": {"balloonContent": "<b>[[+pagetitle]]</b><hr/>  <a href='[[+uri]]'><img src='[[+360x270]]' alt='[[+pagetitle]]' width='240' height='180'>
Все фото</a> ", "clusterCaption": "[[+pagetitle]]", "hintContent": "[[+pagetitle]]"}}
Ват вызов с рабочего сайта:
{$_modx->runSnippet('pdoMenu', [
                            'fastMode' => 1,
                            'parents' => $_modx->resource.id,
                            'resources' => '',
                            'cache' => 1,
                            'level' => 1,
                            'showHidden' => 1,
                            'firstClass' => 0,
                            'lastClass' => 0,
                            'hereClass' => 'uk-active',
                            'tplOuter' => '@INLINE <div class="uk-width-1-1"><div class="uk-panel uk-panel-box uk-flex uk-flex-center"><ul class="uk-subnav uk-subnav-line">{{+wrapper}}</ul></div></div>',
                            'tpl' => '@INLINE <li class=""><a href="{{+link}}" {{+attributes}} title="{{+pagetitle}}">{{+menutitle}}</a>{{+wrapper}}</li>'
                        ])}
Полностью поддерживаю.
Это же сообщество MODX,
«Крупнейшее русскоязычное MODX сообщество / modx.pro»
«Свежие новости и обсуждение CMF MODX. Готовые решения для настройки и разработки. Биржа труда и краудфандинг. Хостинг и магазин дополнений.»

Это вся информация о сообществе, доступная пользователю. И то она не видна. Поэтому новых пользователей не плохо было-бы ознакомить с правилами и дать ему согласиться с ними. Если он не согласен, то на давайте ему регистрироваться.

А только после этого вводите репрессии. Думаю это будет честно!

Ну и конечно в форме создания тикета, при выборе того или иного раздела вывести описание этого раздела и предупреждение о репрессиях. Тогда никто не будет обижаться.
C lazysizes очень просто:
Подключаете скрипт, лучше использовать minifix
Посмотрите еще есть куча плагинов для Lazysizes.
<script src="ls.respimg.js"></script>
<script src="lazysizes.min.js" async=""></script>
Для адаптивных изображений используйте плагин respimg

Сделайте столько размеров картинки сколько Вам нужно на вашу верстку.
Еще для уменьшения размера картинки, в параметрах phpThumbOn уменьшите сжатие jpg
Лучше не пожалейте денег и купите ms2gallery, настройте медиаисточник, на генерацию необходимых размеров изображений.
А для «адаптивности» рекомендую использовать js плагин lazysizes. Он позволит делать «ленивую» загрузку изображений по мере прокрутки страницы, также может работать с различными размерами фото, в зависимости от размера экрана