Konstantin

Konstantin

С нами с 24 декабря 2022; Место в рейтинге пользователей: #6488
Konstantin
05 ноября 2024, 17:25
0
Столкнулся с подобным глюком — в tplInner на феном не выводит id. Странно прошло почти 5 лет а вопрос до сих пор не решен. Ссылки от последнего коммента уже битые
Konstantin
30 сентября 2024, 14:48
0
Здравствуйте! Спасибо за пакет, но у меня возникли трудности с его настройкой. Создал сниппет с содержимым $modx->log(1,print_r(«TEST»,1)); просто чтобы протестировать, затем в админ панели в пакете Планировщика создал задание на основе этого сниппета. Затем запланировал его запуск через 5 минут, однако по истечению времени задание висит как просроченное и в логах ничего. Подскажите пожалуйста что я делаю не так? (modx 2.8.7, php8.1)
Konstantin
19 августа 2024, 12:33
0
В общем все сделал как хотел. Очень полезными нашел следующие 4 статьи:
Konstantin
16 августа 2024, 16:30
0
Спасибо что нашли время написать ответ! Буду капать в сторону MIGX db
Konstantin
08 августа 2024, 08:35
0
Профиксите пожалуйста баг — при загрузке файлов валидатор ругается на файлы у которых в названии присутствуют точки считая что после них должно быть сразу расширение, не найдя нужного расширения после них выдает ошибку — что может смутить человека который отправляет файлы с фронта
Konstantin
07 августа 2024, 08:38
0
А вот это уже дело говорите. Добавил в корневой htaccess эти правила и закрыл core с глаз долой:

# Закрыть доступ к core и другим чувствительным файлам/директориям
RewriteCond %{REQUEST_URI} ^/(core|config\.core\.php|_build|_gitify|_backup) [NC]
RewriteRule ^.*$ - [F,L]
# Установить пользовательскую страницу ошибки для 403
ErrorDocument 403 /error401
Konstantin
06 августа 2024, 17:51
0
На свой страх и риск вы можете не выносить core, однако создатели движка настоятельно рекомендуют это сделать и у меня несколько сайтов так работают. Хочется перейти на sendit, но без риска для сайтов. Сайты работают на обычных shared хостингах так что особенно там ничего не «сконфигурируешь».
Konstantin
28 июля 2024, 10:29
0
Подскажите как быть если по соображениям безопастности папка core находится в другом месте и переименована? при установке пакета sendit белый экран. Простой перенос файлов из автосозданной при установке пакета папки core в мою core ничего не изменилось — белый экран, заработало только когда вернул папку core в корень сайта. Но теперь эта папка доступна извне что не безопасно, Подскажите как решаете этот вопрос вы?
Konstantin
25 июня 2024, 18:29
0
Я не использую minishop, фильтр нужен только для статей-ресурсов, фильтрация нужна будет по ТВ полям которые polylang кажется переводит. И да — создаваться ресурсы будут через админку стандартным путем. Спасибо за ответ!
Konstantin
25 июня 2024, 15:39
0
Здравствуйте, звучит заманчиво но перед тем как купить ваш плагин хочу понять 2 вопроса:
  1. Совместим ли он с Polylang?
  2. Нужно ли делать индексацию каждый раз при создании нового ресурса?
Konstantin
10 января 2024, 21:59
0
БОЛЬШОЕ СПАСИБО!
Konstantin
09 января 2024, 14:29
0
Здравствуйте! Подскажите как задать параметр выходного формата изображения? Пытаюсь добавить &f=jpeg но не реагирует
Konstantin
27 ноября 2023, 12:15
0
А есть плагин с похожим функционалом для для версии Modx 3?
Konstantin
03 сентября 2023, 17:34
0
Разобрался сам, увидеть нормальную работу плагина можно только при создании нового ресурса, итак, нужно заполнить все поля ресурса, сохранить, затем во вкладке Локализации появится уже созданный пункт для основного языка, остается лишь перевести остальные. Затем весь контент можно будет выводить с помощью методов автора
Konstantin
10 августа 2023, 09:06
0
Благодарю! Не знал что этот плагин работает и с invisible капчей!
Konstantin
13 января 2023, 11:00
0
Хоть и старая тема, но может кому-то как и мне нужен подобный функционал, поэтому выкладываю простое решение здесь

1) ставим пакет mixedimage который создает поле загрузки файлов с расширенными параметрами
2) создаем поле TV из mixedimage и указываем в настройках путь до файла {id}/ и теперь загружаться фотка будет в отдельную папку с номером ID ресурса
3) создаем новый плагин и выбираем событие OnResourceDelete, и прописываем такой код:

/** recursive remove dir function */
    function rrmdir($dir) {
        if (is_dir($dir)) {
            $objects = scandir($dir);
            foreach ($objects as $object) {
				if ($object != "." && $object != "..") {
					if (filetype($dir . "/" . $object) == "dir") {
						rrmdir($dir . "/" . $object);
					} else {
						@unlink($dir . "/" . $object);
					}
				}
			}
            reset($objects);
            $success = @rmdir($dir);
        }

    }

$path = $modx->getOption('base_path') . 'assets/images/';  // replace with actual path to directory

$path .=  $id;
 
rrmdir($path);
Konstantin
31 декабря 2022, 22:46
0
Пардоньте, так точно, все есть!
Konstantin
31 декабря 2022, 17:20
0
Подскажите как вывести канонические ссылки на страницах?
В документации нет примера использования, я пытался так [[PolylangCanonical]] не получается, сказано что нужно использовать параметр $tpl с чанком, можете написать пример такого чанка?
Konstantin
31 декабря 2022, 11:25
0
Спасибо за ссылку на отличную статью которая расширила мое понимание.
Но добиться нужного результата в запросе так и не смог, пришлось собирать все значения и затем через foreach сравнивать и получать нужные данные…

<?php
  $tag = 1; // 1 аренда или 2 продажа; 


$query = $modx->newQuery('modTemplateVarResource');
$query->select(
  array('tmplvarid','contentid','value')
);
$query->sortby('FIELD(tmplvarid,7,11,13,9,12,14,15)'); // нужный порядок
$query->where(array(
    'tmplvarid:IN'=> array(7,11,13,9,12,14,15) // получим значения всех тв в кучу
));
$resources = $modx->getIterator('modTemplateVarResource',$query);

$AparttagTVs = [];
$TVs = [];
$text = '';

// 7 поле которое отвечает за вывод всех полей
// из результата запроса создаю массив только по этому полю
foreach ($resources as $apt) {
    if ($apt->get('tmplvarid') == 7) {
        $AparttagTVs[$apt->get('contentid')] =  $apt->get('value');
        // $output .= '<p>tmplvarid:'.$apt->get('tmplvarid').' $apt: '.$apt->get('contentid').' = '.$apt->get('value').'</p>';
    }
}

// перебираю весь результат запроса и создаю новый массив только с теми значениями полей у ресурсов которых в поле 7 задано аренда или продажа
foreach ($resources as $resource) {
    if ($AparttagTVs[$resource->get('contentid')] == $tag ) {
        $TVs[$resource->get('tmplvarid')][] =  $resource->get('value');
        // $output .= '<p>tmplvarid:'.$resource->get('tmplvarid').' $resource: '.$resource->get('contentid').' = '.$resource->get('value').'</p>';
    }
}

// вывожу все поля 
foreach ($TVs as $key => $v ) {
    $TVs[$key] = array_unique($TVs[$key]);
    
    if ($key !== 7) {
        
            $text .= '
                    <select name="name'.$key.'">
                        <option value="">Field-'.$key.'</option>';
            
                        foreach ($TVs[$key] as $k => $val) {
                            $text .=  '<option value="'.$val.'">'.$val.'</option>';
                        }
            $text .= '</select>';
        
          
        
    // $output .= '<p>'.$val.'-'.$text.'</p>';
        
    }
}

// echo '<pre>';
// echo print_r($AparttagTVs);
// echo '</pre>';
// echo '<pre>';
// echo print_r($TVs);
// echo '</pre>';
// echo $output;

return $text;
Konstantin
26 декабря 2022, 16:35
0
Здравствуйте, Polylang верно выводит перевод поля MIGX только на ресурсе которому он прикреплен, если же его выводить на других ресурсах то показывает только язык оригинала, делаю так:
[[getImageList? &docid=`2` &tvname=`FactsAboutNalTV` &tpl=`NalFactChunk`]]
Есть варианты как заставить его показывать перевод?