Тема: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Дублирую первое сообщение от 27.03.2021 на главной сайта arh.k156.ru, там оно будет удалено

27.03.2021. Дописан скрипт изменяющий структуру каталога, обсуждение которого было здесь

Теперь стоянки в которых несколько периодов имеют маркеры этой группы периодов и будут появляться в нескольких разделах и иметь полосатые флажки цветов соответствующих периодов.

Для тех стоянок, что уже найдены (мезолит/неолит:

http://arh.k156.ru/yar/1516prim.gif

и тд) это начнет работать с завтрашнего дня. Количество периодов новым скриптом не ограничено, но графически трудно будет отобразить на флажке больше трех полос.

Позже планируется в этой колонке создать новости по изменениями структуры и по тому что добавлено фактически со ссылками новых пакетов добавлений.

Не заполняю сейчас много стоянок так как потом переделывать каталгог с уже большим количеством информации структурированной определенным образом сложнее.

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

Это будет примерно так

http://arh.k156.ru/yar/1212prim2.gif

сейчас наложение двух стоянок при расхождении в десятки километров выглядит так

http://arh.k156.ru/yar/1212prim.gif

при большем сближении как в Ростовской области они вообще отображаются как один значок.

Ну и при одиночном показывании в разделе своего периода наклонный значок стоянки будет указывать на то что их в этом месте много.

Все обещанное заработало на следующий день, плюс переписан скрипт разделов, создана навигация,

http://arh.k156.ru/forum/navigac.jpg


которая отображается на страницах разделов и на персональных страницах каждой культуры. Это вариант который еще будет корректироваться.

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Шаройко Лилия пишет:

На завтра

Скорее всего вернуться к стоянкам и дочистить  скрипт отображение блока статей ученых и СМИ . И наверное наконец решить как будут отображаться фотогалереи одновременно с всплывающими окнами текстов, это вместе на странице в принципе отобразить можно, в книге уже такие страницы работают, правда тем не было скриптов карт одновременно.
Но можно попробовать это сделать.

как напечатала в теме общих планов  перенесено за 8 апреля
Так как вместо этого пришлось капитально порыться в собственных анализах крови с отклонениями в сторону витаминных дефицитов и пересмотреть диету в отношении железа,  витаминов D,  B12 и тп.

У врача выяснилось, что эти отклонения не тянут не только на заболевания, но даже на такой витаминный офтоп, слишком маленькие, и вообще все в целом по сумме входящих данных и результирующего вектора как бы даже отлично, но разработку плана по витаминицации потребления все одобряют, если без фанатизма.

В общем вчера и сегодня были два дня прикладной анатомии по 20 параметрам крови в анализах Инвитро после примерно 20 летнего игнора врачей, как класса процессов в социуме и стоянки были отложены.
Возможно даже здесь потом заведу тему по вегетариантсву - типа есть ли жизнь после 25 лет без мяса и рыбы. Пищи для размышлений появилась масса

Но вроде бы завтра ничего не должно препятствовать скриптописанию ав направлении археологии.

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Сегодня на сайте стоянок сделано следующее
приведены в порядок разделы публикаций ученых и СМИ, не совсем до конца но

Написан скрипт и с его помощью  сформирован пакет полностью загруженных шаблонов для всех 230 уже существующих на сайте стоянок ( с заполненными полями периодов, названиями, номерами разделов и тп, это позволит в будущем быстрее редактировать и в тоже время можно изменять содержание этих полей для отображения в опциях

Плюс исчез весь мусор из публикаций обоих типов СМИ и статей ученых - так как отображаются на сайте только строки тех стоянок в которых есть код для отображения.

Остальное по работе сегодня в теме Добавления стоянок и их групп, изменение персональных страниц:

Шаройко Лилия пишет:

Наведен порядок в нескольких стоянках где фотографии не соответствовали или дублировались в ...

...Найдена  только общая статья, но большая, с распределением населенных пунктов по областям и общим описанием культуры как целого с некоторыми частными описаниями отдельных находок, текста очень много,с ней нужно разбираться. Возможно ее фрагменты можно размещать в отдельных группах стоянок.

и тд там много

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

План на завтра примерно таков

Доделать Фатьяновскую культуру , отформатировать в читабельный вид

Изменить отображение статей ученых и СМИ,, их сейчас читать очень неудобно, все сливается.

Думаю текст статей останется на белом фоне а остальное (источник, параметры культуры, датировки, текст про автора и тп) сделать на бледно зеленом.

В общем поэкспериментировать и посмотреть на наглядность.

Плюс окончательно решено как делать фотогалереи, они все таки будут в отдельной таблице и по каждой культуре будет вылезать полоса с батареей превьюшек, каждая батарея будет отдельно чтобы можно было видеть культуру как целое

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Продолжение работы перенесено, появилось несколько дел по другим направлениям. Вероятно в субботу 10 или в воскресенье 11 будет продолжено по тому плану который озвучен выше.

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

В продолжение  новой версии карт

Подключена новая версия карт, но в присоединении к уже существующим базам данных mysql там скрипт полностью нужно переписывать, с другой стороны масса новых инструментов, в общем за пару часов удалось его победить и встроить в сайт по основным совмещениям с уже существующими формулами кода. Остальное рутина, но ее много на несколько часов минимум.

Я впервые пишу ява скрипты самостоятельно просто встраивая их  в php и совмещая с еще несколькими, все раньше как-то руки не доходили наконец это освоить и оказалось легко если просто сконцентрировать внимание, раньше в основном использовалось готовое, позже приведу основные базовые формулы скриптов в теме стоянок.



Пока участок в скрипте главной https://arh.k156.ru/



страницы таков , как видно из последнего тега он размещен в заголовке страницы имена файлов карты и ключа приведены условные  , ключ каждый может получить сам


Как пишет Яндекс в своей песочнице:

Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
        Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/


песочница Яндекса здесь
https://yandex.ru/dev/maps/jsbox/2.0/

Но мне пришлось совмещать разные функции и поэтому базовые инструменты взяты в одном месте а общая функция используется с изменениями для php в другом,


ВНИМАНИЕ: так как движок форума не пропускает и с точкой англицкое считая упорно его тегом даже когда эта буква внутри слова, то пришлось в Ворде заменить все эти буквы на И русское

Таких замен нашлось 47

в скрипте в любом текстовом редакторе можно совершить обратное превращение

заменить И русское на англицкое и с точкой


<?php

<scrиpt src=\"https://apи-maps.yandex.ru/2.1/?apиkey=mykey=ru_RU\" type=\"text/javascrиpt\">
    </scrиpt>

<scrиpt type=\"text/javascrиpt\" src=\"jquery.js\"></scrиpt>

    <scrиpt type='text/javascrиpt' src='jquery.autocomplete.js'></scrиpt> ";


    иnclude("karta.php");

?>
   

 
</head>


И конечно вывод самой карты в таблице нужен, внутри тега таблицы примерно так выглядит, я потерла все стили и параметры табличных тегов чтобы в глазах не рябило , а текст оставила, чтобы на странице можно было этот участок найти:


<td  >
       Ландшафты , иллюстрации и новые исследования Карта всех стоянок и находок размещенных на сайте . К сайту подключаются Яндекс карты нового типа, пока новый скрипт не дописан стоянки не будут отображаться

        <div id="map" style="width:98%; height:600px"></div>
   
</td>




файл условно мной для форума названный karta.php

выглядит пока так, верхний участок с параметрами страницы сделан просто для собственного удобства работы в Дриме, я пользуюсь старой программой, кто пользуется новыми это скорее всего можно выкинуть, на отображение на странице это не влияет


<?php

echo "<html> <head><meta http-equиv='Content-Type' content='text/html; charset=wиndows-1251' />

</head>

<body>

</body>

</html>";


echo "   


    <scrиpt>

var myMap;

ymaps.ready(functиon () {
    var myMap = new ymaps.Map('map', {
            center: [55.751574, 37.573856], zoom: 2, behavиors: ['default', 'scrollZoom'],  type: 'yandex#hybrиd'}
         ),
       
       
               

        // Создаём макет содержимого.
        MyИconContentLayout = ymaps.templateLayoutFactory.createClass(
            '<dиv style=\"color: #FFFFFF; font-weиght: bold;\">$[propertиes.иconContent]</dиv>'
        ),

        myPlacemark = new ymaps.Placemark(myMap.getCenter(), {

";
       
       
       
        $stoyank = "Имя стоянки";
       
       
     echo "   


hиntContent: '$stoyank',
            balloonContent: 'мезолит'
        }, {
            // Опции.
            // Необходимо указать данный тип макета.
            иconLayout: 'default#иmage',
            // Своё изображение иконки метки.
            иconИmageHref: 'yar/10.gиf',
            // Размеры метки.
            иconИmageSиze: [30, 42],
            // Смещение левого верхнего угла иконки относительно
            // её \"ножки\" (точки привязки).
            иconИmageOffset: [-5, -38]
        }),

        myPlacemarkWиthContent = new ymaps.Placemark([55.661574, 37.573856], {
            hиntContent: 'значок метки с контентом',
            balloonContent: 'неолит',
            иconContent: '12'
        }, {
            // Опции.
            // Необходимо указать данный тип макета.
            иconLayout: 'default#иmageWиthContent',
            // Своё изображение иконки метки.
            иconИmageHref: 'yar/12.gиf',
            // Размеры метки.
            иconИmageSиze: [48, 48],
            // Смещение левого верхнего угла иконки относительно
            // её \"ножки\" (точки привязки).
            иconИmageOffset: [-24, -24],
            // Смещение слоя с содержимым относительно слоя с картинкой.
            иconContentOffset: [15, 15],
            // Макет содержимого.
            иconContentLayout: MyИconContentLayout
        });

    myMap.geoObjects
        .add(myPlacemark)
        .add(myPlacemarkWиthContent);
       
       
     myMap.controls
       
        .add('zoomControl', { left: 5, top: 5 })
       
        .add('typeSelector')
       
        .add('mapTools', { left: 35, top: 5 });    
       
       
       
       
});


         
       

</scrиpt>  ";
 
 
 
?>



как видно тому кто пишет на php внутри ява скрипта встроен разрыв

";
       
       
       
        $stoyank = "Имя стоянки";
       
       
     echo "   

и там применено присвоение переменной и в ява скрипте работает уже эта переменная


hиntContent: '$stoyank',



Это говорит о том что теперь в этом разрыве можно писать запрос к базе mysql и результаты выводить в массив групп стоянок.


Но я еще не знаю как поведет себя массив, скорее всего функцию придется заменять на коллекцию точек

в песочнице это страница вывода списков объектов, основная функция там немного по другому устроена, но в принципе можно основные элементы управления:


myMap.controls
       
        .add('zoomControl', { left: 5, top: 5 })
       
        .add('typeSelector')
       
        .add('mapTools', { left: 35, top: 5 });    


встраивать и там


Скрипт вывода списков объектов


https://yandex.ru/dev/maps/jsbox/2.0/object_list


ymaps.ready(иnиt);

functиon иnиt() {

    // Создание экземпляра карты.
    var myMap = new ymaps.Map('map', {
            center: [50.443705, 30.530946],
            zoom: 14
        }),
        // Контейнер для меню.
        menu = $('<ul class="menu"></ul>');

    // Перебираем все группы.
    for (var и = 0, l = groups.length; и < l; и++) {
        createMenuGroup(groups[и]);
    }

    functиon createMenuGroup (group) {
        // Пункт меню.
        var menuИtem = $('<lи><a href="#">' + group.name + '</a></lи>'),
        // Коллекция для геообъектов группы.
            collectиon = new ymaps.GeoObjectCollectиon(null, { preset: group.style }),
        // Контейнер для подменю.
            submenu = $('<ul class="submenu"></ul>');

        // Добавляем коллекцию на карту.
        myMap.geoObjects.add(collectиon);

        // Добавляем подменю.
        menuИtem
            .append(submenu)
            // Добавляем пункт в меню.
            .appendTo(menu)
            // По клику удаляем/добавляем коллекцию на карту и скрываем/отображаем подменю.
            .fиnd('a')
            .toggle(functиon () {
                myMap.geoObjects.remove(collectиon);
                submenu.hиde();
            }, functиon () {
                myMap.geoObjects.add(collectиon);
                submenu.show();
            });

        // Перебираем элементы группы.
        for (var j = 0, m = group.иtems.length; j < m; j++) {
            createSubMenu(group.иtems[j], collectиon, submenu);
        }
    }

    functиon createSubMenu (иtem, collectиon, submenu) {
        // Пункт подменю.
        var submenuИtem = $('<lи><a href="#">' + иtem.name + '</a></lи>'),
        // Создаем метку.
            placemark = new ymaps.Placemark(иtem.center, { balloonContent: иtem.name });

        // Добавляем метку в коллекцию.
        collectиon.add(placemark);
        // Добавляем пункт в подменю.
        submenuИtem
            .appendTo(submenu)
            // При клике по пункту подменю открываем/закрываем баллун у метки.
            .fиnd('a')
            .toggle(functиon () {
                placemark.balloon.open();
            }, functиon () {
                placemark.balloon.close();
            });

    }

    // Добавляем меню в тэг BODY.
    menu.appendTo($('body'));
    // Выставляем масштаб карты чтобы были видны все группы.
    myMap.setBounds(myMap.geoObjects.getBounds());
}



Но я не очень хочу так строить систему, хотя прямо под картой короткое описание объектов можно устроить параллельно с тем как у меня слева выглядит это на странице периодов и персональных страниц каждой стоянки (потом когда карты будут открываться в новой редакции приведу ссылки).


Но не будет ли это запутывать пользователя вот в чем вопрос

7 (2022-02-04 19:52:17 отредактировано Михаил П(отапыч)авлович)

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Я подумал, что кто нибудь может не заметить слона

Такого, что для возможностей создавать такие массивы и работы в php нужно вообще уйти от выделения скрипта в отдельном файле формата  js


Так как в него никакой php встроить нельзя, а в php встроить ява скрипт очень даже можно

Но может это и так все (кто когда либо это может прочесть) знали, до того как я это открыл для себя (давно)
smile

Так что там с перенаправлением панели загрузки стоянок в сторону виртуальной личности одного отдельно взятого инопланетянина?


Уверяю что это чисто психологических аспект связывания причин и следствий в единое квантовое пространство в воображении одной отдельно взятой мистически настроенной ЦНС.
smile

Можно добавить одну стоянку и пригнуться в ожидании пули у виска со стороны растревоженных духов предков.

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

Ну или как то по другому сформулировать плюс не давать точных адресов а создавать общую размытую картину распределения общих закономерностей, а в детали полезут те, кто интересуется наукой в частных случаях, слишком много нужно времени потратить на сбор целой картины, за это время лучше и больше можно заработать другими видами деятельности.

В общем создать реальные, а не формальные препятствия употребления этого в черных целях.

Чтобы не было так что:


Типа курение вредит вашему здоровью, а черное копание приведет вас в тюрьму. Но мы продолжаем продавать наши сигареты и дарить механизмы для сбора инфы такой деятельности.

Мне кажется это аспект надо продумать тоже. Атмосфера сайта должна быть какой то другой наверное. Может быть уйти от опции СМИ вообще, оставить только раздел научных статей. Или в СМИ собирать только короткое научное изложение фактов и вообще без прямой ссылки, только указание сайта. Это может нарушить копирайты даже при полном отсутствии коммерческой составляющей проекта, ее насколько я понимаю не будет никогда даже в планах.

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

В общем функция коллекции точек с запросом к базе заработала

https://arh.k156.ru/

пока не присвоены в этой новой функции индивидуальные картинки меток, которые уже есть и привязаны к цвету периода, плюс нет подробного описания.

От идеи меню связанного с картой я отказалась пока, хотя готовый скрипт вклеить проще, но мне сама идея совмещения того что уже есть плюс этому на голову, точнее внизу (тогда можно сказать на ноги) еще приклеить второе меню кажется перебором

Новый скрипт страницы, которая в прошлом сообщении названа karta.php пока таков (имя таблицы tabll1 условное, у меня другое, поля пока проявлены в переменных только номер стоянки, название стоянки и геокод, а их еще много)


<script>

var myMap;

ymaps.ready(function () {
    var myMap = new ymaps.Map('map', {
            center: [55.751574, 37.573856], zoom: 2, behaviors: ['default', 'scrollZoom'],  type: 'yandex#hybrid'}
         )
       
       
  var myGeoObjects = new ymaps.GeoObjectCollection({}, {
    preset: \"islands#redCircleIcon\",
    strokeWidth: 4,
    geodesic: true
});
       

";



include("header.php");


$query675 = "SELECT * FROM tabll1";
$result675 = mysql_query($query675) or die("Query failed5");

while ($line675 = mysql_fetch_array($result675, MYSQL_ASSOC)) {

if ($line675['geo1']!=""){   


$idstoyan=$line675['idfill'];

$ima3=" ". $line675['name']." ";


$geokod=$line675['geo1'].",".$line675['geo2'];



echo "   


    myPlacemark2$idstoyan = new ymaps.Placemark([$geokod], {
            // Чтобы балун и хинт открывались на метке, необходимо задать ей определенные свойства.
            balloonContentHeader: \"$ima3\",
            balloonContentBody: \"Краткое  <em>описание</em> метки2\",
            balloonContentFooter: \" $geokod, Подробности2\",
            hintContent: \"$ima3\"
        });

myGeoObjects
.add(myPlacemark2$idstoyan);

";


};

};


echo "   





myMap.geoObjects.add(myGeoObjects);
       
       
       
       
       
     myMap.controls
       
        .add('zoomControl', { left: 5, top: 5 })
       
        .add('typeSelector')
       
        .add('mapTools', { left: 35, top: 5 });    
       
       
       
       
});


         
       

</script>





Обязательный момент -  в строке

  myPlacemark2$idstoyan = new ymaps.Placemark([$geokod], {


и в функции



myGeoObjects
.add(myPlacemark2$idstoyan);



должен быть индивидуальный номер точки, я присвоила ему номер точки в моей таблице ($idstoyan), иначе это не будет массивом разных точек



оператор если

if ($line675['geo1']!=""){   


у меня введен так как в моей таблице не все строки уже с присвоенными геокодами, поэтому выбираются для карты только те, где эти поля не пустуют.

Коментарии в коде я для себя потерла они мне мешали видеть формулы целиком сразу на экране, наверное следующим шагом для форума их верну из тех мест откуда взяла, и напишу к своему запросу к базе.

Песочница мне не помогла, я часть синтаксиса взяла из песочницы, часть из созданного Яндексом учебника, постараюсь позже описать работу и дать ссылки.

Рутина еще не закончилась, хочу вставить в открывающийся ярлык(балун) свои стили текста, ссылки.

Из предлагаемых функций самой карты хочу добавить поиск по своим обьектам но я пока скрипт даже не смотрела, просто видела в меню.

Еще хорошей идеей мне кажется создавать на отдельной карте объединяющие группы  метки области периодов. Но может это наоборот очень плохая идея -сделать то это легко, теперь когда я знаю как группировать точки в коллекцию, но, конечно, не все что между метками были ареалы распространения людей, это будет создавать глючные картины.

Хотя там есть полупрозрачное наложение разных цветов, можно было прослеживать пересечения разных периодов, но повторяю это никакого отношения к науке иметь не будет, альтизм чистой воды получится. Пока нет такого желания.

Одно дело ругать человечество и особенно политиков на базе СМИ, все понимают, что это в основном просто эмоциональный пафосный бред литературного жанра. А совсем другое  - создавать имитацию научной деятельности на базе уже кем то созданной настоящей научной работы.

9 (2022-02-06 16:19:18 отредактировано Михаил П(отапыч)авлович)

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Нельзя сказать что я много понял в скрипте, мне как то сами стоянки ближе, но что мешает выделить цветом открывающиеся и закрывающиеся скобки?

Чтобы не запутываться, в палитре форума около сотни цветов, можно найти 10 которые очень сильно отличаются, например то что относится к Ява - холодная гамма синего голубого фиолетового, то что относится к php  - красная , оранжевая

то что относится к созданию карты самой карты и ее инструментам и закрывающимся ее же скобкам в саомо низу -зеленое.

Если мы хотим чтобы любой читатель создавал карты со своими таблицами баз связанными с  php на разные темы. Не обязательно стоянки, это могут быть каталоги памятников архитектуры, коллекции объектов охраняемых ЮНЕСКО, территории заповедников с точками внутреннего туризма.

Про ареалы распространения стоянок связанные по точкам - можно сделать отдельные страницы где вверху самым крупным шрифтом ярко написать что вот теперь вы вступаете за пределы научного мира в мир фантазий, это не отражает позицию ученых.

В конце концов все эти периоды точно также высосаны из пальца, то есть масса стоянок просто не найдена по причине того, что не сохранилась.

Из этого вытащенных из контекста настоящей истории обрывочных фраз зафиксированного делаются какие то выводы, типа вот эта культура заимствовала вот то у вот этой потому, что других промежуточных шагов не найдено.

Хотя если провести жизнь в таких раскопках и в литературе описаний остального в этом направлении одновременно конечно у ученого формируется интуитивная обработка точечных сигналов, позволяющих относительно точно интерпретировать происходящее. Насколько это вообще возможно.

Но каменные фундаменты сохранялись, а деревянные избушки практически нет. А камень был не там, где цивилизация более высокого развития, а там где дерева нет, которое в отличие от камня легко обрабатывается. То есть все наши представления о самых ранних сообществах в пустынях основаны в основном на местном климате экватора и том что кто то в европейской части страстно хотел оставить о себе долгую память, или люди были более агрессивны и приходилось защищаться как в сказке три поросенка от людей типа волков каменными стенами с узкими окошками куда не пролезть врагу и которое можно защищать.
А в лесах азиатской части континента были какие-то перегородки из рисовой бумаги даже в эпоху династии Мин в императорских покоях. 

Так как народу было много вообще размножались активно и было принято поэтому вести себя тихо по возможности не орать. Иначе просто жить было бы невозможно
smile 

А вопросы защиты решались уровнем личной смелости и сложными техниками боя которым обучали чуть ли не с рождения.

Это даже в современном кино видно у разных культур и групп народов, не все исчезло в смешении глобализма

Ну это я так по чайниковски думаю, конечно. Просто литературная фантазия вымышленного инопланетянина смотрящего на Землю через призму цивилизации живущей в океане. Просто поверхностный взгляд со стороны наблюдателя из другой системы отсчета.

Да еще и выдуманной. Один человек все равно находится в своей системе отсчета и созданные им личности носят характер его личной системы ценностей как бы широка она не казалась ему самому.

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

До полной выкладки всех механизмов сайта еще далеко, они просто не готовы к гостям, там все писалось в коммерческом цейтноте, вспомогательного мусора много, который можно оптимизировать, то есть тем же путем пойти короче.

Могу для примера такой кусок выложить, но не советую конечно идти по такому пути. Это бывшая версия с картами еще времен городского информационного портала Костромы, который был создан в духе западного создания предлога для контакта с организациями и попутного сбора заказов на сайты. Тогда, почти 17 лет назад еще народ со спамом так в личные данные не лез, и это были телефоны не личные а приемных предприятий или бухгалтерий магазинов.


Последние правки к порталу дописывались примерно в 2015 году, но я тогда уже управляла зданиями мужа и цейтнот был не меньше, с сайтами я работала только с теми заказчиками которые упорно не хотели со мной расставаться и начинать что-то новое, просто потому что тоже были заняты своей коммерцией руки не доходили. Но все равно это все для скрипта седая древность. Хотя учебники php  остались те же, структура баз данных тоже они вполне работают, php это язык который может скрывать скрипт от браузера, от него не скоро откажутся, я думаю

В общем я подумаю выкладывать ли эти старые скрипты как варианты возможного структурирования. Вроде бы зачем эфир засорять, наоборот нужно почистить их в рамках оптимизации и тогда уже по частям и как целое выкладывать для всеобщего пользования, действительно сопроводив цветовыми разбивками открывающихся и закрывающихся частей циклов, это всегда больше всего запутывает в многоуровневом потоке формул

Следующим шагом я все таки хочу дописать скрипт новой версии 2.0 Яндекс карт, то что я выложила пока первая простая версия, здесь не только не дописаны стили цвета и не отображены мои индивидуальные картинки меток, в таблицах они лежат при добавке опций проявятся, в первый раз все нормально отображалось


{
            // Опции.
            // Необходимо указать данный тип макета.
            иconLayout: 'default#иmageWиthContent',
            // Своё изображение иконки метки.
            иconИmageHref: 'yar/12.gиf',
            // Размеры метки.
            иconИmageSиze: [48, 48],
            // Смещение левого верхнего угла иконки относительно
            // её \"ножки\" (точки привязки).
            иconИmageOffset: [-24, -24],
            // Смещение слоя с содержимым относительно слоя с картинкой.
            иconContentOffset: [15, 15],
            // Макет содержимого.
            иconContentLayout: MyИconContentLayout
        });

Но кроме этого  - там вложенных циклов php два так как в разных культурах есть множество стоянок, я потом напишу подробнее про этот механизм.

И уже окончательный скрипт выложу с расцветкой.

Только скрипт карты и скрипты коллекций меток это и есть Ява скрипт, для него могут быть оттенки синего и морской волны например, это один язык, но разные слои  - карты и коллекций точек

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Возможно завтра выкроится свободное время опять вернуться к этому скрипту. Пока суета несетевого мира не позволяет этим заниматься.
Плюс в сети честно говоря я опять в политике сижу во всяких пресс конференциях Макрона, заявлениях ФРГ  и т.п. Но не хочу сейчас это сюда тащить, надеюсь на все таки разворот Украины в сторону нейтральности по типу Швеции и Финляндии хотя очень вдалеке и неопределенно такая перспектива  маячит.

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Новая версия скрипта карты главной страницы (потом я выложу все вместе и файл страницы с таблицей в условном максимально сокращенном варианте без комментариев и вложенный скрипт и файл базы данных условный с тремя четырьмя строками условных двух таблиц примеров)

https://arh.k156.ru/index.php

Вероятно он почти окончательный для нее, кроме одного найденого глюка, но в другом скрипте, не на картах, потом исправлю.
И не добавлен поиск внутри объектов карты, скорее всего для вывода его результатов прямо на этой же странице внутри карты нужно будет менять структуру
Двойной запрос в базу на первой странице не используется, там прямо вытаскиваются данные из таблицы самих стоянок минуя шаг культур. на страницах разделов
https://arh.k156.ru/catview.php?cat_id=12

и на персональных страницах каждой стоянки

https://arh.k156.ru/catviews.php?org_id=1

будут запросы двух вложенных друг в друга циклов (массивов), в старой версии карт они вполне работали

Там же в таблице есть номера разделов но они уже отображены флагом, думаю любое дублирование информации будет запутывать, сайт и так будет сложный с кучей деталей.

Сокращенный вариант без расшифровок, цвет добавлю минут через 15-20 редактированием

это полный скрипт файла кроме шапки

echo "<html> <head><meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />

</head><body></body></html>";


про которую я писала выше (использую  для моей старой  дримы), на отображение страницы не влияет так как кодировка наследуется из основной страницы в которую этот файл встроен как инклуд/

Разбивка цветом: php  - красный, ява скрипт - синезеленый спектр, та часть которая относится к общим свойствам карты - зеленая, та которая управляет коллекцией меток - цвет светлый морской волны, та которая определяет свойства каждой метки- синяя


<?php


echo "   

<script>

var myMap;

ymaps.ready(function () {
    var myMap = new ymaps.Map('map', {
            center: [55.751574, 37.573856], zoom: 2, behaviors: ['default', 'scrollZoom'],  type: 'yandex#hybrid'}
         )

       
       
  var myGeoObjects = new ymaps.GeoObjectCollection({}, {
    preset: \"islands#redCircleIcon\",
    strokeWidth: 4,
    geodesic: true
});
   
   

";

include("header.php");


$query675 = "SELECT * FROM tabl1";
$result675 = mysql_query($query675) or die("Query failed5");

while ($line675 = mysql_fetch_array($result675, MYSQL_ASSOC)) {

if ($line675['geo1']!=""){   

$idstoyan=$line675['idfill'];

$ima3=" ". $line675['name']." ";

$kodflag=$line675['kodflag'];

$kogda=$line675['kogda'];

$gde=$line675['gde'];

$geokod=$line675['geo2'].",".$line675['geo1'];

$fil=$line675['idorgss'];

$hrefs ="<a href=\"catviews.php?org_id=$fil\">Подробно </a>  ";


echo "   

myPlacemark2$idstoyan = new ymaps.Placemark([$geokod], {
            balloonContentHeader: '$ima3',
            balloonContentBody: '$kogda,  <em> $gde</em>',
            balloonContentFooter: ' $geokod, $hrefs',
            hintContent: '$ima3'
        }, {
            iconLayout: 'default#image',
             iconImageHref: 'yar/$kodflag.gif',
            iconImageSize: [25, 25],
            iconImageOffset: [-1, -1]
           
        });

myGeoObjects
.add(myPlacemark2$idstoyan);



};

};




";

echo "   


myMap.geoObjects.add(myGeoObjects);   
       
       
     myMap.controls
       
        .add('zoomControl', { left: 5, top: 5 })
       
        .add('typeSelector')
       
        .add('mapTools', { left: 35, top: 5 });    
       
   
});




</script>  ";
 

 
?>



При подчеркивании цветом видно, что область добавления метки на карту в коллекцию

myGeoObjects
.add(myPlacemark2$idstoyan);

входит в цикл массива php

и следовательно внутри цикла повторяется столько раз сколько меток добавляется. Это как бы относится к скрипту коллекции(поэтому обозначено цветом морской волны), но внутри добавления индивидуальное имя метки myPlacemark2$idstoyan, заданное номером стоянки в таблице баз mysql строка извлечения данных из таблицы:

$idstoyan=$line675['idfill'];

то есть имя в каждом шаге цикла получается

myPlacemark21

myPlacemark22

и тд

Поэтому оно должно быть проявлено в каждом шаге работы цикла и эта строка должна находится внутри цикла php.

Конечно в php есть методы обработчиков цикла, которые сократят этот шаг, но я не смогу вероятно согласовать и их и ява скрипт. Кто хорошо с ними знаком и времени свободного больше чем у меня может попробовать поэкспериментировать.


Мой форум  - это точно не учебник или мастеркласс, я такой же мастер php как испанский летчик, просто занимаюсь тем, что мне нравится и для кого то этот текст может быть ступенькой. Чтобы идти дальше меня, что конечно же мной весьма приветствуется.


Как видим теги html можно прописать как в переменной при выводе массива

$hrefs ="<a href=\"catviews.php?org_id=$fil\">Подробно </a>";


так и внутри ява скрипта при прописывании текста внутри всплывающего окна балуна

balloonContentBody: '$kogda,  <em> $gde</em>',

Это как вам удобно потом читать что это вы такое наваяли и что хотели при прочтении через год
smile


в этой версии карт все отбивки двукратных кавычек требуемые для php можно заменить на обычную ординарную, в прошлой версии это приводило к тому что карта переставала отображаться. Теперь я этот мусор смогла убрать.

заменив все такое:

balloonContentHeader: \"$ima3\",

на все такое:

balloonContentHeader: '$ima3',


Возможно позже сделаю макет с условными базами данных и файлом с пустой таблицей, где будет размещен скрипт для скачки все три файла архивом с короткими комментариями для совсем начинающих и здесь повешу ссылку. Но при этом много суеты возникает, не факт что скоро это сделаю, хотя все зависит от внешних параметров жизни, моей и на планете в контексте бучи информационных войн за рынки сбыта, которые сейчас под соусом борьбы за демократию широко шагают по планете. Во что это выльется для частных лиц не ясно.

13 (2022-02-10 22:00:09 отредактировано Михаил П(отапыч)авлович)

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Я надеюсь мы не бросим все и не пойдем гулять сейчас по новостям науки?

По второй и третьей карте - работы осталось на пару часов, можно выкроить.

Если в старой версии все готово в php, что им тут мешает с первого раза включиться

Двойной запрос в базу на первой странице не используется, там прямо вытаскиваются данные из таблицы самих стоянок минуя шаг культур. на страницах разделов
https://arh.k156.ru/catview.php?cat_id=12

и на персональных страницах каждой стоянки

https://arh.k156.ru/catviews.php?org_id=1

будут запросы двух вложенных друг в друга циклов (массивов), в старой версии карт они вполне работали

Ладно если не нравится идея объединений по точкам даже в ключе фантастики. Но можно кроме прочего наполнить новые добавления и то что уже есть видеофайлами местности с высоты, их вагоны в сети, можно найти по названиям. Для датировок тысячелетиями это может смазывать картину и вводить в заблуждение, но для всех остальных разделов кроме первого?
Горообразование и смена русла крупных и средних размеров рек, тотальное изменение биосферных ареалов, по крайней мере растений...

Всего этого за такие периоды не происходит. Можно увидеть и представить как здесь жили люди.

Но и в Танзании, где Кокиселея -  до сих пор племена вполне дикие есть. Ясен пень они не такими были, но в таком направлении. Вместо раздела СМИ можно создать раздел "Здесь и сейчас" - подборка материалов о ландшафте и современных диких племенах если такие сохранились

Это будут живые иллюстрации, плюс этот движок может у кого то работать как каталог объектов внутреннего туризма как у вас тут прозвучало,  с картами и видеофайлами местности с высоты, и так эта идея будет звучать наглядно.

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Все таки дописываю скрипт
просто не могу больше смотреть новости

(судя по тому как страны европы предлагают своим гражданам отменить поездки в РФ, а НАТО заявляет что оно России не угрожает, а В ООН представитель сша сообщает, что наше приведение в готовность сил сдерживания это агрессия, Зеленский сидя в Польше вдалеке от личной опасности меланхолично заявляет что в успех переговоров он не верит, но пусть дескать попробуют, плюс сколько оружия на Украину не угрожающее никому НАТО уже отправило... и масса других деталей

в сумме это дает по моему личному впечатлению, могу сильно ошибаться и надеюсь на это:

вероятность, что скоро начнется бомбежка НАТО по РФ возросла в очередной раз)

Поэтому собирать тревожные чемоданчики не буду, чему быть, того не миновать. Любить натовцев и запад я не собираюсь я вообще не приветствую любовь в форме изнасилования, мне чужда эта культура не устающая воспевать живодерство в фильмах ужасов и проецирующая свои взгляды в самых диких да еще и извращенных формах навязчивости да еще и под дулом оружия да еще и сообщая прямо во время этого о своем миролюбии.

Чем меньше они будут иметь влияния на планете тем дольше проживет человечество. Ну это мое личное мнение, я его здесь сопровождала научными выкладками много раз и вряд ли на этом остановлюсь. Просто нужно совмещать исследования по вечной мерзлоте, товарообороту, выбросам не только с 1990 но за последние примерно сотню лет с начала интенсивного парадного шествия научно-технической революции по планете и истории культуры  из разных веток в целое.

Поэтому

подключен второй файл на страницах разделов, можно глянуть в любом

https://arh.k156.ru/catview.php?cat_id=12

https://arh.k156.ru/catview.php?cat_id=18



Собственно как и предполагалось после формирования основного скрипта просто добавленный сверху внешний цикл делает первый цикл внутренним.

Нову. часть цветом не выделяю чтобы ее было видно как нечно отдельное:


<?php


echo "   

<script>

var myMap;

ymaps.ready(function () {
    var myMap = new ymaps.Map('map', {
            center: [55.751574, 37.573856], zoom: 2, behaviors: ['default', 'scrollZoom'],  type: 'yandex#hybrid'}
         )

       
       
  var myGeoObjects = new ymaps.GeoObjectCollection({}, {
    preset: \"islands#redCircleIcon\",
    strokeWidth: 4,
    geodesic: true
});
   
   

";

include("header.php");


$query75 = "SELECT * FROM tabl2 WHERE cat=$cat_id ";
$result75 = mysql_query($query75) or die("Query failed75");
while ($line75 = mysql_fetch_array($result75, MYSQL_ASSOC)) {
$idor=$line75['id'];



$query675 = "SELECT * FROM tabl1 WHERE idorgss =".$idor;

$result675 = mysql_query($query675) or die("Query failed5");

while ($line675 = mysql_fetch_array($result675, MYSQL_ASSOC)) {

if ($line675['geo1']!=""){   

$idstoyan=$line675['idfill'];

$ima3=" ". $line675['name']." ";

$kodflag=$line675['kodflag'];

$kogda=$line675['kogda'];

$gde=$line675['gde'];

$geokod=$line675['geo2'].",".$line675['geo1'];

$fil=$line675['idorgss'];

$hrefs ="<a href=\"catviews.php?org_id=$fil\">Подробно </a>  ";


echo "   

myPlacemark2$idstoyan = new ymaps.Placemark([$geokod], {
            balloonContentHeader: '$ima3',
            balloonContentBody: '$kogda,  <em> $gde</em>',
            balloonContentFooter: ' $geokod, $hrefs',
            hintContent: '$ima3'
        }, {
            iconLayout: 'default#image',
             iconImageHref: 'yar/$kodflag.gif',
            iconImageSize: [25, 25],
            iconImageOffset: [-1, -1]
           
        });

myGeoObjects
.add(myPlacemark2$idstoyan);


};

};

};

";



echo "   


myMap.geoObjects.add(myGeoObjects);   
       
       
     myMap.controls
       
        .add('zoomControl', { left: 5, top: 5 })
       
        .add('typeSelector')
       
        .add('mapTools', { left: 35, top: 5 });    
       
   
});




</script>  ";
 

 
?>





$query675 = "SELECT * FROM tabl1";

заменено на


$query75 = "SELECT * FROM tabl2 WHERE cat=$cat_id ";
$result75 = mysql_query($query75) or die("Query failed75");
while ($line75 = mysql_fetch_array($result75, MYSQL_ASSOC)) {
$idor=$line75['id'];

$query675 = "SELECT * FROM tabl1 WHERE idorgss =".$idor;


и разумеется так как появился новый цикл внизу нужно добавить еще одну закрывашку фигурной скобки там, где заканчивается работа скрипта с каждой меткой (повторяющаяся внутри цикла многократно, для каждой отдельно)  и начинается его работа с картой как целым, она совершается один раз.

То есть вместо

myGeoObjects
.add(myPlacemark2$idstoyan);



};

};




";

echo "   


myMap.geoObjects.add(myGeoObjects);   


появится

myGeoObjects
.add(myPlacemark2$idstoyan);



};

};

};




";

echo "   


myMap.geoObjects.add(myGeoObjects);



Следующий шаг - персональные страницы стоянок,
такого типа, пока там старая карта которая отключилась и соответственно перестала работать

https://arh.k156.ru/catviews.php?org_id=1

там предварительно должно быть встроено изменение для каждой точки такого плана

Вычисляется то, что рядом с этой конкретной стоянкой во всех периодах в радиусе 1000 км, примерно в таком духе (это предыдущий скрипт со старыми картами в области вычисления точек и выборки из базы mysql из таблицы списка стоянок  строк, где уже отмечены геокоды
(поэтому у меня необязательный для всех шаг   if ($line582['geo2']!="") {     ) ,
входящих в диапазон(имя таблицы заменено на условное такое же как предыдущих сообщениях):

if ($line582['geo2']!="") {                  

$geokodx2 = $line582['geo1'];
$geokody2= $line582['geo2'];




$geokodx12=  $line582['geo1']+10.115511;
$geokodx22=  $line582['geo1']-10.115511;

$geokody12=  $line582['geo2']+10.112548;
$geokody22=  $line582['geo2']-10.112548;



$query77 = "SELECT * FROM tabl1 WHERE  geo2<=".$geokody12." and geo2>=".$geokody22." and geo1<=".$geokodx12." and geo1>=".$geokodx22 ;
$result77 = mysql_query($query77) or die("Query failed25");


$number77 = mysql_num_rows($result77);


последняя строка считает количество найденных в такой выборке строк и после выбирает вариант скрипта


if ($number77!=0) {echo "
<span class='zag-index'> стоянка <b>$nameorgers </b> на этой карте : </span> <img src='yar/10.gif' width='50' height='50' />
";   

include("k517.php");   

echo "";

и вот этой шаг в новой карте может не сработать, но посмотрим, поэтому отложу немного
";

Re: Создание механизмов(формул скриптов) сайта палеостоянок и планы по ним

Зеленский сидя в Польше вдалеке от личной опасности меланхолично заявляет что в успех переговоров он не верит, но пусть дескать попробуют,

Так это Джо Альцгеймер просто забыл его пнуть
А ему придется, у него выборы в конгресс на носу


https://www.kommersant.ru/doc/5237425

Во вторник вечером президент США Джо Байден выступит со своим первым обращением к Конгрессу. Глобальные потрясения, вызванные эскалацией украинского кризиса, обнулили шансы главы Белого дома поднять свой рейтинг. Перед президентом США стоит практически невыполнимая задача: убедить законодателей, что его администрация доказала свою эффективность, использовав механизмы максимального давления на Россию, и альтернативой санкциям могла быть только Третья мировая война. Оппоненты президента считают украинский кризис вторым после Афганистана международным провалом Белого дома, который резко повышает шансы республиканцев на ноябрьских промежуточных выборах в Конгресс.
«Я предприму решительные действия и позабочусь о том, чтобы боль от наших санкций была направлена на российскую экономику, а не на нашу»,— заверил тогда американский лидер.

Однако когда украинский кризис вышел на новый уровень эскалации, стало очевидно: удар по американской экономике будет серьезным.

Геополитическим кризисом как аргументом в пользу неспособности текущей администрации эффективно управлять страной и выступать от ее имени на международной арене не преминули воспользоваться республиканцы, которые на днях провели Конференцию консервативных кругов США (CPAC).

В частности, решение о выдвижении на пост верховного судьи афроамериканки Кетанджи Браун Джексон — заметная новость. Однако не такая важная, как кризис в Восточной Европе. На сайтах новостных агентств история о выдвижении госпожи Джексон затерялась под сводками последних событий на Украине, которые, помимо всего прочего, вызывают у американских избирателей опасения по поводу возможного, с их точки зрения, прямого столкновения двух ядерных держав.

Неудивительно, что на этом фоне все успехи первого года действующей администрации США меркнут. В результате, как следует из последнего опроса, опубликованного AP, только 26% американцев одобряют действия президента в российско-украинском конфликте.


А по формулам как я понял

последняя строка считает количество найденных в такой выборке строк и после выбирает вариант скрипта


if ($number77!=0) {echo "
<span class='zag-index'> стоянка <b>$nameorgers </b> на этой карте : </span> <img src='yar/10.gif' width='50' height='50' />
";   

include("k517.php");   

echo "";

и вот этой шаг в новой карте может не сработать, но посмотрим, поэтому отложу немного
";


не обязательно инклуды создавать, если они сложности с этой версией карт вызывают, можно все в одном потоке сделать