Die Produktdarstellung betrifft insbesondere die öffentliche Website bei der Auflistung von Produkten und bei der Detailanzeige von Produkten. SMACCware besitzt eine Standarddarstellung von Produkten, welche bereits durch die Anpassung des Themas auf der Basis von CSS reichhaltig beeinflusst werden kann. Darüber hinaus können Sie durch ASP-basierte Vorlagen die Darstellung im HTML-Code beeinflussen.
CSS-Anpassungen
Sie können mit des Themas (CSS-Anpassung) die Anzeige der vorhandenen HTML-Informationen ein- bzw. abschalten, und sie können die Anzeigeform verändern (Schriftarten, Abstände, Farben, Größen, Hintergründe).
Durch eine alleinige Anpassung des Themas kann jedoch niemals HTML-Code verändert werden. Beim Abschalten ist zu beachten, das lediglich die Anzeige im Browserfenster verschwindet. Im Seitenquelltext verbleiben diese Informationen, und sind für erfahrende Nutzer weiterhin einsehbar.
Die ASP-basierte Vorlage
Darüber hinaus können Sie durch ASP-basierte Vorlagen die Darstellung im HTML-Code beeinflussen. Die Erstellung ASP-basierter Vorlagen erfolgt durch *.ascx-Dateien. Durch diese Vorlage kann der HTML-Code des betreffenden Informationselementes vollkommen neu organisiert werden.
- Dadurch können Sie in erster Linie, die Reihenfolge und Position der Elemente neu festlegen.
- Durch die Beeinflussung des HTML-Codes können im System vorhandene Informationen dargestellt werden, die in der Standard-Vorlage im HTML-Code verdeckt sind. Andererseits können Informationen verdeckt werden, die sie im System verwalten wollen, jedoch nicht öffentlich darstellen wollen.
- Im weiteren können Sie in die Vorlage C#-Programmcode einbinden, um Informationen vor der Darstellung zu bearbeiten.
Bei Verwendung von Vorlagen ersetzen sie lediglich die *.ascx-Datei. Diese werden vom System anstelle der Standardvorlage geladen. Die *.ascx-Dateien erben von den Klassen in den jeweiligen *.cs-Dateien. Die *.aspx.cs-Datei und *.aspx.designer.cs kann nicht als Vorlage bereitgestellt werden. Wenn sie diese Dateien ändern wollen. müssen Sie den Quelltext der Webapplikation eingreifen und die Webapplikation neu kompilieren.
Template-Arten
Code | Bezeichnung | Beschreibung |
---|---|---|
0000: | Vorschauvorlage | Die Vorschauvorlage wird verwendet in Produktlistenseiten .(ProductExplorer.aspx), bei denen das Produkt-Grid aktiviert ist |
0001: | Detailvorlage (wird verwendet in Produktansichtsseiten ProductInspector.aspx) | unbekannt |
Vorgehensweise
Die Erstellung von ASP-Vorlagen erfordert Kenntnisse über HTML, CSS und über ASP.NET-Programmierung. Dem Webdesigner oder Programmierer erschließt sich Vorgehensweise bereits aus dem vorhandenem Quellcode.
Es werden zwei Klassen von Produktvorlagen unterschieden:
- ProductGridTemplate: Vorschauvorlage (wird verwendet in Produktlistenseiten ProductExplorer.aspx)
- ProductPageTemplate: Detailvorlage (wird verwendet in Produktansichtsseiten ProductInspector.aspx)
Datenobjekte
Bei der Vorschauvorlage wird ein Objekt der Klasse ProductView gebunden. Dieses Objekt enthält zahlreiche Informationen zu einem Produkt. Die verfügbaren Eigenschaften können Sie der Klassendokumentation entnehmen.
Das ProductTree Objekt dient der Detailanzeige von Produkten. Es hält wesentlich mehr Informationen, inbesondere die strukturellen Bestandteile (Preise, Attribute, Unterprodukte) und schließt auch ein ProductView als Unterobjekt ein.
ASP.NET Controls und HTML-Controls
Eine Vorlage enthält in ihrer Basisklasse vorgegebene Controls. Sie können vorgegebene UI-Controls weglassen, sowie auch eigene hinzufügen. Desweiteren können Sie beliebige HTML-Elemente hinzufügen. Diese besitzen keine TagPrefix (asp:) und keine runat-Eigenschaft.
~/Products/Controles/ProductGridTemplate.ascx.designser.cs
Methoden
Die Methoden können Sie verwenden, um nachbearbeitete Information aus dem Produkt-Objekt zu beziehen:
Methode | Beschreibung |
---|---|
String GetInfo(Int32 cut) | Erzeugt eine längenbegrenzten Text basieren auf ProductDescription |
String GetImage(String format) | Erzrugz einen absoluten Pfad oder URL zu der Bildressource des angegebenen Formats innerhalb des Bildarchives. |
Weitere Informationen und den Quelltext der verfügbare Methoden finden Sie in der Datei:
~/Products/Controles/ProductGridTemplate.ascx.cs
Bereitstellung
Die Bereiststellung erfolgt über den Ordner smacc2010/Files/Templates. Desweiteren müssen sie in den Lieferantendaten den Dateinamen des Templates eintragen.
Bei Verwendung der Upload-Funktion ???
Beispiel ProductGridTemplate.ascx
<%
@ Control Language="C#" AutoEventWireup="true" Inherits="ProductGridTemplate" Codebehind="ProductGridTemplate.ascx.cs" %><%
@ Register Namespace="Nsoft.WebControls" Assembly="Nsoft.WebControls" TagPrefix="nswc" %> <div class="ProductItem"><div class="ProductImage">
<asp:HyperLink ID="ProductImageHyperLink" runat="server" NavigateUrl='<%# Page.ResolveUrl("./") + "ProductInspector.aspx?ProductId=" + Product.ProductId + "&VariantId=" + Product.VariantId %>'> <asp:Image ID="ProductImage" runat="server" CssClass="ProductImage" ImageUrl='<%# GetImage("100") %>' /> </asp:HyperLink> </div> <asp:HyperLink ID="ProductNameHyperLink" runat="server" CssClass="ProductNameHyperLink" NavigateUrl='<%# Page.ResolveUrl("./") + "ProductInspector.aspx?ProductId=" + Product.ProductId + "&VariantId=" + Product.VariantId %>' Text='<%# Product.ProductName %>'/> <span class="PriceInfo"><%# Product.PriceInfo %></span> <asp:Label ID="EnabledLabel" runat="server" class="VariantQuantity" Visible='<%# Product.ContextDisabled == false %>'>buchbar:
# Product.UsedVariantQuantity %>/<%# Product.VariantQuantity %> <img class="Pointer" src="<%# Page.ResolveUrl("~") %>images/general/unlock_16.png" Title="bestellbar" /> </asp:Label> <asp:Label ID="DisabledLabel" runat="server" class="VariantQuantity" Visible='<%# Product.ContextDisabled == true %>'>ausgebucht:<%
# Product.UsedVariantQuantity %>/<%# Product.VariantQuantity %> <img class="Pointer" src="<%# Page.ResolveUrl("~") %>images/general/lock_16_dis.png" Title="<%# Product.ContextInfo %>" /> </asp:Label> <asp:HyperLink ID="ShopOrderHyperLink" runat="server" CssClass="ShopOrderHyperLink" NavigateUrl='#' Text="Bestellen" meta:resourcekey="ML_0015"></asp:HyperLink><%
</
div>Wir arbeiten mit Software von http://www.campus21.de.
Verantwortlich für angezeigte Daten ist der Webdomain-Eigentümer laut Impressum.