Skip to content

Commit 7664f82

Browse files
committed
docs(ms3favorites): update documentation for favorites component
- Added new data attributes and their descriptions in frontend.md - Enhanced installation instructions in index.md and quick-start.md - Clarified integration details in integration.md - Updated system settings to include `list_page` in settings.md - Improved snippets documentation with links to list page configuration
1 parent b86a579 commit 7664f82

File tree

7 files changed

+46
-15
lines changed

7 files changed

+46
-15
lines changed

docs/components/ms3favorites/frontend.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ title: Подключение на сайте
4646
| `tplMs3fBtnWishlistBox` | Кнопка под шаблон: `li.wishlist`, `box-icon`, `icon-heart`, `tooltip` |
4747
| `tplMs3fCounter` | Счётчик избранного (сниппет `ms3FavoritesCounter`) |
4848
| `tplMs3fListsRow` | Строка списка избранного (сниппет `ms3FavoritesLists`) |
49-
| `tplMs3fListsWrapper` | Обёртка для списка списков ([[+output]]) |
49+
| `tplMs3fListsWrapper` | Обёртка для списка списков (`[[+output]]`) |
50+
| `tplMs3fLexiconScript` | Fenom-чанк лексикона (используется сниппетом `ms3fLexiconScript`) |
5051

5152
## data-атрибуты (страница /wishlist/)
5253

@@ -59,6 +60,11 @@ title: Подключение на сайте
5960
| `data-favorites-clear` | button | Очистить текущий список |
6061
| `data-favorites-list-selector` | select | Dropdown выбора списка (чанк tplFavoritesListSelector) |
6162
| `data-favorites-comment` | textarea | Заметка к элементу (при comments_enabled) |
63+
| `data-favorites-toggle` | button | Кнопка добавления/удаления (атрибут `data-id`) |
64+
| `data-favorites-count` | span | Счётчик количества элементов |
65+
| `data-favorites-share` | button | Кнопка «Поделиться списком» (атрибут `data-list`) |
66+
| `data-favorites-page-container` | div | Контейнер страницы wishlist |
67+
| `data-favorites-mode="list"` | div | Режим удаления карточки при клике «Удалить» |
6268

6369
Чанки можно переопределять своими (Fenom или MODX); параметры `tpl` и `emptyTpl` задаются в сниппете и при вызове `render()` в JS.
6470

docs/components/ms3favorites/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ ms3Favorites — компонент реализует функционал со
6060

6161
## Установка
6262

63+
Подробная инструкция с требованиями и шагами через ModStore — в [Быстром старте](quick-start).
64+
6365
### Через ModStore
6466

6567
1. [Подключите репозиторий ModStore](https://modstore.pro/info/connection)

docs/components/ms3favorites/integration.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ title: Интеграция и кастомизация
200200
<button data-favorites-toggle data-id="123" data-list="gifts">В подарки</button>
201201
```
202202

203-
**Dropdown выбора списка** — чанк `tplFavoritesListSelector` или сниппет [ms3FavoritesLists](snippets/ms3FavoritesLists):
203+
**Dropdown выбора списка** — чанк `tplFavoritesListSelector` или сниппет [ms3FavoritesLists](snippets/ms3FavoritesLists). Ссылки на страницу списка формируются по настройке **ms3favorites.list_page** (по умолчанию `wishlist/`):
204204

205205
::: code-group
206206
```modx
@@ -315,15 +315,22 @@ window.ms3fConfig.debug = true; // логи в консоль
315315

316316
## PHP helper для получения ID
317317

318-
Для гибкой логики (msProducts, кастомные фильтры) используйте функцию:
318+
Для гибкой логики (msProducts, кастомные фильтры) используйте функции:
319319

320320
```php
321321
require_once $modx->getOption('core_path') . 'components/ms3favorites/include/helpers.php';
322+
323+
// Авторизованные и гости (при guest_db_enabled) — из БД
322324
$ids = ms3f_get_ids_for_current_user($modx, 'default', 'products', 'added_at_desc');
323325
$modx->setPlaceholder('favorites_ids', implode(',', $ids));
326+
327+
// Гости при пустой БД — из cookie (если storage_type=cookie)
328+
$ids = ms3f_get_ids_from_cookie($modx, 'default', 'products');
324329
```
325330

326-
Параметры: `listName`, `resourceType`, `sortBy` (added_at_desc | added_at_asc). Для гостей при пустой БД используйте `ms3f_get_ids_from_cookie($modx, $listName, $resourceType)`.
331+
**ms3f_get_ids_for_current_user** — параметры: `listName`, `resourceType`, `sortBy` (`added_at_desc` | `added_at_asc`).
332+
333+
**ms3f_get_ids_from_cookie** — для гостей, когда БД пуста и хранение в cookie. Параметры: `listName`, `resourceType`.
327334

328335
## Устранение неполадок
329336

docs/components/ms3favorites/quick-start.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ title: Быстрый старт
55

66
Пошаговое подключение списка избранного (Wishlist) к сайту с MiniShop3.
77

8-
## Требования
8+
## Установка
9+
10+
### Требования
911

1012
| Требование | Версия |
1113
|------------|--------|
@@ -14,13 +16,23 @@ title: Быстрый старт
1416
| MiniShop3 | установлен |
1517
| pdoTools | 3.0.0+ |
1618

17-
## Шаг 1: Установка
19+
### Через ModStore
20+
21+
1. [Подключите репозиторий ModStore](https://modstore.pro/info/connection)
22+
2. Перейдите в **Extras → Installer** и нажмите **Download Extras**
23+
3. Убедитесь, что установлены **MiniShop3** и **pdoTools**
24+
4. Найдите **ms3Favorites** в списке и нажмите **Download**, затем **Install**
25+
5. **Настройки → Очистить кэш**
26+
27+
Пакет доступен в каталоге [modstore.pro](https://modstore.pro/).
1828

19-
1. Перейдите в **Extras → Installer**
20-
2. Найдите **ms3Favorites** в списке доступных пакетов
21-
3. Нажмите **Download** и затем **Install**
29+
### После установки
30+
31+
Подключите лексикон, CSS и JS на сайте, разместите кнопку в карточке товара и выведите блок избранного. Подробнее — ниже.
32+
33+
---
2234

23-
## Шаг 2: Подключение лексикона, стилей и скрипта
35+
## Шаг 1: Подключение лексикона, стилей и скрипта
2436

2537
В шаблоне (или в общем head/footer) подключите **сначала** лексикон, затем CSS и JS.
2638

@@ -41,7 +53,7 @@ title: Быстрый старт
4153

4254
Без `ms3fLexiconScript` скрипт использует запасные русские фразы: для мультиязычного сайта подключение лексикона обязательно.
4355

44-
## Шаг 3: Кнопка добавления в Wishlist
56+
## Шаг 2: Кнопка добавления в Wishlist
4557

4658
Разместите кнопку в карточке товара — сниппет [ms3FavoritesBtn](snippets/ms3FavoritesBtn):
4759

@@ -72,7 +84,7 @@ title: Быстрый старт
7284

7385
При клике товар добавляется или удаляется из списка. Toast-уведомление показывается автоматически.
7486

75-
## Шаг 4: Счётчик Wishlist
87+
## Шаг 3: Счётчик Wishlist
7688

7789
Где нужно показывать количество товаров в Wishlist:
7890

@@ -97,7 +109,7 @@ title: Быстрый старт
97109

98110
Значение подставится при загрузке (1–99 или 99+): при нуле элемент скрыт.
99111

100-
## Шаг 5: Блок Wishlist
112+
## Шаг 4: Блок Wishlist
101113

102114
**Клиентский рендер (JS):**
103115

@@ -149,7 +161,7 @@ document.addEventListener('DOMContentLoaded', function() {
149161

150162
:::
151163

152-
## Шаг 6: Страница /wishlist/
164+
## Шаг 5: Страница /wishlist/
153165

154166
Создайте ресурс с alias `wishlist`, шаблоном с подключёнными ms3fLexiconScript, favorites.css и favorites.js. В контенте выведите:
155167

docs/components/ms3favorites/settings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ title: Системные настройки
2626
- **default**`max_items`, `storage_type` (фронт, блок вывода).
2727
- **sync**`guest_db_enabled`, `guest_ttl_days` (хранение в БД, плагины).
2828
- **share**`share_ttl_days` (публичные ссылки).
29-
- **features**`comments_enabled`, `check_resource_availability`, `max_lists`.
29+
- **features**`comments_enabled`, `check_resource_availability`, `max_lists`, `list_page`.
3030

3131
## Рекомендации
3232

docs/components/ms3favorites/snippets/ms3FavoritesLists.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ title: ms3FavoritesLists
1919
| **tpl** | Чанк строки списка | `tplMs3fListsRow` |
2020
| **tplWrapper** | Чанк-обёртка (например `<ul>`); пусто — без обёртки | `` |
2121

22+
Ссылки на страницу списка формируются по настройке **ms3favorites.list_page** (по умолчанию `wishlist/`).
23+
2224
## Плейсхолдеры в чанке строки
2325

2426
| Плейсхолдер | Описание |

docs/components/ms3favorites/snippets/ms3fLexiconScript.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ title: ms3fLexiconScript
77

88
Подключать **до** скрипта `favorites.js`, чтобы JS использовал правильные строки и лимит.
99

10+
Использует Fenom-чанк **tplMs3fLexiconScript**.
11+
1012
## Параметры
1113

1214
| Параметр | Описание | По умолчанию |

0 commit comments

Comments
 (0)