2016-04-24 10 views
0

Ich werde Kentico verwenden, um mehr als ein Geschäft (Site) zu erstellen und jedem Benutzer seine Produkte hinzuzufügen/ändern/löschen. Ich habe 2 Shops erstellt, den ersten mit Domain localhost: 8080 und den zweiten Storeone .localhost: 8080 als Dokumentation sagte in Kentico Doc URL, ich kann erste Seite ohne Problem öffnen, aber wenn ich versuchte, auf zweite Seite zu wechseln, gibt es mir Bad Request - Ungültige Hostname .. kann mir jemand dabei helfen ?? .. auch ich würde es schätzen, wenn mir jemand helfen würde, Produktdaten zu extrahieren, die Kentico APIs als Dokumentation verwenden, stellen Sie mir nur mit der Aktualisierung/dem Ändern/dem Entfernen von Daten von der Datenbank zur Verfügung und ich möchte wissen, wie man es mit seinen Anhängen wie Bildern pdf anzeigt dass ich es hochgeladen habe.Erstellen Sie mehr als eine Website in Kentico?

Antwort

1

Der beste Ansatz besteht darin, zwei verschiedene Ports zu verwenden. Der Grund dafür ist, dass IIS standardmäßig an Port 80 gebunden ist. Also würde ich eine Site bei 80 belassen und eine andere bei 2 machen. Machen Sie diese Bindungen in IIS, gehen Sie dann zu Kentico und fügen Sie Ihre zweite Site bei localhost hinzu: 2 gegen: 8080. Es gibt einen Konflikt mit den Portnummern. Kentico und IIS sind "verwirrt" und wissen nicht, welchen sie servieren sollen. Die einzige Möglichkeit, mit demselben Port zu arbeiten, ist das Starten und Stoppen von Sites in Kentico.

0

Brenden ist korrekt - es können nicht zwei Sites auf derselben Domain laufen. Was Sie tun müssen, ist IIS bindings konfigurieren. Was ich oft tun, ist, dass ich meine hosts-Datei konfigurieren (C: \ Windows \ System32 \ drivers \ etc) und fügen Sie ein paar weitere Regeln wie:

127.0.0.1 localhost2 
127.0.0.1 localhost3 

Und dann kann ich meine Kentico Websites binden diese Domänen. Vergessen Sie nicht, auch die Domain-Namen in Kentico -> Sites App zu ändern.

Was Ihre zweite Frage:

Es hängt davon ab, ob Sie nur SKUInfo Objekt oder eine Seite Objekt erhalten mögen, wo die benutzerdefinierten Daten (Seitentyp Felder) gespeichert sind. Wenn Sie nur SKUInfo benötigen, können Sie so etwas wie verwenden:

 // 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; 
    } 

Wenn Sie das Produkt mit allen benutzerdefinierten Feldern erhalten müssen müssen Sie die Seiten-API verwenden, wie Sie es mit einer anderen Seite. Ein einfaches Beispiel:

// 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 
    } 

Für die Zwecke Seiten des Abrufens würde ich empfehlen this documentation article zu überprüfen, die eine Menge von Beispielen enthalten.

+0

Ich habe versucht, Host-Datei in genannten Pfad zu bearbeiten, fügte ich eine Zeile, die 127.0.0.1:2 localhost ist .. aber es hat nicht in Kentico funktioniert – Dii

Verwandte Themen