Плагин автоматически перемещает документы внутри определенной категории в папку по дате публикации.
В заданном месте дерева создается структуру папок вида:
[tt]
!---[2010]
! !---[Январь]
! ! !----[1]
! ! !----...
! !---[Февраль]
! ! !----...
! !---...
!---[2009]
! !---...
...
[/tt]
(Либо аналогичная, но без дней месяца - от значения параметра в конфигурации)
При редактировании любого документа внутри категории или ее вложенных подкатегорий, документ, если меняется дата публикации, перемещается в новое место.
Установка
0. Разархивируйте repo-883.zip (DocumentManager) в папку с MODx
1. Скопируйте папку
doc_mover в директорию
assets/plugins
2. Создайте новый плагин, назовите
doc_mover и вставьте код плагина:
/*####
#
# Name: DocMover (Automatic move documents by months or days)
# Version: 0.0.2
# Author: Cept ([email protected])
# Date: May 30, 2010
#
####*/
include_once $modx->config['rb_base_dir'] . "plugins/doc_mover/doc_mover.parser.class.inc.php";
$e = &$modx->Event;
switch($e->name) {
case 'OnDocFormSave':
$DocMover = new DocMover();
// Из конфигурации
$DocMover->base_doc = $base_doc;
$DocMover->tree_start_index = $tree_start_index;
$DocMover->tree_mode = ($tree_mode == 'по дням') ? 'days' : 'months';
$DocMover->tree_tpl = $tree_tpl;
$DocMover->check_tree_created = ($check_tree_created == 'да');
$DocMover->create_base_name = ($create_base_doc == 'да') ? $create_base_name : '';
$DocMover->OnParseDocument();
break;
}
3. На закладке Конфигурация -> Конфигурация плагина введите:
&create_base_doc=<nobr><b>Создать базовую папку</b> (внутри нее будут располагаться<br/> элементы дерева, создаваемые модулем, при добавлении<br /> документа в папку, он будет автоматически перемещатся.<br /> Если папка уже создана выберите <i>нет</i>)</nobr>;list;да,нет;нет &create_base_name=<ul>если <i>да</i>:<br /><b>Имя для создаваемой базовой папки</b> ;string;Архив &base_doc=</ul><b>Код документа базовой папки</b>;int;2 &tree_start_index=При создании элементов дерева <b>использовать номера начиная с</b> этого;int;1001 &tree_mode=<b>Режим списка дат в дереве</b>;list;по дням,по месяцам;по дням &check_tree_created=<b>Проверять создано ли дерево</b> (проверяет наличие хотя бы первой папки каждый раз при редактировании)
<br /><br /><p><b>Примечание:</b> Для первоначальной инициализации нужно зайти в редакцию любого документа и сохранить его. После этого данный параметр можно отключить.;list;да,нет;да
4. Поменяйте настройки на свой выбор. "Проверять создано ли дерево" должно быть "да"
5, На закладке "Системные события" поставьте галку около
OnDocFormSave
6. Откройте любой документ и просто сохраните его - после этого в заданном месте должно появится дерево
7. Снова войдите в плагины, на закладку Конфигурация и в поле "Проверять создано ли дерево" поставьте "нет"