Семен
Разобрался, надо было запрос посылать с преобразованными данными в urlencoded формате, именно такие ожидал коннектор, а я ему новомодный fetch пытался впарить с formData
Nikolai
Друзья еще раз привет! А как вот тут последний индекс получить? подскажите пожалуйста
{foreach $sliderMIGX as $s => $value}
Nikolai
мне вот сюда {$sliderMIGX[$s-1]['category'] == '' ? $sliderMIGX[ВОТ_ТУТ_ПОСЛЕДНИЙ ЭЛЕМЕНТ]['category'] : $sliderMIGX[$s-1]['category'] }
Иван
Иван
foreach($array as $key => $element) {
reset($array);
if ($key === key($array))
echo 'FIRST ELEMENT!';
end($array);
if ($key === key($array))
echo 'LAST ELEMENT!';
}
Иван
Под феном доработать
Артур
Nikolai
я вот так сделал
Nikolai
$sliderMIGX[$sliderMIGX|length]['category']
Артур
Nikolai
да)
Nikolai
а не должно?)
Nikolai
ну индекс он подставляет
Nikolai
с логикой где то косяк но я сейчас пойму в чем дело
Артур
Не знаю. Я знаю что count точно возвращает количество элементов в массиве, а вот как работает length не знаю, возможно так же, это же fenom
Nikolai
https://github.com/fenom-template/fenom/blob/master/docs/ru/mods/length.md
Артур
Nikolai
Поделитесь?
Nikolai
Nikolai
ок)
Vladimir
https://github.com/fenom-template/fenom/blob/master/docs/ru/tags/foreach.md
Vladimir
last=$last
Артур
Vladimir
У migx есть _last _first плейсхолдеры
Vladimir
если ты результат migx выводишь в виде json, то вроде есть
Nikolai
Vladimir
php
{var $res = $_modx->resource}
{if !($snippet = $_modx->cacheManager->get('slider'~$res.id))}
{'getImageList' | snippet : [
'docid' => 1
,'tvname' => 'slider'
,'toJsonPlaceholder' => 'slider'
]}
{var $snippet = $_modx->getPlaceholder('slider')}
{set $null = $_modx->cacheManager->set('slider'~$res.id , $snippet, 0)}
{/if}
{foreach json_decode($snippet) as $slide}
{/foreach}
Vladimir
И событие OnBeforeDocFormSave
php
if ($id == 0) {
return;
}
$cache = $modx->cacheManager->getCacheProvider($modx->getOption('cache_resource_key', null, 'default'));
$q = $modx->newQuery('modTemplateVarResource');
$q->leftJoin('modTemplateVar', 'modTemplateVar', [
"modTemplateVar.id = tmplvarid"
]);
$q->where([
'contentid' => $id,
'modTemplateVar.type' => 'migx'
]);
$q->select($modx->getSelectColumns('modTemplateVar', 'modTemplateVar', '', ['name']));
if ($q->prepare() && $q->stmt->execute()) {
$migxTvs = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
foreach($migxTvs as $tv) {
$cache->delete($tv . $id);
}
}
Артур
Alisa
Nikolai
а кто в курсе, {$_modx->config.telefon} это же в системных настройках должно быть? делаю поиск по ключу telefon и не находит что то
Артур
Артур
Смотри в пакетах Конфигурация
Артур
В верхнем меню
Nikolai
Nikolai
все там
Алексей
А теперь вопрос на 100 рублей.
Получаю строку из функции modx:
$asd = $properties['basePath']['value']; // это: "uploads/service/11/"
делаю var_dump($asd), получаю string(78)
реплейсом заменяю, чтобы в переменной осталось вот так $qwe = '11',
делаю var_dump($qwe); получаю string(61)
Если в ручную строку пишу var_dump( "uploads/service/11/"); получаю string(19)
Вопрос. Где я накосячил в жизни?
Алексей
Артур
А про заменяю можно подробнее?
Алексей
это не имеет значение.
Если коротко в чем реальная проблема:
Алексей
1я строка приходит из снипета-переменной,
2я строка написана в ручную.
ПОЧЕМУ ОНИ НЕ РАВНЫ?
Алексей
str_replace может заменить все кроме 11 или 1.
Алексей
кодировка?
ну для цыфр никогда не встречал.
Алексей
х.з че делать. я грустчю.
Артур
Ну я такой себе специалист, но может быть пробелы?
Алексей
не. это проходили... я не 1й год в разработке.
Алексей
если сделать даже так $newvar = (int)$ert, Где $ert = 11 то получаю 0.
Алексей
intval там же.
Артур
Артур
Но стоит посмотреть в сниппете, там откуда приходит строка. Возможно стоит строго тип переменной определить. Но это последние более менее здравые мысли😁
Алексей
тип переменной string :)
Алексей
и ффсе
Артур
Артур
Тогда это точно кара за грехи, завтра иди в церковь😁
Алексей
))) Жаль нет цыфровой церкви...
Артур
Артур
Выдача индульгенций онлайн. Исповедь приватно в голосовом чате. Только для разработчиков😂
Anton
andrey
Алексей
andrey
Миша
Алексей
Кстати, выяснилось что не я а модикс нагрешил...
Иван
Собрали уже больше 1800 евро на баг Хант + отдельно будет Марк платить
Артур
Алексей
И в чём же дело было?
Баг парсера модикс походу. Может, там глубже, но далее не лез.
Смысл такой:
Короче, создал сниппет с возвратом строки:
<php
return "uploads/service/11/";
Запихнел его вместо migxResourceMediaPath в медиаРесурсе.
вызвал [[!sendura]] - var_dump(12)
вызвал [[sendura]] - var_dump(11) // все хорошо.
короче, видимо, это не реально исправить.
Алексей
Механизм кеширования что то делает со строкой...
Alisa
Ну, результат кеширования сохраняется в виде строки, вроде бы.
Anton
Иван
https://github.com/modxcms/revolution/pull/15402
Иван
Многие просили это исправить
Иван
Jako сделал
Vitaliy Mavzoleinyk
Добрый день. На модекс сайта, создал простое дополнительное поле, назначил шаблон где должно поле выводится, перехожу, а дополнительного поля нет. С чем может быть связано?