ACHTUNG:
========
Neues Onlineshopgesetz seit 01.08.2012!
Wer seinen Shop abmahnsicher haben möchte benötigt folgende Änderungen im ZP-Shop:
1.) Verlinkung des Textes "inkl MwSt zzgl Versandkosten" auf eine extra erstellte Seite "Versandkosten"
2.) Bestellbutton muss eine der folgenden Texte beinhalten "zahlungspflichtig bestellen", "kaufen" oder "zahlungspflichtigen Vertrag schließen"
Beide Punkte sind in folgender Änderung enthalten!
Hinweis:
========
Die einzelnen Sequenzen, Codes usw. sind immer mit "#####" vorangestellt und abgeschlossen!
Das Beispiel ist unter Windows7-Dateisystem gezeigt!
xxxx steht für den eigenen Windowsbenutzernamen.
Zeta-Producer muss beendet sein!
+++++++ ist die Eingrenzung fast ganz unten für das Cars-Layout
Anpassung:
==========
Öffnen Sie die Datei "C:\Users\xxxx\Documents\Zeta Producer 10\Stationary\DEU\ActiveObjects\web.mdb" mit Microsoft Access.
Öffnen Sie die Tabelle "ArticleStyle".
Scrollen Sie herunter bis zum Eintrag "Bestellartikel" in der Spalte "Name".
Markieren Sie in dieser Zeile den kompletten Inhalt von "FieldDefs" und ersetzen Sie diesen mit folgendem Code:
(Hier werden die neuen Optionen im Fenster angepasst)
#####
#####
Markieren Sie nun in der gleichen Zeile den kompletten Inhalt von "DynamicSettings" und ersetzen Sie diesen mit folgendem Code:
(Hier wird die vertikale Scrollleiste aktiviert)
#####
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
gg==0True00150iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlz
AAALDAAACwwBP0AiyAAAAAd0SU1FB9gEDw0qAhbnvCMAAALWSURBVDhPnZPJT1NBHMefMf4THhQj
IAgRNCwxREKigvHCAZfoQbayqqWlQgEBEfq6UhYpLaRIm5KggJUlgESiNw7IUhYRF6pC0CJrW1kK
xX6dVyhgxIuTzLxf3rz55PO+M0PFsZLoAoFkRlSi2KCLK5BTKDXz88XvMvIFXezMvNo7vFxBCi8n
JYnLj2SxeQE3Y1IPU9evHqRcrYgWzmNPs5N6lQxmMkzOLsIw/hkvewbwpK0bIkUNMorkSOBkb16O
umEMDguPpEQS6U8HWRQYGAj141oMjYxBUVmF8U9fMPV9Fqa5Rdg2HbD/ApjvmL6+CRSrtAgICZsg
AJnVBRDQIhhGx5www/Bb5/N5a7uzM/V74yTKK5RYJwsa9a1w8/Beo2ixxPIHgBj8C9BnGHXOrRED
ja4eR9y9rBQtkliYCJgJxmDIZTCybdC2a+AC2BhAXT3c3L2XKSExcAHoPwBbJs37ANZIHlU1Ghw9
7mX+LwCzSyq1hhg4AdKlHQOhCB8+GqFQqmDYzqKFGDAWjE3/drArBPBIpSYGJ5gMxOa9gMTERDQ1
6fF1ahotJP1vPxbQ2zeInPt5GBzeCnF5AyipqMYxTx8LA3BmsEH2+k3/AFgsFjpedIHD4UIskYIc
NEREXEI2AfQO7gLKqzTw9PG3UIUC4SIDcJC9ZA5LR0cn4uLicSs6GibTLGJJPb9kRdSVa+jpG3Ea
WIlBabUWJ88EL1Kc9HsNWl0durpfw2Z3gM/nIzklBew0LtK46WBzeUi+zUZMfMIuwAYoNI3wDQq1
MFfiQGVldZisVFHAzczqFUjkK0q1Dg3N7aBlpRg3TuNieASSUu9i1mqHyWyDZY2EqH2G0yEX5nYu
lavw8zt1SCyWB4nk5enSMoU+v1C8UKZUO3RPm9H5qgcLZPEq+dUyrR5+Iecn/gLs9yKr4IHHQ6Es
llx7DScjdzKvSOzwDQ6d8T8XfvY3wXCEv8JNg/QAAAAASUVORK5CYII=
#####
Scrollen Sie herunter bis zum Eintrag "Warenkorb / Onlineshop-Konfiguration" in der Spalte "Name".
Markieren Sie in dieser Zeile den kompletten Inhalt von "FieldDefs" und ersetzen Sie diesen mit folgendem Code:
(Hier werden die neuen Optionen im Fenster angepasst)
#####
#####
Schließen Sie die Tabelle wieder und danach Microsoft Access. Die Änderungen wurden jetzt in die web.mdb übernommen.
(Ab hier werden die neuen Optionen im Programmcode eingebunden)
Öffnen Sie nun die Datei "C:\Users\xxxx\Documents\Zeta Producer 10\Stationary\DEU\ActiveObjects\template.xml" mit dem Notepad
Suchen nach folgendem Inhalt: articlestyle="Bestellartikel"
markieren des kompletten Items und ersetzen durch folgenden Inhalt:
#####
<$$
public basketWebPageItem
public currentArticlePriceFormatted
public currentArticlePrice
public shopCurrency
public shopQuestion
public shopPorto
public shopIncPath
public language
public currentArticleAttribut
public currentPictureURL
public currentArticleTable
public currentPictureWidth
public currentPictureHight
public currentArticleNo
public currentAllowNews
public currentQuestion
public currentEmailCommendation
sub LoadBasketConfiguration()
' First lets get the current set language
' If nothing set, consider german
language = Context.Scope.CurrentProjectFolder.Language2
language = LCase(language)
if language = "" or (language <> "en" and language <> "de") then
language = "de"
end if
dim foundItems
set foundItems = Context.Scope.CurrentWebProject.GetArticlesByStyleName("Warenkorb / Onlineshop-Konfiguration")
if foundItems.Count <= 0 then
Context.Scope.Library.CheckAsyncStopProcessing
Context.Scope.Library.LogError "Fehler bei Onlineshop-Erstellung. Um einen Onlineshop-Artikel einzubinden, " &_
"müßen Sie zuerst das aktive Objekt ""Warenkorb / Onlineshop-Konfiguration"" auf einer neuen Seite einfügen."
else
set basketWebPageItem = foundItems(0)
shopCurrency = basketWebPageItem.GetValue("Currency")
shopQuestion = basketWebPageItem.GetValue("Question")
shopPorto = basketWebPageItem.GetValue("PortoPage")
' Format the Price as told in the configuration.
' This is a little workaround because there is no method for formatting with given special chars
currentArticleAttribut = "#data(artikelAttBez)"
currentPictureURL = "#data(pictureURL)"
currentArticleTable = "#data(allowArticleTable)"
currentPictureWidth = "#data(pictureWidth)"
currentPictureHight = "#data(pictureHight)"
currentArticleNo = "#data(articleNo)"
currentAllowNews = "#data(allowNews)"
currentQuestion = "#data(EmailQuestion)"
currentEmailCommendation = "#data(EmailCommendation)"
dim price
dim priceDbl
priceDbl = Replace("#data(unitPrice)",",",".")
SetLocale("en-US")
price = FormatNumber(priceDbl,2,-1,0,-1)
currentArticlePrice = FormatNumber(priceDbl,2,-1,0,0)
currentArticlePriceFormatted = Replace(price, ",", "@")
currentArticlePriceFormatted = Replace(currentArticlePriceFormatted, ".", basketWebPageItem.GetValue("currency_comma"))
currentArticlePriceFormatted = Replace(currentArticlePriceFormatted, "@", basketWebPageItem.GetValue("currency_thousands"))
end if
shopIncPath = Context.Scope.CurrentWebProject.GetRelativePathFromTo( _
Context.Scope.CurrentPage.AbsoluteUrlWithoutServer, _
"/media/Scripting/ServerSideScripting/PHP/shop/shop.inc.php")
end sub
$>
<$ LoadBasketConfiguration() $>
<$ if currentAllowNews = "1" then $>
<$else$>
<$ end if $>
<$ if Context.Scope.CurrentArticle.Name <> "" then $>
#data(name)
<$ end if $>
<$ if currentAllowNews = "1" then $>
<$ end if $>
<$ if currentArticleTable = "1" then $>
<$end if$>
<$else$>
<$ if currentPictureWidth <> "" then $>
<$ if Context.Scope.CurrentArticle.Values.GetValue("Bild") <> "" then $>
<$ if currentPictureURL <> "" then $><$end if$>
<$ if currentPictureURL <> "" then $><$end if$>
<$end if$>
<$else$>
<$ if Context.Scope.CurrentArticle.Values.GetValue("Bild") <> "" then $>
<$ if currentPictureURL <> "" then $><$end if$>
<$ if currentPictureURL <> "" then $><$end if$>
<$end if$>
<$end if$>
<$end if$>
<$ if currentArticleTable = "1" then $>
<$end if$>
#data(Beschreibung) <$ if currentArticleTable = "1" then $> <$end if$>
<$ if currentQuestion = "1" then $>
<$ if currentArticleTable = "1" then $>
<$else$>
<$end if$>
<$end if$>
<$ if currentEmailCommendation = "1" then $>
<$ if currentArticleTable = "1" then $>
<$else$>
<$end if$>
<$ end if $>
<$ if currentQuestion <> "" or currentEmailCommendation = "1" then $> <$ end if $>
<$ if currentArticleTable = "1" then $> <$end if$>
<$ if language="de" then Context.Write("Preis:") else if language="en" then Context.Write("Price:") end if$> <$=currentArticlePriceFormatted$> <$=shopCurrency$>
<$ if language="de" then $>inkl. MwSt zzgl. Versandkosten<$ end if$>
<$ if language="en" then $>incl. VAT, excl. Shipping costs<$ end if$>
<$ if currentArticleTable = "1" then $>
<$end if$>
<$ if currentAllowNews = "1" then $>
<$ end if $>
#text(ArticleSeparator)]]>
#####
Suchen nach folgendem Inhalt: articlestyle="Warenkorb / Onlineshop-Konfiguration"
markieren des kompletten Items und ersetzen durch folgenden Inhalt:
#####
<$ if Context.Scope.CurrentArticle.Name <> "" then $>#data(name)<$ end if $>
#text(PHP_ArticleStandardBegin)
<$ if Context.Scope.CurrentPage.FileType = ".php" then $>
<$$
' BEGINN - Make shop configuration
public PhpConfigFilePath
public PhpShopIncFilePath
sub CreateShopConfig()
dim configFileName
configFileName = "config.inc.php"
dim configFilePath
configFilePath = Context.Scope.Library.CombinePath( _
Context.Scope.Library.ExpandDollarMacros("$(WebOutputBaseFolder)"), _
"/media/Scripting/ServerSideScripting/PHP/shop" )
configFilePath = Context.Scope.Library.CombinePath( configFilePath, configFileName )
configFilePath = Replace( configFilePath, "/", "\")
dim configFolderPath
configFolderPath = Context.Scope.CurrentWebProject.GetPathFromFullFilePath( configFilePath )
dim fso
set fso = CreateObject("Scripting.FileSystemObject")
if not fso.FolderExists( configFolderPath ) then
CreateFolder( configFolderPath )
end if
dim configFileRelativePathV
configFileRelativePathV = "/media/Scripting/ServerSideScripting/PHP/shop/" & configFileName
dim configFilePathV
configFilePathV = Context.Scope.CurrentWebProject.GetRelativePathFromTo( _
Context.Scope.CurrentPage.VirtualPath, _
"/media/Scripting/ServerSideScripting/PHP/shop/" & configFileName )
dim configFileRelativePathFtpV
configFileRelativePathFtpV = _
Context.Scope.CurrentWebProject.FtpServerFolderName & _
Context.Scope.Library.LTrimEx(configFileRelativePathV, "/")
dim configFilePathFtpV
configFilePathFtpV = Context.Scope.Library.CombinePathV( _
Context.Scope.CurrentWebProject.FtpServerFolderName, _
configFilePathV )
configFilePathFtpV = Context.Scope.Library.LTrimEx(configFilePathFtpV, "/")
configFilePathV = "/" & Context.Scope.Library.LTrimEx(configFilePathV, "/")
dim file
set file = fso.CreateTextFile(configFilePath, true)
file.WriteLine("")
file.Close
set file = nothing
' Add to publishing chain.
Context.Scope.CurrentWebProject.NotifyFileCreated( configFilePath )
set fso = nothing
' The path for the PHP is somewhat different.
PhpConfigFilePath = Context.Scope.Library.LTrimEx(configFilePathV, "/")
PhpShopIncFilePath = Context.Scope.CurrentWebProject.GetRelativePathFromTo( _
Context.Scope.CurrentPage.AbsoluteUrlWithoutServer, _
"/media/Scripting/ServerSideScripting/PHP/shop/shop.inc.php")
end sub
' END - Make shop configuration
$>
<$ CreateShopConfig() $>
"); ?>
<$
else
Context.Scope.Library.CheckAsyncStopProcessing
Context.Scope.Library.LogError "Falschen Dateityp vergeben. Bitte vergeben Sie in den Seiteneigenschaften dieser Seite den Dateityp "".php"""
end if
$>
#text(PHP_ArticleStandardEnd)
#text(ArticleSeparator)
<$
' Special workaround to get out some http headers before content is sent to the client
dim text
text = """"""
Context.Scope.AddScriptToRunOnFinishedPage( "<" & "$Context.Write(" & text & " & vbCrLf & Context.Scope.RenderedText )$" & ">" )
$>]]>
#####
Speichern und schließen Sie die Datei template.xml!
Öffnen der Datei "C:\Users\xxxx\Documents\Zeta Producer 10\Stationary\DEU\Scripting\ServerSideScripting\PHP\shop\templates\articletable.php" mit dem Notepad:
Suchen nach der Sequenz "
" und Austausch mit folgendem Code:
#####
foreach($articles as $article)
{
?>
_['form_input']['acceptagb']) echo 'checked="checked"'; ?>/>
Ich akzeptiere Ihre AGB, den Hinweis zu meinem Widerrufsrecht habe ich verstanden.
#####
Speichern und schließen Sie die Datei addressform.php!
Kopieren der Datei "C:\Users\xxxx\Documents\Zeta Producer 10\Stationary\DEU\Scripting\ServerSideScripting\PHP\shop\templates\ordersent.php" und umbenennen nach
"C:\Users\xxxx\Documents\Zeta Producer 10\Stationary\DEU\Scripting\ServerSideScripting\PHP\shop\templates\paypalordersent.php", dann mit Notepad öffnen und
mit folgendem Code ersetzen:
#####
Vielen Dank!
Ihre Bestellung wurde abgesendet.
Sie erhalten umgehend eine Bestellbestätigung per E-Mail.
Bitte bezahlen Sie gleich hier direkt über PayPal:
#####
Speichern und schließen Sie die Datei paypalordersent.php!
Wer in seinem Onlineshop-Warenkorb auch noch die Positon und die Artikelnummer anzeigen lassen möchte, muss noch folgendes tun:
Öffnen der Datei "C:\Users\xxxx\Documents\Zeta Producer 10\Stationary\DEU\Scripting\ServerSideScripting\PHP\shop\classes\controller.php" mit dem Notepad:
Suchen nach folgender Sequenz:
#####
public function DisplayBasket(
$request,
$view,
$allowRemove,
$allowEdit,
$nextActionPage)
{
$view->SetTemplate('default');
$articles = Model::GetArticles();
$articleTable = new View();
$articleTable->SetTemplate('articletable');
$articleTable->Assign('articles', $articles);
$articleTable->Assign('allowRemove', $allowRemove);
$articleTable->Assign('allowEdit', $allowEdit);
$articleTable->Assign('showPosNo', false);
$articleTable->Assign('showArticleNo', false);
$this->shopmanager->AssignShopConfiguration($articleTable);
$view->Assign('nextAction', $nextActionPage );
$view->Assign('articletable', $articleTable->LoadTemplate());
$view->Assign('articles', $articles);
}
#####
Um die Position anzuzeigen den Eintrag
$articleTable->Assign('showPosNo', false);
auf
$articleTable->Assign('showPosNo', true);
ändern.
Um die Artikelnummer anzuzeigen den Eintrag
$articleTable->Assign('showArticleNo', false);
auf
$articleTable->Assign('showArticleNo', true);
ändern.
Speichern und schließen Sie die Datei controller.php!
++++++++++++++++++++++++++++++++++++
Anpassung der Warenkorbanzeig in Cars-Layout-Derivaten:
Suchen im Cars-Layout-Derivat nach der Datei /templates/default.html und mit notepad öffnen.
Suchen nach folgendem Inhalt:
#####
path
<$ end if $>
#####
und mit diesem ersetzen:
#####
<$ if LCase(Context.Scope.CurrentPage.GetInheritedAttribute("show_breadcrumb").Value = "true") then $>
path
<$ end if $>
#####
Nun die Datei wieder speichern.
Nun dem Projekt ein anderes Layout zuordnen und nach Komplettberechnung wieder das eigene Layout zuordnen.
Jetzt sieht das in der Vorschau dann ungefähr so aus:
Sie befinden sich hier: Demoseite Display(); ?>
Und in der Veröffentlichung:
Sie befinden sich hier: Demoseite Mein Warenkorb: 0 Artikel (0,00 EUR)
Falls man im News-Bereich einen Bestellartikel als oberste Stelle haben möchte, dann macht man folgendes:
Man muss auf jeden Fall als ersten Artikel einen leeren Newsartikel hinzufügen!
Danach kann man einen Bestellartikel hinzufügen.
Damit dieser nun korrekt angezeigt wird folgende Datei mit notepad öffnen:
/_media/styles.css
Hier sucht man diesen Eintrag:
#####
/***** NEWS *****/
#news {
float: right;
margin: 0;
padding: 0;
width: 180px;
position: relative;
z-index: 1;
}
#news-edge {
margin: 0;
padding: 0;
width: 13px;
height: 13px;
position: absolute;
left: 0;
top: 0;
z-index: 3;
}
#news-bottom-edge{
margin: 0;
padding: 0;
width: 13px;
height: 13px;
position: absolute;
left: 0;
bottom: 0;
z-index: 4;
}
.newsbox {
margin: 0;
padding: 0;
background-color: #text(newsarticle-background-color);
background-image: url(#text(newsarticle-background-image));
background-repeat: repeat-x;
}
.newstext {
margin: 0;
padding: 10px 5px 20px 10px;
font-size: #text(newstext-font-size);
color: #text(newstext-font-color);
}
.newstext p {
margin: 0 0 #text(news-paragraph-spacing) 0;
padding: 0;
}
#####
Und ändert folgendes ab:
#####
.newstext {
margin: 0;
padding: 0px 5px 1px 10px;
font-size: #text(newstext-font-size);
color: #text(newstext-font-color);
}
#####
Also nur die Zeile "padding" innerhalb ".newstext {"
Nun die Datei wieder speichern.
++++++++++++++++++++++++++++++++++++
Starten Sie nun den Zeta-Producer und öffnen Sie ihr Projekt.
Zur korrekten Übernahme wählen Sie bitte erst ein Standardlayout und wechseln dann wieder auf Ihr eigenes Layout.
Wählen Sie anschließend Projekt komplett erstellen.
Dadurch werden alle Änderungen übernommen und das Projekt wirklich komplett neu erstellt!
Bei der ersten Veröffentlichung ebenfalls das Projekt komplett veröffentlichen!
Öffnen Sie nun in Ihrem Projekt den Warenkorb-Artikel.
Hier gibt es nun folgende neue Optionen:
"E-Mail-Adresse für Artikelanfragen" Diese Adresse wird bei einer Email-Artikelanfrage eines Bestellartikels verwendet
"Zahlung per PayPal erlauben" Nach "kaufen" gibt es im Emailbestätigungsfenster einen PayPal-Link-Button
der direkt zur Paypal-Bezahlseite linkt mit dem aktuellen Warenkorbwert.
"Barzahlung erlauben" Auf besonderen Wunsch
"Versandkosten-Seite:" Pflichtfeld. "inkl. MwSt zzgl. Versandkosten" linkt nun auf diese Seite
Öffnen Sie nun in Ihrem Projekt einen Bestellartikel.
Hier gibt es nun folgende weitere Optionen:
"Bildbreite" Geben Sie hier die Anzeigebreite in Pixel ein. Steht nichts drin wird die Bild-Standardbreite verwendet!
"Bildhöhe" Geben Sie hier die Anzeigehöhe in Pixel ein. Ist "Bildbreite" leer wird die Bild-Standardhöhe verwendet!
"Bild-URL" Geben Sie hier ihre gewünschte URL ein. Bei URL-Inhalt wird das Bild mit der URL verknüpft.
"Bild und Beschreibung zweispaltig" Standard = aktiviert => Bild links, Beschreibung rechts
deaktiviert => Bild oben, Beschreibung drunter
"Als Newsartikel darstellen" Der Hintergrund wird wie ein Newsartikel dargestellt, Artikelnummer, Attribute und Menge werden untereinander gelistet.
"Emailanfrage" aktiviert gibt es einen Link "Artikelanfrage". Klickt man drauf geht der Emailclient mit Anfrage auf
"Empfehlung an einen Freund per Email" aktiviert gibt es einen Link "Emailempfehlung". Klickt man drauf geht der Emailclient mit Linkverweis des Artikels auf.
"Attributsbezeichnung" Hier kann dem Artikel ein Attribut hinzugefügt werden, z.B.: Größe. Ist dieses Feld leer wird keine Auswahlbox angezeigt!
"Attribut 1-10" Hier können bis zu 10 verschiedene Attribute angegeben werden, die dann in einer Auswahlbox erscheinenen. Z.B.: "S", "M", "XL" usw.
Zusätzlich sind für einen korrekten Onlineshop noch diverse rechtliche Texte nötig.
Diese habe ich gesondert als Worddateien mit aufgeführt:
AGB.doc
Impressum.doc
Versandkosten.doc
Widerrufsbelehrung.doc
AGB als PDF - Anleitung.doc
die darin enthalten TAGS <...> sind mit Ihren Echtdaten auszufüllen!
Achten Sie auf die korrekte Übernahme der Fettschreibung!
In die Bestellbestätigungsemail gehört auch noch das Impressum und die Widerrufsbelehrung.
Diese können Sie im Warenkorb als Nachtext aus den Vorgaben hineinkopieren!