Warenkorb
0
Wagen 0
Telefonische Beratung +49 (0) 441-30 43 76 40
Suchmaschinenoptimierung und FileMaker mögen auf den ersten Blick vielleicht nicht so recht zusammenpassen. Bei näherer Betrachtung entpuppt sich FileMaker jedoch als ein hervorragendes Tool, um Webseiten und Onlineshops, die beispielsweise auf MySQL basieren, mit suchmaschinenoptimierten Meta-Tags wie Titel, Beschreibung oder Keywords zu bestücken. Am Beispiel des bekannten Onlineshop-Systems xt:Commerce werde ich in diesem Artikel zeigen, wie sich FileMaker sehr gut nutzen läßt, um eine große Anzahl an Artikeln gleichzeitig auf Knopfdruck mit optimierten Angaben zu versehen. Der „normale“ Weg wäre, jeden Artikel einzeln im Backend von xt:commerce aufzurufen und die Angaben manuell hinzuzufügen. Das geht natürlich auch, aber wir haben doch keine Zeit und wollen eine schnellere Lösung…
Im Artikel FileMaker und MySQL habe ich bereits beschrieben, auf welche Weise FileMaker mit einer MySQL-Datenbank im Internet verbunden werden kann. Dieser Artikel setzt voraus, daß Sie auf Ihrem Mac eine fertig eingerichtete ODBC-Schnittstelle zu Ihrem Webserver zur Verfügung stehen haben, auf dem sich die MySQL-Datenbank von xt:commerce befindet. Schauen wir uns nun zunächst an, in welchen Tabellen xt:Commerce relevante Artikeldaten speichert:
products – In dieser Tabelle befindet sich der Artikelstamm mit dem Primärschlüssel <<products_id>>. Die Tabelle speichert Daten wie die Artikelnummer, Produktname, Status, VPE, Bildlink usw.
products_attributes – Diese Tabelle speichert die in xt:Commerce für die einzelnen Produkte zugewiesenen Produktattribute – also beispielsweise „Größe: o M o L o XL“, die der Kunde vor der Bestellung im Produkt auswählen kann. Für Suchmaschinenoptimierung ist diese Tabelle irrelevant.
products_description – Dies ist die relevante Tabelle, die wir für Suchmaschinenoptimierung benötigen. Sie beinhaltet die Beschreibung (Artikellangtext im HTML-Format), die Kurzbeschreibung im HTML-Format, den Namen des Artikels sowie alle Meta-Angaben (Suchbegriffe, Meta-Keywords, Meta-Description, Meta-Title).
xt:Commerce besitzt noch ein paar weitere produktbezogene Tabellen wie products_options, products_to_categories oder products_xsell, in denen weitere Angaben zu Artikeln gespeichert sind, die jedoch für unseren Artikel nicht relevant sind.
Wenn die ODBC-Datenquelle, wie oben bereits erwähnt, erfolgreich auf Ihrem Computer eingerichtet wurde, erstellen Sie nun in FileMaker eine neue Datenbank:
Datei (Ablage) > Neue Datenbank...
Vergeben Sie einen beliebigen Namen, z.B. „fmseo.fp7“. Wenn sich daraufhin das Fenster für die Datenbankdefinition öffnet, schließen Sie dieses, denn wir werden unsere Datentabellen nun automatisch aus xt:Commerce in FileMaker importieren. Der Einfachheit halber arbeiten wir in diesem Artikel ausschließlich mit der Tabelle products_description aus xt:Commerce. Wenn Sie in Ihrer Lösung eine vollständige Artikelverwaltung realisieren möchten, werden Sie sicher auch die anderen Tabellen benötigen – dies würde aber den Rahmen dieses Artikels sprengen. Um die gewünschte Tabelle in FileMaker zu importieren, wählen Sie nun folgenden Menüpunkt aus:
Datei (Ablage) > Datensätze importieren > ODBC-Datenquelle
Daraufhin erscheint ein Dialog, in dem Sie nun die von Ihnen erstellte ODBC-Datenquelle auswählen, die für den xt:Commerce-Shop eingerichtet wurde:
Geben Sie im folgenden Dialog den Benutzernamen und das Passwort zur MySQL-Datenbank ein:
Sobald Sie Ihre Zugangsdaten erfolgreich eingegeben und mit der Schaltfläche [OK] bestätigt haben, erscheint der Dialog zur Erstellung einer SQL-Abfrage:
Wählen Sie in diesem Dialog in der linken Spalte „Tabellen“ die Tabelle products_description aus. Daraufhin doppelklicken Sie einfach in der rechten Spalte „Spalten“ alle Felder, bis Ihre SQL-Abfrage im darunter liegenden Textfeld vollständig ist. Die SQL-Abfrage (SQL-Query) sollte nun folgendermaßen aussehen:
SELECT `products_description`.`language_id`, `products_description`.`products_description`, `products_description`.`products_id`, `products_description`.`products_keywords`, `products_description`.`products_meta_description`, `products_description`.`products_meta_keywords`, `products_description`.`products_meta_title`, `products_description`.`products_name`, `products_description`.`products_short_description`, `products_description`.`products_url`, `products_description`.`products_viewed` FROM `products_description`
Nach Klick auf die Schaltfläche [Ausführen] wird die SQL-Abfrage auf den Server ausgeführt, und es erscheint nun der schon bekannte Dialog für die Zuordnung der Importfelder aus FileMaker. Da in der neuen Datenbank noch keine Tabelle existiert, wählen Sie oben rechts unter „Ziel“ nun „Neue Tabelle“ aus.
Nach Klick auf die Schaltfläche [Importieren] legt FileMaker nun eine neue Tabelle an mit den originalen Feldnamen der Tabelle aus xt:Commerce und importiert gleichzeitig alle Datensätze, die sich in dieser Tabelle befinden. Sie haben nun also eine neue FileMaker-Datenbank erstellt, in der sich die Tabelle products_description inklusive aller Datensätze aus xt:Commerce befindet, ohne daß Sie auch nur eine Tabelle oder eine Felddefinition in FileMaker anlegen mußten!
Wenn Sie die Felder auf Ihren neuen Layout nun noch ein wenig nach Ihren Wünschen zurechtrücken, könnte Ihre Datenbank nun ungefähr folgendermaßen aussehen:
In dieser neuen Datenbank können Sie nun nach Herzenslust Meta-Tags oder andere Angaben zu Ihren Artikeln pflegen. Selbstverständlich haben Sie auch die Möglichkeit, Meta-Angaben automatisch berechnen zu lassen. Beispielsweise können Sie die Artikelstammtabelle products aus xt:Commerce ebenfalls importieren und über den Primärschlüssel <<products_id>> mit der schon angelegten Tabelle products_description verbinden. Auf diese Weise können Sie beispielsweise per automatischer Berechnung („Feldinhalt ersetzen“) automatisch Felder mit Inhalten füllen. Ihren Möglichkeiten sind praktisch keine Grenzen gesetzt!
Wenn Sie nun die Daten in Ihrer FileMaker-Datenbank erfolgreich bearbeitet oder erstellt haben, möchten Sie natürlich nun die Daten auch wieder zurück in den Onlineshop schreiben. Diesen Vorgang können wir ganz komfortabel direkt in FileMaker als Script realisieren. Auf diese Weise haben Sie dann auch die Möglichkeit, entweder einen (den aufgerufenen) Datensatz oder alle aufgerufenen Datensätze gleichzeitig zu aktualisieren.
Um Daten auf einen SQL-Server zu schreiben, stellt uns FileMaker im ScriptMaker den Befehl
SQL Query ausführen
zur Verfügung. Um beispielsweise die Produktbeschreibung, also das Feld <<product_description>>, auf dem SQL-Server zu aktualisieren, benötigen wir folgenden Befehl im ScriptMaker:
SQL Query ausführen [Ohne Dialogfeld; DSN: IhrMySQLServer; Berechneter SQL-Text: "UPDATE `products_description` SET `products_description` = "" & Austauschen(xtc_products_description::products_description; """; "") & "" WHERE `products_id` = " & xtc_products::products_id]
Um Kompatibilitätsprobleme mit der SQL-Query zu vermeiden, tauscht unser Scriptbefehl automatisch doppelte Anführungszeichen („) in einfache Anführungszeichen (‚) um, die sich ggf. im Beschreibungstext befinden. Mit diesem einfachen Scriptbefehl wird das Feld <<products_description>> auf dem SQL-Server durch den Inhalt des gleichnamigen Feldes in Ihrer FileMaker-Datenbank aktualisiert. Dies funktioniert selbstverständlich mit allen Feldern der Datenbank, also auch mit allen Feldern der Meta-Tags.
Soll das Feld aller aufgerufenen Datensätze in FileMaker auf dem SQL-Server aktualisiert werden, kann dies ganz einfach durch eine Schleife realisiert werden, also zum Beispiel so:
Schleife (Anfang)
SQL Query ausführen [Ohne Dialogfeld; DSN: IhrMySQLServer; Berechneter SQL-Text: "UPDATE `products_description` SET `products_description` = "" & Austauschen(xtc_products_description::products_description; """; "") & "" WHERE `products_id` = " & xtc_products::products_id]
Gehe zu Datens./Abfrage/Seite [Nächste(r); Nach letztem beenden]
Schleife (Ende)
Auch in Bezug auf die Aktualisierung der Datensätze auf dem SQL-Server haben Sie unbegrenzte Möglichkeiten und können diese Funktionen auf einfache Weise in Ihre Benutzeroberfläche integrieren. Für die SQL-Queries müssen Sie kein Crack in SQL sein – für die hier gezeigte Lösung werden lediglich ganz einfache SQL-Abfragen benötigt. Um vorhandene Daten von FileMaker in die MySQL-Datenbank zu übertragen, benötigen Sie ausschließlich den SQL-Befehl UPDATE. Mit dem Einschränkungsbefehl WHERE stellen Sie sicher, daß ausschließlich der Datensatz aktualisiert wird, dessen Primärschlüssel <<products_id>> dem des aufgerufenen Datensatzes in FileMaker entspricht.
Ich hoffe, daß das Tutorial bis hierhin verständlich und nachvollziehbar ist. In einem weiteren Artikel werde ich zeigen, wie man neue Daten aus FileMaker in eine MySQL-Datenbank schreibt – beispielsweise um Lieferstati oder andere Daten aus FileMaker direkt in MySQL zu generieren.
Die FileMaker-Plattform kann heute als das wohl mächtigste Datenbank-Management-System bezeichnet werden. In seiner aktuellen Version 13 bietet FileMaker einen bisher noch nie erreichten Funktionsumfang und ist auf Mac OS X, Windows und iOS lauffähig. Trotz des hohen Funktionsumfangs bringt FileMaker bereits seit einigen Versionen zwei mächtige Features mit, die es erlauben,…
FileMaker 12 beinhaltet mit "SQLQueryAusführen" eine Funktion, die in der täglichen FileMaker-Praxis äußerst hilfreich ist. Sehr gut gebrauchen kann man diese Funktion zum Beispiel, um Wertelisten aus Feldwerten anderer Tabellen zu erstellen, ohne daß dafür eine Beziehung notwendig ist. Im Zusammenhang mit der von Arnold Kegebein in den FileMaker-Magazinen 201301…
Vogel Business Media stellt auf seinem Web-Portal ein auf FileMaker basierendes Laborinformationssystem (LIMS) für Neuropathologie und Labormedizin vor, das im Klinischen Institut für Neurologie (KIN) in Wien eingesetzt wird. Erste Schritte zur Realisierung der Software wurden bereits im Jahr 1993 durch die Laborleiterin durchgeführt. Im Rahmen einer Expertise für FileMaker-Datenbanken…
Hinzufügen von {{itemName}} zum Warenkorb
Hinzugefügt {{EinkaufsName}} zum Warenkorb
Danke für den interessanten Bericht !