Konstantin

Konstantin

С нами с 24 декабря 2022; Место в рейтинге пользователей: #6473
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`]]
Есть варианты как заставить его показывать перевод?
Konstantin
25 декабря 2022, 11:04
0
Доработайте пожалуйста перевод значений для списков. Вот ситуация как должно быть по логике:
на основном языке ресурса админ выбирает из списка вид интерьера квартиры, на основании этого поля будет делаться фильтр, поэтому он был задан как (Modern==1||Minimalistic==2) чтобы фильтровало по value, далее админ не должен его видеть в локализациях ресурса, переводы этих значений должны подхватываться из настроек Polylang вкладки TV, где привязаны переводы значений для этого поля в таком же формате ((Модерн==1||Минималистичный==2)). Согласитесь это логично потому что интерьер одной и той же квартиры не меняется в зависимости от языка и тогда зачем его редактировать там?

На данный момент я перепробовал все варианты настроек и не смог добиться такого поведения
Konstantin
24 декабря 2022, 23:03
0
Да, все оказалось немного не так как я себе представлял а намного проще. Спасибо что навели меня на правильную мысль. Со мной сыграло злую шутку кеширование поэтому я никак не мог получить верное value, но после всех чисток все стало на свои места: (Option1==value1||Option2==value2) в этом примере получаем value так [[*myTvName]], а option так [[*myTvName:tvLabel]] и никакого сниппета и кода больше не нужно! Спасибо