Всего 124 051 комментарий

Ruslan
20 декабря 2024, 12:53
0
Спасибо, я уже начал как раз пробывать передавать через $_COOKIE.
Просто думал есть какой то другой правильный способ )
Артур Шевченко
20 декабря 2024, 12:41
0
В php есть супер глобальные массивы $_COOKIE, $_SESSION, $_REQUEST клади туда. Самый простой вариант- добавь поле с ключом в форму которая отправляется на сервер.
Ruslan
20 декабря 2024, 10:32
0
Сделал плагин, и указал жёстко переопределение языка.
Кстати самому плагину Polylang приоритет «1» не ставил еще.
switch ($modx->event->name) {
    case 'OnMODXInit':
    $modx->setOption('cultureKey', 'uz');
    break;
}
Работает отлично.

Но как передать туда ключ текущего языка, так и не нашел. Можете подсказать каким образом передать можно?
Олег
20 декабря 2024, 00:21
0
Превьюшки нашел.
Они в этом массиве [_embedded][items][номер файла][sizes]

Остался вопрос с кешированием
Олег
19 декабря 2024, 22:29
0
У меня получилось вывести список изображений из определенной папки Яндекс Диска (код частично взят из разных источников и названия переменных совпадают). Название папки передаю через GET
Не могу получить превьюшки нужного размера. В запросе их указал, но как их вывести?
Пока получилось вывести какой-то стандартный формат превью.

Подскажите, как вывести нужный размер превью?

И еще вопрос — в идеале прогонять все картинки через phpthumbon, чтобы они кешировались на сайте, но phpthumbon эти ссылки не может обработать. Есть какой-то вариант кешировать превьюшки в папке сайта?

<?php
$token = 'y0_AgAAAAA...................shC_if0A';
$fields = '_embedded.items.name,_embedded.items.type';
$path=isset($_GET['path']);
$limit=isset($_GET['limit']) ? $_GET['limit'] : 20;
$offset=isset($_GET['offset']) ? $_GET['offset'] : 0;
$amount=isset($_GET['amount']) ? $_GET['amount'] : 20;

$ch = curl_init('https://cloud-api.yandex.net/v1/disk/resources?path=' .urlencode($path) .'&limit=' . $limit .'&offset='. $offset.'&amount='. $amount);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth ' . $token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);

$res = json_decode($res, true);
$num_files=count($res[_embedded][items]);
for ($i = 0; $i < $num_files; $i++)
{
$filesname = $res[_embedded][items][$i][name];
$preview = $res[_embedded][items][$i][preview];

$yd_file = '/'.$path.'/'.$filesname;
$ch = curl_init('https://cloud-api.yandex.net/v1/disk/resources/download?preview&size=M&preview_crop=true&preview_size=M&path=' .urlencode($yd_file));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth ' . $token));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);

$exy = curl_exec($ch);
$exy = json_decode($exy, true);
$exy = $exy[href];

echo '<a href="'.$exy.'"><img src="'.$preview.'" alt=""  /></a>';
curl_close($ch);
}
Артур Шевченко
19 декабря 2024, 21:35
0
Попробуйте поменять
'tplFilter.row.msoc|color' => '@FILE chunks/tpl.mfilter2.filter.checkbox.color.tpl'
на
'tplFilter.row.msoc|color~value~color' => '@FILE chunks/tpl.mfilter2.filter.checkbox.color.tpl'
Артур Шевченко
19 декабря 2024, 21:24
0
При загрузке в тикет файлов картинок в галерею
Ты сам понял, что написал?
Артур Шевченко
19 декабря 2024, 21:16
0
Polylang не предназначен для работы по ajax. Тебе нужно передавать на сервер текущий ключ языка. А на сервере написать плагин на событие OnMODXInit в котором надо устанавливать cultureKey значение равное текущему языку. И нужно плагину Polylang поставить приоритет 1.
Николай Савин
19 декабря 2024, 15:42
+1
Касательно MiniShop3 — изменения в классах и таблицах товаров не планируются. Так что тут уже стабильно все.
Олег
17 декабря 2024, 17:03
0
Подскажите, как вывести все картинки определенной папки Яндекс Диска? Перечитал инструкцию и не смог понять
Ruslan
16 декабря 2024, 12:56
0
Беру свои слова назад, поудалял кеш, всё почистил, и всё заработало.
Наконец таки
Ruslan
16 декабря 2024, 12:28
0
Я это тоже добавил, но безрезультатно.
'resultShowMethod' => 'append',
Не понимаю что не так сделал
Володя
16 декабря 2024, 11:01
+2
судя по доке у вас не хватает вот этого
docs.modx.pro/components/sendit/snippets#primer-ispolzovaniya-7
resultShowMethod — метод вывода результатов; insert — вставляет контент взамен имеющемуся, append — добавляет контент к существующему.
Артур Шевченко
16 декабря 2024, 10:16
0
Подскажите что я упустил.
Я бы и рад, но не могу. Вывод из консоли браузера корректный, параметры пресета тоже, почему не выводит не знаю, надо искать ошибку.