
Přístup k serveru MySQL pomocí zásuvného modulu MBS
Všechny databáze instalace WordPress jsou umístěny v databázi MySQL příslušného webového serveru. Aby bylo možné k databázi přistupovat zvenčí, musí být příslušná databáze autorizována pro externí přístup. Toto nastavení lze obvykle provést v backendu poskytovatele serveru.
Pro přímý přístup k databázím webového serveru je nutné použít zásuvný modul MBS FileMaker, protože FileMaker neumožňuje přímý přístup k databázím pomocí vestavěných nástrojů. SQL-server. Zásuvný modul MBS lze nainstalovat na Webové stránky Monkeybread Software a ke stažení je k dispozici bezplatná demoverze. Aby byl umožněn přístup k databázím mySQL, musí být v adresáři s databází umístěna také knihovna MySQL (libmysql.18.dylib nebo libMySQL.dll).
WordPress, kontaktní formulář 7 a Flamingo
Chcete-li na webových stránkách založených na systému WordPress vytvořit formuláře pro zadávání údajů uživateli, použijte zásuvný modul Kontaktní formulář 7. Chcete-li ukládat položky formuláře, nainstalujte také rozšíření Flamingo od stejného výrobce. Oba pluginy lze také nainstalovat a aktivovat přímo v úložišti WordPressu v rámci backendu WordPressu.
V backendu WordPressu přejděte na položku nabídky [Formuláře] a vytvořte nový formulář pro své webové stránky. Protože Flamingo automaticky ukládá všechny položky formuláře, nemusíte dělat nic jiného než vytvořit nový formulář.
Flamingo ukládá všechny datové záznamy interně do adresáře Tabulka "wp_posts" s typem příspěvku "flamingo-inbound" a nevytváří vlastní tabulku v databázi WordPress. V našem malém ukázkovém řešení jsou všechny datové záznamy importovány z tabulky "wp_posts" s typem příspěvku "flamingo-inbound". Protože jsou datové záznamy v aplikaci Flamingo jednoduše odděleny pomocí řádkového posuvu, můžeme snadno extrahovat obsah polí pomocí funkce FileMaker "GetValue".
V zásadě lze z databáze WordPressu importovat i jiné datové záznamy zadáním jiného typu příspěvku. Data by pak mohla být uložena v [post_content] mohou být formátovány odlišně. V našem příkladovém řešení se omezíme na WordPress s kontaktním formulářem 7 a Flamingo, který jednoduše zapíše obsah pole na jeden řádek pod sebe.
Sítko roztoku vzorku
V příkladu databáze obsahuje levý sloupec všechna pole pro definici databáze WordPress se všemi povinnými poli.
Do polí zadejte následující údaje, abyste mohli importovat data z instalace WordPress do aplikace FileMaker. Všechny údaje najdete také v souboru "wp-config.php", který se nachází v kořenovém adresáři vaší instalace WordPress.
- Adresa serveru (Hostitel)Adresa URL, pod kterou je přístupný váš server, na kterém je umístěna databáze pro WordPress. Poznámka: Aby bylo možné k databázi přistupovat zvenčí, musí být příslušná databáze autorizována pro externí přístup. Toto nastavení lze obvykle provést v backendu poskytovatele serveru.
- Databáze: Název databáze, ve které jsou umístěny všechny tabulky WordPress s předponou "wp_".
- Uživatelské jménoUživatelské jméno pro přihlášení do databáze.
- hesloHeslo pro přihlášení do databáze.
- Post-typV našem příkladu použijeme typ příspěvku "flamingo_inbound". V zásadě lze z databáze WordPressu importovat i jiné datové záznamy zadáním jiného typu příspěvku.
Definice polí roztoku vzorku
Naše příkladové řešení používá dvě tabulky:
- NastaveníObsahuje všechna pole pro nastavení serveru jako globální pole.
- FormulářeObsahuje všechna pole pro importované formuláře
Vztah mezi oběma tabulkami není nutný, protože všechna pole nastavení byla definována globálně.
Tabulka [Formuláře] obsahuje vypočítané textové pole s výpočtem pro každé cílové pole:
- GetValue (post_content; x)
Zástupce [x] v tomto případě znamená číslo položky. Jako všechny záznamy generované programem Flamingo v poli [post_content] jsou odděleny znakem s návratem vozíku, lze pole snadno extrahovat pomocí funkce "GetValue".
Skripty ve vzorovém řešení
Ukázkové řešení obsahuje dva skripty: Jeden Skript pro navázání připojení k databázovému serveru MySQL a skript, který lze spustit pomocí příkazu [Import dat] se provede. Částečný skript [ts.MySQL_OpenDatabase] se používá na začátku hlavního skriptu [sf.MySQL_Import_wp_posts] s názvem.
- If [NOT IsEmpty(Settings::wp_Database) AND NOT IsEmpty(...)]
Dotazuje se, zda jsou vyplněna všechna pole nastavení.
- Spustit skript ["ts.MySQL_OpenDatabase"]
Spustí částečný skript pro otevření databázového připojení k serveru MySQL. Dílčí skript vrátí číslo spojení.
- Variabilní set [$Connection; value:Get(ScriptResult)]
Zapíše vrácené číslo spojení do proměnné $Connection
- Nastavte proměnnou [$Command; value:MBS("SQL.NewCommand"; $Connection; "SELECT * FROM wp_posts...)]
Generuje dotaz SQL na tabulku [wp_posts] s omezením na typ příspěvku, který je zadán v poli [Post-Type] (v našem případě "flamingo-inbound").
- Nastavit proměnnou [$result; Hodnota:MBS("SQL.Execute"; $Command)]
Provede výše uvedený dotaz SQL na serveru.
- Smyčka (start)
- Nastavit proměnnou [$result; Hodnota:MBS("SQL.FetchNext"; $Command)]
- Ukončení smyčky if [$result ≠ 1]
- Nový datový záznam/dotaz
- Nastavení hodnoty pole [Forms::post_date; MBS("SQL.GetFieldAsDateTime"; $command; "post_date")]
- Nastavení hodnoty pole [Forms::post_content; MBS("SQL.GetFieldAsText"; $command; "post_content")]
- Nastavení hodnoty pole [Forms::post_type; MBS("SQL.GetFieldAsText"; $command; "post_type")]
- Nastavení hodnoty pole [Forms::ID; MBS("SQL.GetFieldAsNumber"; $command; "ID")]
- Zápis změny dat/dotazu [Bez dialogového okna]
- Smyčka (konec)
Prováděcí smyčka, ve které se vytvoří nový datový záznam a databázový server zapíše všechny hodnoty polí do vytvořených polí.
Stáhnout ukázkovou databázi FileMaker (.fmp12)
Jak přenést skripty ze vzorového souboru do řešení
Skripty lze snadno přenášet z jednoho řešení FileMakeru do druhého prostřednictvím schránky. Stačí otevřít dialogové okno Správa skriptů, vyberte požadovaný skript myší a zkopírujte jej do schránky pomocí nabídky [Upravit - Kopírovat] nebo kombinace kláves [Ctrl/Cmd-C]. Poté otevřete stejný dialog v cílovém řešení a jednoduše vložte dříve zkopírovaný skript pomocí příkazu nabídky [Upravit - Vložit] znovu.
Přenos tabulek ze vzorového souboru do řešení
Tabulky lze do stávajícího řešení vložit několika způsoby. Nejjednodušší je importovat tabulku pomocí příkazu [Import...] v dialogu Správa databáze. Všechny tabulky, které mají být importovány ze zdrojového řešení, lze poté vybrat v následném dialogu. Tento způsob je proto vhodný zejména v případě, že se má importovat více tabulek najednou. Pokud se má importovat pouze jedna tabulka, lze to provést také prostřednictvím schránky jako skript. Má-li být importována tabulka včetně všech dat, lze to provést příkazem [Soubor > Import datových záznamů > Soubor] v dialogu importu. V dialogu importování pak musí být cílová tabulka Nová tabulka musí být zadán.
Přenos seznamů hodnot ze vzorového souboru do řešení
Seznamy hodnot lze snadno importovat z jednoho řešení FileMakeru do druhého prostřednictvím schránky. Stačí otevřít dialog v části [Soubor > Správa > Seznamy hodnot]vyberte požadovaný Seznam hodnot myší a zkopírujte seznam hodnot do schránky pomocí nabídky [Upravit - Kopírovat] nebo kombinace kláves [Ctrl/Cmd-C]. Poté otevřete stejný dialog v cílovém řešení a vložte dříve zkopírovaný seznam hodnot pomocí příkazu v nabídce [Upravit - Vložit] znovu.
Jak přenést vlastní funkce z příkladového souboru do řešení
V dialogu [Soubor > Správa > Vlastní funkce...] na tlačítku [Import] a poté vyberte ukázkový soubor. V následujícím dialogu vyberte požadované vlastní funkce a dialog potvrďte. Upozorňujeme, že tato funkce je k dispozici pouze v aplikaci FileMaker Pro Advanced, nikoli však v aplikaci FileMaker Pro.

Markus Schall vyvíjí od roku 1994 databáze, rozhraní a podnikové aplikace na míru založené na Claris FileMaker. Je partnerem společnosti Claris, držitelem ocenění FMM Award 2011 a vývojářem aplikace Software ERP gFM-Business. Je také autorem knih a zakladatelem organizace M. Schall Publishers.



