Как создать EditorTemplate в плагине для nopCommerce v2.20 - PullRequest
2 голосов
/ 24 октября 2011

Я пытаюсь создать плагин для nopCommerce v2.20, который позволяет пользователю запрашивать расценки на товары и услуги, описывая требования и прикрепляя любые соответствующие документы.

Я начал с использования http://blog.csharpwebdeveloper.com/2011/09/10/writing-a-plugin-for-nopcommerce-2-x/ как руководство, это было очень хорошо до сих пор.Мой проект практически идентичен описанному в посте блога, поэтому я буду добавлять фрагменты кода только по мере необходимости, поэтому, пожалуйста, попросите меня расширить и предоставить подробности, если я пропустил что-то важное.

Теперь я хочу добавить средство для загрузки нескольких файлов с помощью uploadify и решил на основе существующего кода, что мне следует создать шаблон EditorTemplate для вложений.

Моя проблема в том, что я не могу понять, как настроить мой шаблонтаким образом, который может быть найден инфраструктурой MVC, когда я использую следующую строку кода для получения шаблона.

@Html.EditorFor(m => m.Attachment)

В моей модели я использую атрибут UIHintAttribute ("Attachments") для Attachmentсвойство для идентификации шаблона без заметного эффекта.

Я создал папку под папкой «Views» с именем «EditorTemplates» и добавил файл с именем «Attachments.cshtml», в котором для действия сборки установлено «Embedded Resource».", содержание ниже:

@model int
@using Nop.Core;
@{
    var randomNumber = CommonHelper.GenerateRandomInteger();
    var clientId = "download" + randomNumber;
    var downloadService = EngineContext.Current.Resolve();
    var download = downloadService.GetDownloadById(Model);
}
<div>This is a download control @string.Format("randomNumber = {0}, clientId = {1}, download = {2}", randomNumber, clientId, download);</div>

Я собираюсь реализовать шаблон, как только смогу получить кадр MVC.ork для определения своего местоположения.

Так что возможно иметь шаблон редактора в плагине (отдельную библиотеку классов из основного проекта) и, если да, что мне нужно сделать, чтобы разрешить инфраструктуру MVC для разрешениярасположение моего шаблона?

Я также хотел бы добавить, что я новичок в MVC, Razor и nopCommerce, заранее извините, если я пропустил что-то очевидное.

Как сторона, можетВы предлагаете лучшее название для моего вопроса, поскольку stackoverflow говорит мне, что он выглядит субъективно?

спасибо

1 Ответ

2 голосов
/ 03 ноября 2011

Если вы пытаетесь предоставить шаблон редактора без предварительной компиляции (что, вероятно, является лучшим способом, пока вы не попадаете в некоторые более сложные сценарии), вы можете установить BuildAction как «Content», а не «EmbeddedResource».

Также убедитесь, что ваш шаблон редактора находится в одной из следующих структур каталогов (вы упомянули, что это было в разделе «Представления», что неверно):

  • / Views / {} ControllerName /EditorTemplates/Attachments.cshtml
  • / Views / Shared / EditorTemplates / Attachments.cshtml
  • / Области / {AreaName} / Views / {} ControllerName /EditorTemplates/Attachments.cshtml
  • / Районы / {} AreaName /Views/Shared/EditorTemplates/Attachments.cshtml

Если вы хотите встроить шаблоны в отдельную библиотеку, я советую вам посмотреть на эту статью Криса Ван Де Стига .

...