Zum Inhalt springen

Eigene Datenbank in Typo3

Erstellt am 21. Januar 2005 · 4 Antworten · letzte Antwort am 25. Januar 2005

Tags: Datenbank, Import & Export, Frage

easywing ·

Hallo,

seit einigen Tagen beschäftige ich mich nun mit Typo3 und habe bereits eine funktionierende Webseite offline erstellt.

Nun habe ich das Problem, daß ich verschiedene Access-Datenbanken ebenfalls in die Webseite integrieren und die enthaltenen Daten nach der Onlinestellung wöchtendlich aktualisieren muß.

Die Datenbankeninhalte sollen im FE formatiert in Listen ausgegeben werden. Auch die Möglichkeit nur bestimmte Datensätze anzuzeigen bzw. auch die Datenbank zu durchsuchen und nur einzelne Datensätze allein anzeigen zu lassen, soll hier gegeben sein. Im BE sollen die Daten einzeln editierbar bzw. über im Access exportierte CSV-Dateien importierbar sein.

Soweit ich mich belesen habe, ist dieses Vorhaben wohl über Extensions möglich. Daher wäre meine Frage, ob es eine Art deutsche "Schritt für Schritt"-Anleitung für die Integration von externen Datenbanken und die Erstellung von Funktionen etc gibt.

Vielen Dank!

easywing ·

Hey, danke für den Tipp.

Das hilft mir schon erstmal etwas wirtschaften. Ich habe nun ein PHP-Script geschrieben, was die SQL-Datenbank ausliest und eine Liste aller Einträge darin ausgibt.

Nun lande ich allerdings automatisch beim nächsten Problem:
Die einzelnen Positionen der Liste sollten auch anklickbar sein, sodaß eine Detailansicht mit noch mehr Informationen möglich ist. Eine Verlinkung ist ja an sich kein Problem, jedoch wohin? Wenn ich die aktuelle Seiten-ID (beispielsweise: index.php?id=55) angebe, wird ja logischer Weise nur das PHP-Script mit der Liste aufgerufen. Wenn ich im Skript die Abfrage eines zusätzlichen Parameters programmiere (bspw: index.php?id=55&item=5), und dort dann nur die Details vos Datensatzes mit der ID 5 ausgeben lassen will, wird mir nix angezeigt. Der Parameter item=5 wird wahrscheinlich von Typo3 verschluckt, oder?

hans_k ·

wennst einen iframe verwendest funktionierts. (allerdings nicht unbedingt elegant)

es gibt glaube ich noch eine andere möglichkeit.

man kann auf die übergebenen parameter mit einer speziellen syntax (eigens für T3) auf übergabeparameter zugreifen. falls du dazu was findest bitte posten.

lg

easywing ·

Es hat eine kleine Weile gedauert, aber ich habe eine Lösung gefunden, nachdem ich zahlreiche Forenbeiträge hier gelesen habe:

Die Lösung steckt in diesem Thread:
http://www.typo3faq.net/index.php?sid=161281&aktion=artikel&rubrik=005&id=6&lang=de

1. Die Extension zum Interpretieren von PHP-Code deaktivieren (muß nicht sein, nur der Ordnung halber 😃 )

2. Das im Content der jeweiligen Seite eingegebe PHP-Script habe ich nun als externe PHP-Datei (bspw. test.php) im Verzeichnis fileadmin/scripts abgelegt.

3. Das Template der Seite habe ich über die Funktion "Click here to create an extension template" im Template-Editor erweitert. Und dort ein Typo3-Script wiefolgt eingefügt:

tt_content.script = CASE 
tt_content.script {
key.field = select_key
TEST = PHP_SCRIPT_EXT
TEST.file = fileadmin/scripts/test.php
}

4. Anschließend habe ich im Content der Seite einen neuen Inhalt als Content-Element "Skript" angelegt und im Feld CODE den Platzhalter TEST aus dem TS-Code von 3.

5. In meiner test.php definiere ich nun meine Übergabevariable. Um bei dem Beispiel von meinem vorhergehenden Thread zu bleiben, setze ich in PHP einen Link wiefolgt:

echo "index.php?id=",$GLOBALS["TSFE"]->id,"&item=5";

wobei $GLOBALS["TSFE"]->id mir die aktuelle Typo3-Seiten-ID ermittelt.

6. Wenn ich den Link nun im FE anklicke, wird die gleiche Seite mit dem gleichen PHP-Script jedoch mit dem Parameter item=5 geöffnet.

Das war's. Diesen Parameter kann ich nun in meinem PHP-Script über

$item = $HTTP_GET_VARS["item"];

problemlos auslesen und weiterverarbeiten.

Eine Diskussion dazu gibts auch hier: #3361

Wahrscheinlich unterstützt die PHP-Extension diese Funktion lediglich nicht.

Ich hoffe, ich konnte dir auch etwas weiterhelfen.