Shopsystem ShopPilot

ShopPilot => ShopPilot Enterprise => Thema gestartet von: dobra am November 21, 2014, 23:08:38

Titel: was man mit ben. def. Seitenfeldern anstellen kann ;)
Beitrag von: dobra am November 21, 2014, 23:08:38
Hallo,

man kann z.B. txt-Dateien ganz einfach einbinden.

1) ein ben.def. Seitenfeld "TXT" anlegen.
2) mit beliebigen Editor den Text schreiben und als txt-Datei abspeichern
    (http://www.woll-insel.at/Bilder/SP-Forum/editor.jpg)

Zeilenumbrüche und Leerzeichen werden automatisch ersetzt.
Sonstige Formatierungen kann man (muss aber nicht) mit html und/oder css schreiben.

3) der Pfad zur Datei wird im TXT-Seitenfeld eingetragen.
    (http://www.woll-insel.at/Bilder/SP-Forum/txt.jpg)

4) Code (wenn er nur auf einigen wenigen Seiten verwendet werden soll, kann man es direkt in den head-Bereich schreiben, sonst in stdall.ipl dann ist es überall verwendbar)
    <!--spmacro:module(datei)
sub text {
    my $url = ssp::pageurl(1);
    $url =~ /^.*iboshop.cgi\?show(\d+).*/;
    my $pagenr = $1;
   my $datei = ssp::get_var_page("TXT",$pagenr);
   open(TEXT, "< $ssp::catalog_home/$datei");
   my @text = <TEXT>;
   close(TEXT);
   foreach(@text)
{s/  /&nbsp; /g;}
   main::mprint(join("<br>",@text));
}
-->

5) mit  __datei::text__  kann die txt-Datei jetzt ausgegeben werden.

(http://www.woll-insel.at/Bilder/SP-Forum/info.jpg)

Wozu das gut sein soll?
z.B. wenn man viele Infoseiten verwendet, braucht man dann nicht mehr für jede eine eigene html-Vorlage, sondern kommt mit einer einzigen globalen aus.
eine globale Vorlage info.html kann z.B. so ausschauen
<!--spmacro:include(html_de/body_top.html)-->

<div class="eintrag">
<h1>__pseite__</h1>
<br>__datei::text__
</div>
 
<!--spmacro:include(html_de/footer.html)-->
</body>

oder man kann längere Texte auf Katalogseiten ausgeben
etc.

P.S.: das Script hat ahe vor ewigen Zeiten mal geschrieben - ich habe es nur ein bisschen zweckentfremdet angepasst  ;)