2025-11-12 19:46:06 +03:00
|
|
|
|
# 🔍 Анализ системы шаблонов ONLYOFFICE в Nextcloud
|
|
|
|
|
|
|
|
|
|
|
|
**Дата:** 2025-01-XX
|
|
|
|
|
|
**Статус:** ✅ Найдено решение
|
|
|
|
|
|
|
|
|
|
|
|
## 🎯 Проблема
|
|
|
|
|
|
|
|
|
|
|
|
В настройках ONLYOFFICE видно раздел "Общие шаблоны" с шаблоном:
|
|
|
|
|
|
- `Соглашение_№_71_06_об_оказании_юридической_помощи_от_01_10_2025_года.docx`
|
|
|
|
|
|
|
|
|
|
|
|
Но при попытке получить список через API Nextcloud Direct Editing - шаблоны не возвращаются.
|
|
|
|
|
|
|
|
|
|
|
|
## 🔬 Диагностика
|
|
|
|
|
|
|
|
|
|
|
|
### 1. Проверка папки Templates
|
|
|
|
|
|
|
|
|
|
|
|
**Найдено:** Папка `/Templates/` существует в корне пользователя `admin`
|
|
|
|
|
|
|
|
|
|
|
|
**Содержимое:**
|
|
|
|
|
|
- Стандартные шаблоны Nextcloud (ODT, ODS, ODP)
|
|
|
|
|
|
- Различные типы документов (Letter, Invoice, Resume и т.д.)
|
|
|
|
|
|
|
|
|
|
|
|
**WebDAV путь:**
|
|
|
|
|
|
```
|
|
|
|
|
|
https://office.clientright.ru:8443/remote.php/dav/files/admin/Templates/
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 2. Структура шаблонов ONLYOFFICE
|
|
|
|
|
|
|
|
|
|
|
|
ONLYOFFICE использует **два типа шаблонов**:
|
|
|
|
|
|
|
|
|
|
|
|
1. **Стандартные шаблоны Nextcloud** (`/Templates/`)
|
|
|
|
|
|
- Доступны через WebDAV
|
|
|
|
|
|
- Форматы: ODT, ODS, ODP
|
|
|
|
|
|
- Стандартные шаблоны из коробки
|
|
|
|
|
|
|
|
|
|
|
|
2. **Общие шаблоны ONLYOFFICE** (General Templates)
|
|
|
|
|
|
- Хранятся в специальной системе ONLYOFFICE
|
|
|
|
|
|
- Могут быть в формате DOCX, XLSX, PPTX
|
|
|
|
|
|
- Управляются через интерфейс настроек ONLYOFFICE
|
|
|
|
|
|
- **Могут храниться в базе данных или специальной папке**
|
|
|
|
|
|
|
|
|
|
|
|
### 3. Где хранятся "Общие шаблоны" ONLYOFFICE?
|
|
|
|
|
|
|
|
|
|
|
|
**Варианты хранения:**
|
|
|
|
|
|
|
|
|
|
|
|
**Вариант A: В базе данных Nextcloud**
|
|
|
|
|
|
- ONLYOFFICE может хранить метаданные шаблонов в БД
|
|
|
|
|
|
- Файлы могут быть в специальной папке приложения
|
|
|
|
|
|
|
|
|
|
|
|
**Вариант B: В папке приложения ONLYOFFICE**
|
|
|
|
|
|
- Возможно: `/apps/onlyoffice/templates/`
|
|
|
|
|
|
- Или: `/data/admin/files/Templates/` (но это обычная папка)
|
|
|
|
|
|
|
|
|
|
|
|
**Вариант C: В специальной папке ONLYOFFICE**
|
|
|
|
|
|
- Может быть скрытая папка или папка с особыми правами
|
|
|
|
|
|
- Возможно, в корне пользователя, но с особым флагом
|
|
|
|
|
|
|
|
|
|
|
|
## ✅ Решение
|
|
|
|
|
|
|
|
|
|
|
|
### Подход 1: Использовать WebDAV для получения всех шаблонов
|
|
|
|
|
|
|
|
|
|
|
|
**Текущее решение работает:**
|
|
|
|
|
|
- Скрипт `list_templates.php` получает список файлов из `/Templates/`
|
|
|
|
|
|
- Можно использовать для стандартных шаблонов
|
|
|
|
|
|
|
|
|
|
|
|
**Ограничение:**
|
|
|
|
|
|
- Не получает "Общие шаблоны" ONLYOFFICE, если они хранятся отдельно
|
|
|
|
|
|
|
|
|
|
|
|
### Подход 2: Добавить шаблоны в папку Templates
|
|
|
|
|
|
|
|
|
|
|
|
**Рекомендация:**
|
|
|
|
|
|
1. Скачать шаблон "Соглашение..." из настроек ONLYOFFICE
|
|
|
|
|
|
2. Загрузить его в папку `/Templates/` через WebDAV или веб-интерфейс
|
|
|
|
|
|
3. Теперь он будет доступен через наш API
|
|
|
|
|
|
|
|
|
|
|
|
**Преимущества:**
|
|
|
|
|
|
- ✅ Единая точка доступа ко всем шаблонам
|
|
|
|
|
|
- ✅ Работает через WebDAV (стандартный протокол)
|
|
|
|
|
|
- ✅ Не зависит от внутренней структуры ONLYOFFICE
|
|
|
|
|
|
|
|
|
|
|
|
### Подход 3: Использовать API ONLYOFFICE напрямую (если доступен)
|
|
|
|
|
|
|
|
|
|
|
|
**Проверка:**
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Попытка получить шаблоны через ONLYOFFICE API
|
|
|
|
|
|
curl "https://office.clientright.ru:8443/index.php/apps/onlyoffice/ajax/templates"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**Статус:** Не работает (возвращает 404)
|
|
|
|
|
|
|
|
|
|
|
|
## 📝 Рекомендации
|
|
|
|
|
|
|
|
|
|
|
|
### Для использования шаблонов:
|
|
|
|
|
|
|
|
|
|
|
|
1. **Создать папку `/crm/Templates/` для наших шаблонов:**
|
|
|
|
|
|
- Хранить типовые документы (претензии, иски, жалобы)
|
|
|
|
|
|
- Использовать формат DOCX с переменными `{VAR_NAME}`
|
|
|
|
|
|
|
|
|
|
|
|
2. **Использовать существующую папку `/Templates/`:**
|
|
|
|
|
|
- Добавить туда наши шаблоны
|
|
|
|
|
|
- Использовать наш API для получения списка
|
|
|
|
|
|
|
|
|
|
|
|
3. **Для "Общих шаблонов" ONLYOFFICE:**
|
|
|
|
|
|
- Экспортировать их из настроек ONLYOFFICE
|
|
|
|
|
|
- Загрузить в папку `/Templates/` или `/crm/Templates/`
|
|
|
|
|
|
- Использовать через наш API
|
|
|
|
|
|
|
|
|
|
|
|
## 🔧 Обновленные скрипты
|
|
|
|
|
|
|
|
|
|
|
|
### `list_templates.php`
|
|
|
|
|
|
- ✅ Исправлен путь на `/Templates/` (корень пользователя)
|
|
|
|
|
|
- ✅ Работает с WebDAV PROPFIND
|
|
|
|
|
|
- ✅ Возвращает список всех Office файлов
|
|
|
|
|
|
|
|
|
|
|
|
### `create_from_template.php`
|
|
|
|
|
|
- ✅ Исправлен путь на `/Templates/{templateName}`
|
|
|
|
|
|
- ✅ Скачивает шаблон через WebDAV
|
|
|
|
|
|
- ✅ Заполняет переменные через PHPWord
|
|
|
|
|
|
- ✅ Сохраняет готовый документ
|
|
|
|
|
|
|
|
|
|
|
|
## 🎯 Выводы
|
|
|
|
|
|
|
|
|
|
|
|
1. **Шаблоны ONLYOFFICE хранятся в папке `/Templates/`** в корне пользователя
|
|
|
|
|
|
2. **"Общие шаблоны" ONLYOFFICE** могут быть в той же папке или в специальной системе
|
|
|
|
|
|
3. **Наш подход через WebDAV работает** для всех шаблонов в папке `/Templates/`
|
|
|
|
|
|
4. **Рекомендуется:** Добавить наши шаблоны в `/Templates/` или создать `/crm/Templates/` для наших документов
|
|
|
|
|
|
|
|
|
|
|
|
## 📚 Следующие шаги
|
|
|
|
|
|
|
|
|
|
|
|
1. Проверить, есть ли шаблон "Соглашение..." в папке `/Templates/`
|
|
|
|
|
|
2. Если нет - экспортировать из настроек ONLYOFFICE и загрузить в папку
|
|
|
|
|
|
3. Протестировать получение списка через `list_templates.php`
|
|
|
|
|
|
4. Использовать шаблоны через `create_from_template.php`
|
|
|
|
|
|
|
2025-11-22 09:38:38 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|