Разделы

  
 

[Evo] Поддержка плагинов

Хочу поделиться полезной информацией о том, как можно сделать поддержку плагинов в MODX Evo для своих модулей и сниппетов. Я как раз недавно занимался поддержкой плагинов в SBShop и решил заодно восполнить пробел в документации на эту тему.

Речь пойдет о стандартной функциональности и различных практических нюансах использования. Мы будем расширять стандартный список событий в MODX своими.

Для примера:



( Читать дальше )
  • +15
  • 24 марта 2012, 21:38
  • Carw
  • 15

События для плагинов

Полным ходом идет добавление поддержки плагинов. Так как процесс получается довольно рваным (по некоторым обстоятельствам), то лучшим решением мне показалось сразу создать топик и отражать текущий процесс. Возможно у кого-то из вас появятся идеи по необходимым событиям и я с удовольствием их учту.

( Читать дальше )
  • +2
  • 17 марта 2012, 22:29
  • Carw
  • 1

[EVO] Событие при перемещении документа

По логике процесса понадобилось отслеживать перемещение документов. Проверил код модуля и оказалось, что при этом не генерируется никакого события. Нашел быстро Bug #2094 и еще пост на форуме. Может кому понадобится.

Добавляем события в таблицу:
INSERT INTO `modx_system_eventnames` (`id`, `name`, `service`, `groupname`)
VALUES
(1052, 'OnBeforeDocMove', 5, ''),
(1053, 'OnDocMove', 5, '')


( Читать дальше )

плагин и работа c tv

Вытаскиваю информацию из Картинки:

<?php
if ($img != ""){

$exif = exif_read_data($img, 0, true);
$size = ($exif['FILE']['FileSize'])/1024/1024;
$size = round($size,2);

print "<br /><b>MimeType:</b> ".$exif['FILE']['MimeType'];
print "<br /><b>FileSize:</b> ".$size." mb";
print "<br /><b>Width:</b> ".$exif['COMPUTED']['Width'];
print "<br /><b>Height: </b>".$exif['COMPUTED']['Height'];
print "<br /><b>DateTimeOriginal: </b>".$exif['EXIF']['DateTimeOriginal'];
print "<br /><b>Make:</b> ".$exif['IFD0']['Make'];
print "<br /><b>Model:</b> ".$exif['IFD0']['Model'];
print "<br /><b>Flash:</b> ".$exif['EXIF']['Flash'];
print "<br /><b>ImageDescription:</b> ".$exif['IFD0']['ImageDescription'];
print "<br /><b>Copyright:</b> ".$exif['IFD0']['Copyright'];
}
?>


Но так как фотки большие(5-10mb) в php это занимает секунд 10-15
что очень критично при формировании странички.
потому хотелось бы сделать все красиво и это время тратил менеджер при заливке:)

но пока не работал с плагинами и не совсем понимаю логику как там с даннными работать.

Логики которая мне нужна:
в момент сохранения документа проверяем если tv1 не пустой то запускаем скрипт и результат сохраняем в tv2
  • 0
  • 15 января 2011, 19:11
  • Dmi3y
  • 4

snipet -> plugin

Подскажите в какую сторону копать:
написал простой снипет выводит инфу по картинке из exif

<?php
if ($img != ""){

$exif = exif_read_data($img, 0, true);
$size = ($exif['FILE']['FileSize'])/1024/1024;
$size = round($size,2);

print "<br /><b>MimeType:</b> ".$exif['FILE']['MimeType'];
print "<br /><b>FileSize:</b> ".$size." mb";
print "<br /><b>Width:</b> ".$exif['COMPUTED']['Width'];
print "<br /><b>Height: </b>".$exif['COMPUTED']['Height'];
print "<br /><b>DateTimeOriginal: </b>".$exif['EXIF']['DateTimeOriginal'];
print "<br /><b>Make:</b> ".$exif['IFD0']['Make'];
print "<br /><b>Model:</b> ".$exif['IFD0']['Model'];
print "<br /><b>Flash:</b> ".$exif['EXIF']['Flash'];
print "<br /><b>ImageDescription:</b> ".$exif['IFD0']['ImageDescription'];
print "<br /><b>Copyright:</b> ".$exif['IFD0']['Copyright'];
}
?>


но в связи с тем что фотки большие то среднее время скрипта 10 сек
что как то не приятно даже при кешировании страницы:)

вот и думаю как бы это переделать в плагин и при сохранении странички брать из тв картинку и сохранять в другой тв результаты снипета:)