Skip to content

Commit

Permalink
Merge pull request #754 from createit-ru/master
Browse files Browse the repository at this point in the history
FileMan обновление документации (добавлены скриншоты)
  • Loading branch information
Ibochkarev authored Jan 8, 2024
2 parents 70fdfe2 + bcb3441 commit 0923807
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 9 deletions.
81 changes: 81 additions & 0 deletions docs/components/easyredirects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
title: easyRedirects
description: Управляйте редиректами (с кодами 301, 302, 307, 308) на вашем сайте на базе MODX Revolution
author: createit-ru
modstore: https://modstore.pro/packages/utilities/easyredirects
repository: https://github.com/createit-ru/easyRedirects
---
# easyRedirects

Дополнение easyRedirects для MODX Revolution (создано для MODX 2, но работает и в MODX 3) дает возможность управлять редиректами со старых URL страниц на новые через административную панель.

Весь функционал доступен в единственном разделе, перейти в который можно через основное меню панели управления сайтом "Пакеты" / "easyRedirects". В этом разделе вы сможете создавать и просматривать правила редиректов для различных url адресов.

## Возможности компонента

Итак, компонент позволяет:

* создавать произвольное количество правил редиректа в админке;
* выбрать код статуса ответа сервера (301, 302, 307, 308);
* указывать для редиректа просто url адрес, например, catalog/telefony => catalog/phones;
* использовать регулярные выражения с подстановками, например: ^catalog\/category-(.*)$ => catalog/$1;
* видеть статистику редиректов (количество срабатываний каждого редиректа, дата и время первого и последнего срабатывания);
* задать метку для правил редиректа, чтобы в дальнейшем проще их находить (например, пометить «старые редиректы», «редиректы_2023» и т.п.);
* отследить кто и когда создал или изменил редирект (см. поля createdon, createdby, updatedon, updatedby в таблице modx_easy_redirects);
* автоматически отслеживать смену url страниц сайта (без учета вложенности дочерних страниц) и создавать правила редиректа, см. системную настройку easyredirects_track, работает также, как в компоненте Redirector;
* проводить пакетный импорт правил из текста в формате csv.

Само собой вы не сможете управлять редиректами, если запрос "не дойдет" до MODX, например, будет обработан на уровне веб-сервера Nginx или Apache (такое бывает, если запрашивается файл).

## Принцип работы

Общий принцип работы компонента:

* плагин на событии OnPageNotFound сравнивает запрашиваемый url (без учета query, т.е. без get параметров) с существующими правилами;
* сначала проверяются правила, в которых url совпадает точно, затем проверяются правила с регулярными выражениями;
* если нашлось подходящее правило – осуществляется редирект с нужным кодом.

## Системные настройки

У компонента единственная системная настройка:

* easyredirects_track - если включена, то компонент будет автоматически создавать новый редирект при смене uri страницы при редактировании рресурса. Примечание: этот механизм не учитывает смену адреса для дочерних страниц.

## Примеры правил редиректов

**Сменим url для одной страницы:**

> url: catalog/phones/iphone-13-cherniy \
цель: catalog/phones/iphone-13-black

или

> url: catalog/telephony \
цель: catalog/phones

**Правило с регулярным выражением, переместим все страницы внутри раздела по новому адресу:**

>url: ^catalog\\/telephony\\/(.*)$ \
цель: catalog/phones/$1

Обратите внимание, что регулярное выражение в поле url начинается с символа ^, заканчивается символом $ и все слеши экранированы. При этом целевой адрес уже не является регулярным выражением, но мы можем использовать в нем подстановку $1.

Обратите внимание, что url не должен содержать адрес сайта или слеш / в начале.

## Поддерживаемые коды статуса

**301 Moved Permanently**

Этот код статуса указывает, что запрошенный ресурс был окончательно перемещен на новый постоянный URL, и будущие запросы должны использовать новый адрес.

**302 Found (или Moved Temporarily)**

Этот код статуса указывает, что запрошенный ресурс временно перемещен на другой URL, и клиент должен использовать новый адрес только для текущего запроса. Например, может быть полезно при временных (до нескольких дней) работах со страницей, когда вместо неё лучше показать другую страницу.

**307 Temporary Redirect**

Аналогичен 302 Found, но требует, чтобы клиент сохранял метод HTTP при повторной отправке запроса к новому адресу.

**308 Permanent Redirect**

Этот код статуса аналогичен 301 Moved Permanently, но, как и 307 Temporary Redirect, требует, чтобы клиент сохранял метод HTTP при повторной отправке запроса к новому адресу.
1 change: 1 addition & 0 deletions docs/components/fileman/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ items: [
# FileMan

FileMan – компонент для MODX Revolution 3, дающий возможность прикреплять к ресурсам файлы через административную панель.

30 changes: 21 additions & 9 deletions docs/components/fileman/interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,36 @@

После установки компонента на странице редактирования ресурса появляется новая вкладка Файлы, содержащая таблицу прикрепленных файлов с элементами управления в верхней части.

[![](https://file.modx.pro/files/9/9/8/9981ae049804949173dcf32855e70b4bs.jpg)](https://file.modx.pro/files/9/9/8/9981ae049804949173dcf32855e70b4b.png)

Компонент предоставляет два способа для прикрепления файлов:

- с компьютера пользователя, посредством стандартного окна загрузки файлов в MODX;
- по ссылке, исключая необходимость предварительного сохранения на компьютер.
- с компьютера пользователя, посредством стандартного окна загрузки файлов в MODX;
- по ссылке, исключая необходимость предварительного сохранения на компьютер.

[![](https://file.modx.pro/files/b/d/8/bd82ccc44d5cda78e5e3eae2a42f3ed8s.jpg)](https://file.modx.pro/files/b/d/8/bd82ccc44d5cda78e5e3eae2a42f3ed8.png)

С файлами доступны некоторые групповые действия:

[![](https://file.modx.pro/files/9/c/f/9cfcdc6e12fe0043c2ca22f86f6bad38s.jpg)](https://file.modx.pro/files/9/c/f/9cfcdc6e12fe0043c2ca22f86f6bad38.png)

## Окно редактирования файла

После того, как файл будет загружен, информацию о нем можно будет изменить.

Компонент позволяет для каждой записи указадть следующую информаци (в скобках указано имя поля в БД):
Компонент позволяет для каждой записи указать следующую информацию (в скобках указано имя поля в БД):
- Заголовок (title) – удобно читаемый заголовок для файла;
- Описание (description) – подробное описание файла;
- Группа (group) – группируйте файлы по подразделам при необходимости (например Документация, Сертификаты, Каталоги и т.д.);
- Название файла (name) – имя файла, с которым будет сохранен при скачивании;
- Закрыть доступ (private) – указывает, что файл не доступен по прямой ссылке, а будет скачиваться через коннектор, позволяет организовать учет количества скачиваний.

[![](https://file.modx.pro/files/f/9/6/f9643d1ecbede409ec92783e455e9fa5s.jpg)](https://file.modx.pro/files/f/9/6/f9643d1ecbede409ec92783e455e9fa5.png)

Еще в базе сохраняются некоторые поля, недоступные для изменения: path, size, extension, internal_name, hash, но вы можете использовать их в своих сниппетах.

- Заголовок (title) – удобно читаемый заголовок для файла;
- Описание (description) – подробное описание файла;
- Группа (group) – группируйте файлы по подразделам при необходимости (например Документация, Сертификаты, Каталоги и т.д.);
- Название файла (name) – имя файла, с которым будет сохранен при скачивании;
- Закрыть доступ (private) – указывает, что файл не доступен по прямой ссылке, а будет скачиваться через коннектор, позволяет организовать учет количества скачиваний;
[![](https://file.modx.pro/files/8/2/3/8237cf70f2a6e95774f7114e5725b1d9s.jpg)](https://file.modx.pro/files/8/2/3/8237cf70f2a6e95774f7114e5725b1d9.png)

Еще в базе сохраняются некоторые поля, недоступные для изменения: path, size, extension, internal_name, size, hash, но вы можете использовать их в своих сниппетах.

## Управление всеми прикрепленными файлами

Expand Down
1 change: 1 addition & 0 deletions docs/components/fileman/snippets.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,4 @@
| makeUrl | `1` | Если файлы нужно скачивать, то следует сформировать ссылки на них. |
| privateUrl | `0` | Можно форсировать private mode для всех файлов. |
| includeTimeStamp | `0` | Если нужно получить дату изменения файла на диске (будет доступна как timestamp). |

0 comments on commit 0923807

Please sign in to comment.