Сергей С

Сергей С

С нами с 03 декабря 2021; Место в рейтинге пользователей: #1125
Сергей С
17 октября 2023, 10:38
+1
Решено.
Проблема оказалось в следующем. Шаблоны были объединены в категорию которая скрыта от менеджеров. При этом ресурсы с данными шаблонами редактировались, а TV нет
Сергей С
17 октября 2023, 10:09
0
Смотрел. Все на своих местах. И если бы было убрано, то и при полном доступе не показывалось бы. Или я ошибаюсь?
Сергей С
08 сентября 2023, 21:46
0
Очень полезно. Сейчас редактировать файлы нельзя только весь отзыв перезаливать
Сергей С
29 августа 2023, 11:35
0
Походу я понял в чем проблема.Но не понимаю откуда она берется. К примеру загружаем фото путь к которому /assets/images/resources/91084/.jpg соответственно генерируются миниатюры в thumb, small. Запускается плагин:
$q = $modx->newQuery('msResourceFile', array('url' => '/assets/images/resources/91084/.jpg'));
$total = $modx->getCount('msResourceFile', $q);
$modx->log(1, print_r($total, 1));
Когда получаю результаты $total начинает считаться только с генерации thumb. У базового файла так и стоит $tota 0. Довольно странно.Как и В результатах по ним ниже
Полностью код так выглядит
q = $modx->newQuery('msResourceFile', array('url' => '/assets/images/resources/91084/.jpg'));
			$this_path = $path_parts['dirname'].''.$path_parts['basename'];
			$modx->log(1, print_r($this_path, 1));//В логи пишет как и должен /assets/images/resources/91084/.jpg'
			$total = $modx->getCount('msResourceFile', $q);
			$modx->log(1, print_r($total, 1));
			$q->sortby('resource_id', 'ASC');
			$q->sortby('rank', 'DESC');
			$q->limit(99);
			$resources = $modx->getIterator('msResourceFile',$q);
			foreach ($resources as $resource) {
				$modx->log(1, print_r('обход',1));
				$modx->log(1, print_r('____________________________________________', 1));
				$modx->log(1, print_r('$resource->url'.$resource->url, 1));
				$modx->log(1, print_r('$resource->file'.$resource->file, 1));
				$modx->log(1, print_r('____________________________________________', 1));
			}
Результат:
/assets/images/resources/91084.jpg
0

/assets/images/resources/91084/thumb.jpg
1
обход
____________________________________________
$resource->url/assets/images/resources/91084/.jpg
$resource->file.jpg
____________________________________________

/assets/images/resources/91084/small.jpg
1
обход
____________________________________________
$resource->url/assets/images/resources/91084/.jpg
$resource->file.jpg
____________________________________________
Думаю что когда передаю в переменной «url» по каждому файлу, он его так же пропускает просто т.к. этот файл только что создан. и сможет его найти в таблице только при запуске плагина на другом файле. Странно…
Сергей С
29 августа 2023, 10:34
0
1. Да, это сразу исправил выырезал из path все до assets и оставил '/assets/images/resources/91084/.jpg'. Проверял в логи выводит все верно
2.Этой строки нет больше, ошибку сразу исправил с => не работает это выдает ошибку
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND `msResourceFile`.`url` = '/assets/images/resources/91084/thumb/.jpg' ) ORDE' at line 1
3Хорошо. ТОлько пока не работает в любом случае.
$q = $modx->newQuery('msResourceFile', array("url" => $this_path));
вот в этой строке не берет из переменной данные никак
Сергей С
29 августа 2023, 09:42
0
Теперь даже не понимаю или моя проблема слишком глупая, что никто даже комментировать не хочет ))) или слишком сложная, что никто не знает ответа
Сергей С
28 августа 2023, 16:47
0
Переименовать получается не проблема, но нужно еще их в modx_ms2_resource_files и modx_ms2_product_files переписать, иначе они просто отвалятся от ресурса. И тут пока не работает почему-то.
$this_path = str_replace(MODX_ASSETS_PATH, "", $path);
        	$offset = isset($_SESSION['galgenoffset']) && $_SESSION['galgenoffset'] ? $_SESSION['galgenoffset'] : 0;
			$ms2Gallery = $modx->getService('ms2gallery', 'ms2Gallery', MODX_CORE_PATH . 'components/ms2gallery/model/ms2gallery/');

			$q = $modx->newQuery('msResourceFile', array("url" => $this_path));
			$modx->log(1, print_r($this_path, 1));
			$total = $modx->getCount('msResourceFile', $q);
$total получается 0 хотя файл то по этому урл создан.
если $this_path прописать
$this_path = '/assets/images/resources/91084/.jpg';

то файлы считает
ну и собственно тогда файлы получаю
$q->sortby('resource_id', 'ASC');
			$q->sortby('rank', 'DESC');
			$q->limit(99);
			$q->where(array("url" == $this_path));
			$resources = $modx->getCollection('msResourceFile',$q);
Почему из переменной не хочет получать?
Сергей С
28 августа 2023, 14:49
0
да. И правда бесполезно. Выцеплять оттуда что-либо очень громоздко будет
Сергей С
28 августа 2023, 13:03
0
Возможно я что-то не так делаю, но $source выводит огромный массив данных.Всю информацию о загрузке и созании файлов. Как оттуда выцепить информацию о файле для его переименовании. Или никак?
Сергей С
28 августа 2023, 11:38
0
С этим событием работает отлично! Цель-переименование файлов на этапе загрузки. И вот теперь тут возникает вопрос:OnFileManagerFileCreate что еще можно получить кроме $path?
_________________
source Нашел уже. Спасибо
Сергей С
28 августа 2023, 11:18
0
Да тут просто кода нет Плагин сейчас так выглядит <?php
switch ($modx->event->name) {
case 'OnFileManagerUpload':
$modx->log(1, 'запущен плагин перемименование');
}
Сергей С
28 августа 2023, 10:58
0
С питоном если честно не работал еще.В планах на будущее)))
Сергей С
28 августа 2023, 10:55
0
Спасибо. Теперь и правда заработало. И почему я сам вчера не проверил это. Весь вчерашний код уложился бы в 4 строки. Может по другому моему вопросу тоже есть какие мысли Не срабатывает OnFileManagerUpload при загрузке файлов в галерею ресурсов. Когда загружаю просто в файловый менеджер работает. При загрузке в галерею нет
Сергей С
28 августа 2023, 10:22
0
путь от корня прописывал. Фал размещал и в корне и assets не работало. Уже решил просто копированием файлов с нормальным именем. Проверял так-же на file_exists() он тоже ошибку давал для .jpg при этом для 1.jpg нормально. Но почему rename() не работал не знаю. Код там элементарный был rename('/assets/images/resources/91080/.jpeg', '/assets/images/resources/91080/no-name.jpeg'). А при том, тестил на определенном файле, то даже в переменные не записывал и не получал resource->url, все просто текстом прописывал в rename().Подозреваю что каких-то парв не хватает консоли
Сергей С
28 августа 2023, 08:32
0
Проблема изначально в том что перестал работать translite совместно с ms2gallery. просто .jpg фзаписывает файл если он с кириллицей. А теперь еще и события не срабатывают. При этом сама загрузка проходит штатно
Сергей С
28 августа 2023, 08:27
0
Встроеные события по какой то причине не реагируют на загрузку ms2gallery. Плагин повесил с логом на OnFileManagerUpload. На стандартный загрузчик реагирует на ms2gallery нет. В чем может быть причина?
Сергей С
27 августа 2023, 23:50
0
В документации нету. Группы у ms2gallery тоже нет. По файлам поискать хорошая мысль. Спасибо! Подожду ещё может кто подскажет само событие
Сергей С
27 августа 2023, 21:47
0
Да бог его знает не хочет и все. Вообще как я понял rename не хочет работать в консоли.
Сергей С
27 августа 2023, 12:28
0
тогда вот вопрос. Почему /connectors/system/phpthumb.php?src=/assets/images/resources/91084/.jpg может получить файл?
Сергей С
27 августа 2023, 10:57
0
Беда. Проблема в том что таких файлов много и они у разных ресурсов штучно. Руками их выцеплять практически нереально.