Text aus "externen" Quellen

Begonnen von Joachim, November 30, 2005, 16:38:07

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

Joachim

Hallo,
wir haben als Datenbankquelle (WaWi) dBase. dBase hat den Nachteil, daß keine lange Texte in den Feldern stehen können. Da es aber sehr lange Beschreibungen als *.txt in einem Verzeichnis für jeden einzelnen Artikel gibt und die auf den Detailseiten erscheinen sollen, suchen wir eine Möglichkeit zur Platzierung. Wir stellen uns vor, daß in einem dBase-Feld nur der Pfad zur *.txt steht (wie bei Artikelbildern) und SP das durch einen Indentifier ersetzt.
Ich weiß ja mittlerweile, daß SP ein sehr offenes System ist, aber gibt es da eine Lösung?
Beste Gr?sse aus Berlin

Joachim
www.barrique-shop.de
www.barrique.com (Typo3-CMS)
www.tapola-camphill.net (Typo3-CMS)

hop

...
#1
Hallo,

ZitatIch weiß ja mittlerweile, daß SP ein sehr offenes System ist, aber gibt es da eine Lösung?

Ich versuch mal ;-)


<!--spmacro:module(datei)
sub text {
   my $datei = ssp::get_var_article("DATEI",$_[0]);
   open(TEXT, "< $ssp::catalog_home/$datei);
   my @text = <TEXT>;
   close(TEXT);
   main::mprint(join(" ",@text));
}
-->


In der benutzerdefinierten Variable DATEI soll der Dateiname stehen. Der Pfad ist immer relativ zum Katalogverzeichnis. Am besten nimmt man ein benutzerdefiniertes Feld vom Typ Datei, dann wird die Datei bei Änderungen automatisch hochgeladen.

Bei der Ausgabe kann man das Zeilenendezeichen noch bestimmen. Hier ist das Leerzeichen " ".
   main::mprint(join(" ",@text));
Wenn man statt dessen auch einen Zeilenumbruch in HTML haben möchte, sähe das so aus:
   main::mprint(join("
",@text));
Oder eine HTML Zeilenumbruch und ein echter Zeilenumbruch
   main::mprint(join("
\n",@text));

Ich hab's nicht vollständig getestet, hoffe es funktioniert so.

Gruss hop

PS: Aufruf mit __datei::text__ als Identifier.
Sch?ne Gr??e hop

Joachim

Vielen Dank hop,
ich werde das in Kürze ausprobieren (lassen).
Und wenns klappt, kommen hinter dem Logo von Shoppilot auf unserer zukünftigen Seite 3 Sterne :))
Beste Gr?sse aus Berlin

Joachim
www.barrique-shop.de
www.barrique.com (Typo3-CMS)
www.tapola-camphill.net (Typo3-CMS)

Joachim

#3
Geht leider nicht.
Benutzer-Feld mit dem Namen DATEI eingerichtet
Das dbaseFeld diesem zugeordnet.
Code eingebaut auf Detailseite
Identifier eingefügt.

Fehler:
This Error has occured:
parsing error 123-6 in ./wsdetail_w.htm: Can't find string terminator '"' anywhere before EOF at (eval 2) line 7, <./wsdetail_w.htm> line 175.
Beste Gr?sse aus Berlin

Joachim
www.barrique-shop.de
www.barrique.com (Typo3-CMS)
www.tapola-camphill.net (Typo3-CMS)

ahe

...
#4
Hallo Herr Schulz,

in hop's Code hat sich ein Tippfehler eingeschlichen.

Es muss nicht heissen:
open(TEXT, "< $ssp::catalog_home/$datei);
sondern:
open(TEXT, "<$ssp::catalog_home/$datei");

Das sollte den Fehler schon beheben.
MfG ahe

Joachim

Hallo ahe,
ich kanns kaum glauben - 9 nette kleine Code-Zeilchen -
und es geht. Ich bin begeistert!! :))
Schönes Wochenende
Beste Gr?sse aus Berlin

Joachim
www.barrique-shop.de
www.barrique.com (Typo3-CMS)
www.tapola-camphill.net (Typo3-CMS)

ahe

Ja, manchmal geht es einfacher als man erwarten würde ;)
Ihnen ebenfalls ein schönes Wochenende.
MfG ahe

Joachim

ZitatOriginal von Joachim Schulz
Hallo,
wir haben als Datenbankquelle (WaWi) dBase.
dBase hat den Nachteil, daß keine lange Texte in den Feldern stehen können.
Da es aber sehr lange Beschreibungen als *.txt in einem Verzeichnis für jeden einzelnen Artikel gibt
und die auf den Detailseiten erscheinen sollen,
suchen wir eine Möglichkeit zur Platzierung.
Wir stellen uns vor, daß in einem dBase-Feld nur der Pfad zur *.txt steht
(wie bei Artikelbildern) und SP das durch einen Indentifier ersetzt.
Ich will nur noch zum guten Abschluss für alle erwähnen,
dass die Lösung von Hop auch für html-Dateien gilt.
Allerdings nicht das von Word produzierte Müll-html,
(auch *.doc oder *.rtf eignen sich nicht)
sondern das einzig und allein reine html.
Beste Gr?sse aus Berlin

Joachim
www.barrique-shop.de
www.barrique.com (Typo3-CMS)
www.tapola-camphill.net (Typo3-CMS)