PDA

Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: Open Source Webshop: Agb Fenster Unter Kasse Mit Html-format


Barcelo
13.09.2006, 19:13
Hallo zusammen,

wegen einer Abmahnung hier nun die wnichtige Frage, wie man
das AGB-Scrollfeld HTML-formatiert ausgeben kann? Ich erinnere
mich dunkel an Befehle wie "nl2br htmlspecialchars stripslashes"

Viellenicht kann hier einer der PHP-Spezialisten die Ausgabe für das
AGB-Feld posten - ich wäre sehr dankbar dafür!

Bezüglich der Abmahnung werde ich hier noch einen neuen Artikel
posten! (Es bezrifft die visuelle Kennzeichnung & Hervorhebung des
Widerrufsrechts und der Gewährleistung in den AGB's)

Daher meine Frage wie das im Scroll-Feld formatiert ausgegeben
werden kann

Danke im Voraus!

HarryBoo
13.09.2006, 19:55
Hallo Barcelo,

wenn ich dein Problem rnichtig verstanden habe, dann kannst du die AGB in einer html-Datei anlegen und entsprechend formatieren.

Dann lädst du sie mit dem Contentmanager (Admin) hoch. Ab sofort wird die neuerstellte Datei beim Aufruf angezeigt.

Gruß
HarryBoo

Barcelo
14.09.2006, 08:30
Hallo HarryBoo,

ja das ist schon klar...

die AGB-Seite wird jedoch beim Einkauf ja nochmals angezeigt (Scrollfeld)
welche man auch mit Häkchen bestätigen muss. In diesem Scroll-Feld er-
scheint jedoch die HTML-Datei unformatiert! Ich würde gerne wissen, wie
man die dort formatiert ausgeben / anzeigen kann.

Gruß,
Barcelo

ChrisC
14.09.2006, 10:41
Hallo Forum,

''>ZITAT(Barcelo @ Sep 13 2006, 19:13) 11129

Viellenicht kann hier einer der PHP-Spezialisten die Ausgabe für das
AGB-Feld posten - ich wäre sehr dankbar dafür!

[/b]

so, ich habe mich zwar gerade erst in diesem Forum neu angemeldet, aber aufgrund dieses Posting direkt eine Lösung parat.

Ok, folgende Änderung sind dafür notwendig:

Datei: <xtcommerce-dir>/checkout_payment.php

Fogende Zeile suchen:

''>ZITAT</div>
if ($shop_content_data['content_file'] != '') {

$conditions = '<iframe SRC="' . DIR_WS_CATALOG . 'media/content/' . $shop_content_data['content_file'] . '" width="100%" height="300">';
$conditions .= '</iframe>';
} else {

$conditions = '<textarea name="blabla" cols="60" rows="10" readonly="readonly">' . strip_tags(str_replace('
', "\n", $shop_content_data['content_text'])) . '</textarea>';
}
[/b]

und wie folgt ändern:

''>ZITAT</div>
if ($shop_content_data['content_file'] != '') {

$conditions = '<iframe SRC="' . DIR_WS_CATALOG . 'media/content/' . $shop_content_data['content_file'] . '" width="100%" height="300">';
$conditions .= '</iframe>';
} else {

//$conditions = '<textarea name="blabla" cols="60" rows="10" readonly="readonly">' . strip_tags(str_replace('
', "\n", $shop_content_data['content_text'])) . '</textarea>';
// HTML TextArea wurde entfernt. Inhalt wird MIT HTML Tags angezeigt!
$conditions = $shop_content_data['content_text'];
}
[/b]

Datei: <xtcommerce-dir>/templates/<dein-template>/module/checkout_payment.html

suchen:
''>ZITAT</div>
<td class="main">{$AGB}</td>
[/b]

und ändern in:
''>ZITAT</div>
<td class="scrollAGBContent">
<div style="width: 100%; height: 100%; overflow: auto;">
{$AGB}

</td>
[/b][/quote]

Nun noch abschliessend das CSS (Cascading Style Sheets ) CSS
http://de.selfhtml.org/css/ (http://anonym.to/?http://de.selfhtml.org/css/) - Top CSS Einsteiger Seite
http://www.css4you.de/ (http://anonym.to/?http://www.css4you.de/) - CSS Reference-File Deines Templates um folgendes ergänzen:

''>ZITAT</div>
td.scrollAGBContent
{
width: 680px;
height: 200px;
font-family: verdana;
font-size: 12px;
background-color: #FFFFFF;
border: 1px solid #B3B395;
scrollbar-base-color: #FFFFFF;
scrollbar-3d-light-color: #a0aad9;
scrollbar-arrow-color: #a0aad9;
scrollbar-darkshadow-color: #FFFFFF;
scrollbar-face-color: #FFFFFF;
scrollbar-highlight-color: #1e598b;
scrollbar-shadow-color: #1e598b;
scrollbar-track-color: #EEEEEE;
}
[/b]

Das war es eigentlich schon.

Folgendes zur Erklärung:

Du definierst mit dem <DIV> Eintrag und dem OVERFLOW-CSS (Cascading Style Sheets ) CSS
http://de.selfhtml.org/css/ (http://anonym.to/?http://de.selfhtml.org/css/) - Top CSS Einsteiger Seite
http://www.css4you.de/ (http://anonym.to/?http://www.css4you.de/) - CSS Reference-Tag die Tabellenzelle so,
dass dort 1) ein festes "Fenster" definiert wird und 2) wenn dessen Inhalt zu groß ist, dieser automatisch
scrollbar gemacht wird.
Dieser Trick funktioniert mittlerweile mit eigentlich allen modernen Browsern und kann auch bei sonstigen
Templates bzw. HTML-Seiten angewandt werden.
Wnichtig ist das <DIV> Tag mit den 100% Angaben und die eigentliche Größenangabe im CSS (Cascading Style Sheets ) CSS
http://de.selfhtml.org/css/ (http://anonym.to/?http://de.selfhtml.org/css/) - Top CSS Einsteiger Seite
http://www.css4you.de/ (http://anonym.to/?http://www.css4you.de/) - CSS Reference-File.

Die Änderung in CHECKOUT_PAYMENT.PHP bewirkt, dass der Inhalt der Datenbank NICHT in einem TextArea-Feld landet, sondern direkt OHNE Entfernung der gewünschten HTML-Tags eingesetzt wird.

Puh, ich hoffe, ich habe in meiner Eile Alles relativ verständlich geschrieben und Nnichts vergessen.

Wenn Du Fragen hast, einfach hier im Forum oder per Email nachfragen.

Achja, habe ich doch fast vergessen:
Man könnte viellenicht auf die Idee kommen nur den Teil

. strip_tags(str_replace('
', "\n", $shop_content_data['content_text'])) .

durch

. $shop_content_data['content_text'] .

ersetzen. Aber ich denke, dass würde nicht den gewünschten Effekt bringen, da TextArea-Felder
normalerweise keinen HTML-Code darstellen können. Denke ich... ?

Gruß
Christian

Barcelo
14.09.2006, 11:08
Hallo Christian,

vielen Dank für Deine Nachrnicht und Deine Hilfe.

Folgendes noch vorab:
Wenn man sich den betroffenen Code in der checkout_payment.php
ansieht, fällt auf, dass wenn man die AGB's via Datei im Content Manager
einbindet, diese dann formatiert in einem IFrame ausgegeben werden.
verwendet man die AGB's als Datenbank-Eintrag ist das nicht der Fall.
****$shop_content_data = xtc_db_fetch_array($shop_content_query);

****if ($shop_content_data['content_file'] != '') {

********$conditions = '<iframe SRC="' . DIR_WS_CATALOG . 'media/content/' . $shop_content_data['content_file'] . '" width="100%" height="300">';
********$conditions .= '</iframe>';
****} else {

********$conditions = '<textarea name="blabla" cols="60" rows="10" readonly="readonly">' . strip_tags(str_replace('
', "\n", $shop_content_data['content_text'])) . '</textarea>';
****}
Soweit ich weiß, ist es möglich, formatierten HTML_Code in einer FORM-Textarea auszugeben.
Sie div. wysiwyg-Editoren.

Deine Lösung klingt jedoch auch sehr gut und ich werde es testen.

Leider kann ich im mom. nicht die Datei-Ausgabe testen - wie gesagt, wenn die Datei via
IFrame ausgegeben wird, dann müsste das auch formatiert geschehen.

VG,
Oliver

ChrisC
14.09.2006, 11:27
''>ZITAT(Barcelo @ Sep 14 2006, 11:08) 11177

Leider kann ich im mom. nicht die Datei-Ausgabe testen - wie gesagt, wenn die Datei via
IFrame ausgegeben wird, dann müsste das auch formatiert geschehen.

[/b]

Hallo,

stimmt, da hast Du eigentlich voll und ganz recht.

Man kann die Datei via FTP als HTML-Datei abspeichern und dann mittels Content-Manager auswählen.
Dann wird das Ganze im IFRAME anzeigt und man hat die gewünschte HTML-Ausgabe.

Zu WYSIWYG-Editoren: Stimmt auch, daran habe ich im Eifer des Gefechts nicht gedacht.

Wir können also zusammenfassen:

1) Das Ganze via FTP und Content-Manager als Datei anzeigen lassen
2) Das Ganze OHNE gestripte HTML-Tags und eventuell ein bisschen Code via
TextArea ausgeben.
3) Meine Lösung ausprobieren.

Aus Design-technischer Snicht würde ich Lösung 1 oder 3 empfehlen.

Gruß
Christian

Purecut
15.09.2006, 21:37
Verstehe das ganze hier nicht. Ich habe mir eine HTML für meine AGB'S geschrieben und diese via Content Manager eingebunden. Im Checkout Prozess wird dann diese HTML Datei angezeigt. Schön formatiert etc. Ich weiss nicht was ihr da macht. Jedenfalls habe ich nichts im Source geändert.