在Kentico创建多个站点?

时间:2016-04-24 17:52:42

标签: kentico

我将使用Kentico创建多个商店(站点)并为每个商店分配用户以添加/修改/删除他的产品,我创建了2个商店,第一个存储域localhost:8080,第二个是storeone.localhost:8080作为文档在Kentico Doc URL中说的,我可以打开第一个网站没有问题但是当我试图切换到第二个网站时它给了我错误请求 - 无效主机名 ..可以任何人帮助我吗? ..我也很感激,如果有人帮助我如何使用Kentico API提取产品数据,因为文档只提供我更新/修改/删除数据库中的数据,我想知道如何使用它的附件,如图像pdf显示它我上传了它。

2 个答案:

答案 0 :(得分:1)

最好的方法是使用两个不同的端口。原因是IIS默认绑定到端口80.所以我要做的是将一个站点保留为80,然后再做另一个站点2.在IIS中进行这些绑定然后转到Kentico并添加第二个站点at localhost:2 vs. 8080。与端口号冲突。 Kentico和IIS混淆了#34;并且不知道要提供哪一个。它使用相同端口的唯一方法是在Kentico内启动和停止站点。

答案 1 :(得分:0)

Brenden是正确的 - 在同一个域上不能运行2个站点。您需要做的是配置IIS bindings。我经常做的是配置我的主机文件( C:\ Windows \ System32 \ drivers \ etc )并添加一些规则,如:

127.0.0.1 localhost2
127.0.0.1 localhost3

然后我可以将绑定我的Kentico网站用于这些域。别忘了在 Kentico - >中更改域名。网站 app。

至于你的第二个问题:

这取决于您是否只想获取存储自定义数据(页面类型字段)的 SKUInfo 对象或页面对象。如果你只需要SKUInfo,你可以使用类似的东西:

     // gets only corresponding SKU Info object
     var singleProduct = SKUInfoProvider.GetSKUInfo(1); // SKUID from COM_SKU table
     if (singleProduct != null)
     {
          var name = singleProduct.SKUName;
          var price = singleProduct.SKUPrice;
     }

如果您需要获取包含所有自定义字段的产品,则需要像使用任何其他页面一样使用Pages API。一个简单的例子:

    // gets sku with all custom properties
    var tree = new TreeProvider(MembershipContext.AuthenticatedUser);
    var singleProduct = tree.SelectSingleDocument(2); // DocumentID from CMS_Document table
    if (singleProduct != null)
    {
        // work with product
    }

    // or for multiple products
    var products = tree.SelectNodes("custom.myProductType");
    foreach (var product in products)
    {
        // work with products/pages
    }

为了检索页面,我强烈建议您查看包含大量示例的this documentation article