Игорь

Игорь

С нами с 03 июля 2019; Место в рейтинге пользователей: #218

Не могу посчитать сколько раз был запущен getImageList

<div class="carousel-indicators">

            [[!getImageList?
                &value=`[[+gallerys]]`
                &tpl=`tplIndicator`
                &docid=`[[*id]]`
                &docIdx=`[[+idx]]`
                &migxId=`[[+MIGX_id]]` 
                &total=`[[+total]]`  
                &tvname=`[[+MIGX_id]]`
            ]]
            
        <button type="button" data-bs-target="#carouselExampleControls-[[+total]]" data-bs-slide-to="" aria-label="Slide"></button>

[[+total]] считает не верно. Как получить сколько раз был запущен getImageList ну или сколько в нем элементов..
Игорь
27 января 2024, 21:11
modx.pro
184
0

Заставить индикаторы картинок переключаться при нажатии

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

товар 33:
<div id="carouselExampleControls-33
должен быть уникальным на странице и равен индикатором для переключения картинок

<button type="button" data-bs-target="#carouselExampleControls-33" data-bs-slide-to="0" class="active" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleControls-33" data-bs-slide-to="1" class="" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleControls-33" data-bs-slide-to="2" class="" aria-label="Slide 3"></button>
<button type="button" data-bs-target="#carouselExampleControls-33" data-bs-slide-to="3" class="" aria-label="Slide 4"></button>

товар 34:
<div id="carouselExampleControls-34
должен быть уникальным на странице и равен индикатором для переключения картинок

<button type="button" data-bs-target="#carouselExampleControls-34" data-bs-slide-to="0" class="active" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleControls-34" data-bs-slide-to="1" class="" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleControls-34" data-bs-slide-to="2" class="" aria-label="Slide 3"></button>
<button type="button" data-bs-target="#carouselExampleControls-34" data-bs-slide-to="3" class="" aria-label="Slide 4"></button>


Чанк: tpl-personal:
<div itemscope itemtype="http://schema.org/Product" class="col-6 col-xs-4 col-sm-4 col-md-3 col-lg-3 col-xl-3 p-2 p-md-3 lh-sm tovar mb-5">
    <div id="carouselExampleControls-[[+MIGX_id]]" class="carousel slide carousel-fade" data-bs-ride="carousel" data-bs-interval="false">
        <div class="carousel-indicators">
            [[!getImageList?
                &value=`[[+gallerys]]`
                &tpl=`tplIndicator`
                &docid=`[[*id]]`
                &docIdx=`[[+idx]]`
                &migxId=`[[+MIGX_id]]` 
            ]]

Чанк: tplIndicator:
<button type="button" data-bs-target="#carouselExampleControls-[[+MIGX_id]]" data-bs-slide-to="[[+idx:subtract]]" class="[[+idx:is=`1`:then=`active`]]" aria-label="Slide [[+idx]]"></button>

проблема что не могу в data-bs-target="#carouselExampleControls-[[+MIGX_id]]" передать цифру, поэтому индикаторы "<button type=«button» не переключают картинки,

были попытки так:
[[getImageList?
        &value=`[[+gallerys]]`
        &tpl=`tplIndicator`
        &docid=`[[*id]]`
        &docIdx=`[[+idx]]`
        &myCustomParam=`[[+MIGX_id]]`  // Передаем как пользовательский параметр
    ]]
    
tplIndicator:
<div>
    ID из MIGX: [[+myCustomParam]]
</div>
не работает…
Игорь
22 января 2024, 15:24
modx.pro
191
0

Загрузить страницу через Ajax без шаблона

Здравствуйте, не смог найти простой способ просто загрузить содержимое страницы [[*content]] без шаблона этой страницы…

<a data-fancybox data-type="ajax" data-src="[[~42]]" href="#">Тест2</a>
хочу грузить страницы, но грузит и шаблон ее…
у страницы ставить без шаблона не подходит такой вариант.
Игорь
23 октября 2023, 15:54
modx.pro
278
0

Проблема с ajax, как выполнить снипет через ajax.

Проблема с ajax, как выполнить снипет через ajax.

файл js:
$(document).ready(function() {
    $.ajax({
        url: '/data2.html',
        type: 'POST',
        dataType: 'html'
        
Документ data2 создан в корне ресурсов.
       
В modx revo отключено Содержимое-Типы содержимого .html (не хочу у страниц сайта иметь на конце .html)
Документ data2.html содержит сниппет.

Проблема что не работает так, но если включаю Содержимое-Типы содержимого .html, то скрипт выполняется
пробовал в документе data2 ставить seourl data2, data2.html, data2.php и ничего не помогает.

пробовал и так
$(document).ready(function() {
    $.ajax({
        url: '[[~26]]',
        type: 'POST',
        dataType: 'html'
        
    не помогло.
Игорь
10 октября 2023, 19:09
modx.pro
352
0

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

Здравствуйте, не могу перенести копию БД modx revo на другой сайт, точней экспорт делаю через phpmyadmin, файл 450 мб скачивается. Пытался сжимать в zip, при импорте в phpmyadmin таймауты прилетают, повышал лимиты в php не помогло. Пробовал файл с сервера импортировать, тоже таймауты в phpmyadmin получаю.

пробовал импорт через ssh выдает ERROR 2013 (HY000) at line 130189: Lost connection to MySQL server during query
делить файл на 5 штук… но боюсь что запросы порежет…
Игорь
21 сентября 2023, 17:45
modx.pro
431
0

Не выдает город по ip

Здравствуйте, использую код

$api_key = 'ВАШ_ТОКЕН';
$ip_address = $_SERVER['REMOTE_ADDR'];

$url = 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/iplocate/address?ip=' . $ip_address;

$options = [
    'http' => [
        'header' => "Content-Type: application/json\r\n" .
                    "Authorization: Token " . $api_key . "\r\n",
        'method' => 'GET'
    ]
];

$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);

if (isset($data['location']['data']['city'])) {
    return "Город посетителя: " . $data['location']['data']['city'];
} else {
    return "Не удалось определить город";
}
токен обновлял… в обычном файле index.php на сервере работает код, в mox revo в сниппете никак не хочет работать, выдает «Не удалось определить город. „

file_get_contents работает
cURL тоже работает.
Игорь
08 сентября 2023, 18:24
modx.pro
203
0

Получение tv из дочерних ресурсов

Игорь
01 августа 2023, 19:55
modx.pro
1
426
0

Как массово создать страницы

Здравствуйте, нужно создать страницы у других страниц с определенными id Указав у страниц seo url, Title, id шаблона. Можно ли это сделать через Console в modx REVO?
Игорь
08 апреля 2023, 15:16
modx.pro
400
0

Отобразить migx галерею, но только если в ней есть картинки, иначе с другой страницы подгрузить

Здравствуйте…
У меня две галареи на MIGX. Одна на главной id(1) странице, другая на страницах(2)..(3)..(4)… и тд. у каждой страницы своя.
Мне нужно на странице(2) отображать галарею, НО ТОЛЬКО ЕСЛИ на ней загружены картинки, ИНАЧЕ отобразить галерею с Главной id(1).

Галереи сделаны по принципу MIGX, по статье с сайта http: //pitrooo. ru/note/galereya-s-pomoshhyu-migx.html
у каждой сделал свой чанк и шаблон.

Вот так пробую:
[[*gallery-page:is=``:then=`пусто`:else=`есть фотографии`]]
вот эта конструкция работает, но она работает если на странице ранее ничего не загружалось и не удалялось.,
видел писали про скобки, [ ] что они остаются в БД даже после удаления строчки в MIGX.

А как тогда проще проверить загружены ли картинки в MIGX таблицу или пусто…
Игорь
04 марта 2023, 22:38
modx.pro
401
0