Проект в проекте (Вложенные проекты)
Пожалуйста, ознакомьтесь с Правилами использования материалов на данном ресурсе.
🔗 Оригинальная страница — Источник данного материала
Проект в проекте (Вложенные проекты)
Описание
*Проект в проекте позволяет подключить уже готовый, записанный проект к текущему проекту. Этот экшен похож на ❗→ *Плагины.
Как добавить действие в проект?
Через контекстное меню Добавить действие → Проект → Проект в проекте

Либо воспользуйтесь ❗→ умным поиском.
Применение
- Чаще всего *Проект в проекте используется для повторяющихся частей:
- Пример: Вы работаете с сайтом. Для работы с данным сайтом у Вас несколько отдельных шаблонов: парсер товаров, парсер пользователей, рассыльщик сообщений. Для работы на сайте необходимо быть авторизованым. В каждом из этих шаблонов есть один и тот же участок логики - проверка авторизован ли пользователь и, если не авторизован, то авторизация на портале. Хорошим решением будет вынести участок проверки и авторизации в отдельный, небольшой подшаблон и подключать его в нужных местах. И в будущем, если Вы захотите внести правки в логику проверки авторизации, Вам придётся внести правки только в одно месте - в подшаблоне (а не в нескольких шаблонах), что серьёзно сокращает вероятность допустить ошибку.
- Так же в подпроекты можно вынести универсальные функции, которые могут использоваться в разных шаблонах:
- генерация текста
- проверка текста на уникальность
- загрузка изображений на хостинги картинок и многое другое
- Еще одним возможным применением может быть разбивка одного большого шаблона на подшаблоны
- иногда шаблоны разрастаются до очень больших размеров, особенно когда это “комбайн” по работе с каким-либо ресурсом: регистратор, парсер, чекер, рассыльщик. Неплохой идеей будет разбить один большой шаблон на более мелкие части и подключать эти части как *Проект в проекте, а из основного шаблона задавать только настройки.
- любой шаблон можно использовать как вложенный и, как и в случае с *Плагинами, здесь Вас ограничивает только Ваша фантазия
Как работать с экшеном?
Базовые настройки

Путь к вложенному проекту
Здесь указывается абсолютный путь к подшаблону (можно использовать макросы ❗→ переменных. На скриншоте можно увидеть переменную { -Project.Directory- } - путь к текущей папке проекта. Чтоб данная переменная автоматически ставилась при написании проекта необходимо включить ❗→ соответствующую настройку)
Передавать контекст проекта (project.Context)
❗→ project.Context позволяет сохранять С# объекты и переносить их между разными частями шаблона. Данная опция используется при работе с ❗→ C# кодом.