Anmelden

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

CodeBezeichnungBeschreibung

0000:

ProductGridTemplate, 0C1BD8FC
Vorschauvorlage

Die Vorschauvorlage wird verwendet in Produktlistenseiten .(ProductExplorer.aspx), bei denen das Produkt-Grid aktiviert ist 

0001:

ProductPageTemplate, C30788B4
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>

   
Top

Wir arbeiten mit Software von http://www.campus21.de.

Verantwortlich für angezeigte Daten ist der Webdomain-Eigentümer laut Impressum.

Suche