Пожалуйста, найдите мой ответ на нашем официальном форуме Kentico:
[ссылка на форум][1]
Наши форумы чаще мониторятся, чем stackoverflow, так что предлагаю продолжить обсуждение там ;)
С уважением, Борис, Кентико
ОБНОВИТЬ:
Если ссылка должна быть признана недействительной, вот полный ответ:
К сожалению, это не может быть достигнуто прямо из коробки. вам придется немного настроить элемент управления, отображающий параметры. Вам необходимо изменить следующий метод:
ЗагрузитьОпцииПродукта()
в файле \CMSModules\Ecommerce\Controls\ProductOptions\ShoppingCartItemSelector.ascx.cs. На живом сайте загружаются и отображаются параметры продукта. вам нужно будет проверить, является ли текущий пользователь глобальным администратором, и пропустить обработку какого-либо поля, если он им не является. Второй подход — изменить метод OptionCategoryInfoProvider.GetSKUOptionCategories, переопределив его настраиваемым обработчиком электронной торговли. Более подробную информацию по этой теме можно найти по ссылкам ниже:
Соответствующие ссылки можно найти в сообщении на форуме, так как я не могу размещать более 2 ссылок в сообщении.
Вот пример переопределения объекта поставщика:
using System;
using System.Collections.Generic;
using System.Web;
using CMS.WorkflowEngine;
using CMS.SettingsProvider;
using CMS.Ecommerce;
using CMS.EcommerceProvider;
/// <summary>
/// Summary description for Class1
/// </summary>
[MyHandlers]
public partial class CMSModuleLoader {
private class MyHandlers: CMSLoaderAttribute {
public override void Init() {
OrderInfoProvider.ProviderObject = new MyEcommerceCustomHandler();
WorkflowEvents.Approve.After += WorkflowEvents_Publish_Handler;
}
private static void WorkflowEvents_Publish_Handler(object sender, EventArgs e) {
//insert custom code here
}
}
public class MyEcommerceCustomHandler: OrderInfoProvider {
protected override string GetInvoiceInternal(int orderId) {
return base.GetInvoiceInternal(orderId);
}
}
}
Вы также можете добавить настраиваемое поле в таблицу параметров продукта, чтобы указать, должно ли это поле отображаться на действующем сайте или нет.
person
Boris Pocatko
schedule
14.09.2012