Можно ли изменить расположение по умолчанию модуля Orchard CMS? - PullRequest
2 голосов
/ 13 декабря 2011

Я настраиваю проект Orchard CMS с намерением создать модуль для размещения моего приложения MVC 3.Это приложение уже запущено и уже имеет 5 проектов.Один веб-проект, несколько тестовых проектов и проект рабочего процесса.

Требование, чтобы веб-проект (и, следовательно, остальные 4 проекта для простоты) находился в /Orchard.Web/Modules/, представляет собой незначительное неудобство - возможно ли этоизменить то, куда Орчард смотрит (или добавить новое местоположение) при динамической загрузке модулей?

Это не большое дело, но приятно иметь этот проект.

В идеальном мире ябыло бы в состоянии иметь:

/OrchardStuff/Orchard.Web
/OrchardStuff/etc
/MyStuff/MyProj.Web
/MyStuff/MyProj.Tests

Я знаю, что могу упорядочить мой sln удобным способом, было бы неплохо, если бы я мог воспроизвести это в файловой системе.

Cheers.

Ответы [ 3 ]

2 голосов
/ 13 декабря 2011

Не было бы проще добавить задачу afterBuild в ваш веб-проект, чтобы скопировать приложение в каталог модулей Orchard?

Что-то подобное в файле csproj помогло бы (яне совсем уверен в моем синтаксисе.: '()

<Target Name="AfterBuild">
  <ItemGroup>
  <AppFiles Include="**\*.*"/>
  </ItemGroup>
  <Copy SourceFiles="@(AppFiles)"
        DestinationFiles="@(AppFiles->'..\OrchardStuff\Orchard.Web\Modules\MyModule\%(RecursiveDir)%(Filename)%(Extension)')" />

</Target>

Документация MSDN находится здесь: http://msdn.microsoft.com/en-us/library/3e54c37h.aspx

1 голос
/ 04 сентября 2013

Решением, которое я использовал, является добавление следующей строки к операции после сборки:

if not exist "$(SolutionDir)..\Orchard\src\Orchard.Web\Modules\$(ProjectName)" mklink /D "$(SolutionDir)..\Orchard\src\Orchard.Web\Modules\$(ProjectName)" ""$(ProjectDir)"

Эта команда создает символическую ссылку вашей папки dev внутри папки Orchard's Modules (только если такая символическая ссылка еще не существует).

Имеет следующие преимущества перед ответом @ Eilistraee:

  1. Если вы меняете файл Javascript / CSS на своем компьютере разработчика, вам не нужно собирать проект, чтобы получитьизменения в Orchard.
  2. Вы не получаете дубликаты файлов на своем диске
  3. Посткомпоновка является более явным вариантом, а макропеременные облегчают копирование в любой новый модуль.
0 голосов
/ 14 декабря 2011

Нет, это невозможно без серьезных усилий.Не стоит.

...