Добавление GTIN в _ProductPrice.cshtml NopCommerce версии 2.5

Я хотел бы добавить Gtin в представление _ProductPrice.cshtml. Я добавил его в ProductPriceModel в ProductModel,

public string Gtin { get; set; }

Но не могу его заполнить. Я могу заполнить Price и OldPrice, поскольку это стандартно для NopCommerce, все они взяты из одной таблицы, но я не знаю, где они заполняются?

Я попытался заполнить Gtin в NonAction в CatalogController.cs:

protected ProductModel.ProductPriceModel PrepareProductPriceModel(Product product)

Но безрезультатно, куда мне дальше смотреть,

Любая помощь будет принята с благодарностью.


person Bojangles    schedule 15.03.2014    source источник


Ответы (2)


Я не рекомендую вам изменять модели представления по умолчанию. Будущие обновления сломают ваши шаблоны. Поверьте, я был на этом пути.

Я думаю, что атрибут Gtin уже доступен в ProductDetailsModel, поэтому, возможно, вы могли бы использовать свойство ViewBag, чтобы сделать его доступным для внутреннего представления ProductPrice.

Что-то вроде этого на внешнем виде:

@{ 
     ViewBag.Gtin = Model.Gtin
 }

А затем во внутреннем (ценовом) представлении:

<span class="gtin">@(ViewBag.Gtin ?? "")</span>

Просто чтобы избежать ошибок, если null.

Надеюсь, поможет!

person CharlieBrown    schedule 17.03.2014
comment
Спасибо, Чарли, но проблема в том, что я не могу заполнить Model.Gtin, я просто получаю null. - person Bojangles; 18.03.2014

Мне удалось получить значение в:

protected ProductModel.ProductPriceModel PrepareProductPriceModel(Product product)

Действие через модель productVariant

model.Gtin = productVariant.Gtin;
person Bojangles    schedule 18.03.2014