
MBS eklentisi ile MySQL sunucusuna erişim
Bir WordPress kurulumunun tüm veritabanları, ilgili web sunucusunun MySQL veritabanında bulunur. Veritabanına harici olarak erişebilmek için ilgili veritabanının harici erişim için yetkilendirilmesi gerekir. Bu ayar genellikle sunucu sağlayıcısının arka ucunda yapılabilir.
Web sunucusu veritabanlarına doğrudan erişmek için, FileMaker yerleşik araçlarla veritabanlarına doğrudan erişime izin vermediğinden, MBS FileMaker eklentisini kullanmak gerekir. SQL-sunucu. MBS eklentisi şu adrese kurulabilir Monkeybread Software'in web sitesi ve ücretsiz bir demo sürümü indirilebilir. MySQL veritabanlarına erişimi etkinleştirmek için, MySQL kütüphanesi (libmysql.18.dylib veya libMySQL.dll) de veritabanı dizininde bulunmalıdır.
WordPress, İletişim Formu 7 ve Flamingo
WordPress tabanlı bir web sitesinde kullanıcı girişi için formlar sağlamak için eklentiyi kullanın İletişim Formu 7. Form girişlerini kaydetmek için ayrıca Flamingo aynı üreticiden. Her iki eklenti de doğrudan WordPress arka ucundaki WordPress deposundan kurulabilir ve etkinleştirilebilir.
WordPress arka ucunda, menü öğesine gidin [Formlar] ve web siteniz için yeni bir form oluşturun. Flamingo tüm form girişlerini otomatik olarak kaydettiğinden, yeni bir form oluşturmaktan başka bir şey yapmanıza gerek yoktur.
Flamingo tüm veri kayıtlarını dahili olarak Tablo "flamingo-inbound" yazı türüne sahip "wp_posts" ve WordPress veritabanında kendi tablosunu oluşturmaz. Küçük örnek çözümümüzde, tüm veri kayıtları "flamingo-inbound" gönderi türüyle "wp_posts" tablosundan içe aktarılır. Veri kayıtları Flamingo tarafından bir satır beslemesi kullanılarak basitçe ayrıldığından, FileMaker işlevi "GetValue" kullanılarak alan içeriklerini kolayca çıkarabiliriz.
Prensip olarak, diğer veri kayıtları da farklı bir yazı türü belirtilerek WordPress veritabanından içe aktarılabilir. Veriler daha sonra şurada depolanabilir [post_content] farklı biçimlendirilmiş olabilir. Örnek çözümümüzde, kendimizi Contact Form 7 ve Flamingo ile WordPress ile sınırlayacağız, bu da alan içeriğini basitçe bir satır diğerinin altına yazar.
Örnek çözeltinin ekranı
Örnek veritabanında, sol taraftaki sütun WordPress veritabanınızı gerekli tüm alanlarla tanımlamak için tüm alanları içerir.
WordPress kurulumunuzdaki verileri FileMaker'a aktarabilmeniz için aşağıdaki verileri alanlara girin. Tüm veriler WordPress kurulumunuzun kök dizininde bulunan "wp-config.php" dosyasında da bulunabilir.
- Sunucu adresi (Ev sahibi)Sunucunuzun erişilebilir olduğu ve WordPress veritabanının bulunduğu URL. Not: Veritabanına harici olarak erişebilmek için ilgili veritabanının harici erişim için yetkilendirilmiş olması gerekir. Bu ayar genellikle sunucu sağlayıcısının arka ucunda yapılabilir.
- Veritabanı: "wp_" ön ekine sahip tüm WordPress tablolarının bulunduğu veritabanının adı.
- Kullanıcı adıVeritabanında oturum açmak için kullanıcı adı.
- şifreVeritabanında oturum açmak için şifre.
- Post-TipÖrneğimizde "flamingo_inbound" yazı türünü kullanıyoruz. Prensip olarak, farklı bir yazı türü belirtilerek WordPress veritabanından başka veri kayıtları da içe aktarılabilir.
Örnek çözeltinin alan tanımları
Örnek çözümümüz iki tablo kullanmaktadır:
- AyarlarSunucu ayarları için tüm alanları global alanlar olarak içerir
- Formlarİçe aktarılan formlar için tüm alanları içerir
Tüm ayar alanları global olarak tanımlandığı için iki tablo arasında bir ilişki gerekli değildir.
Masa [Formlar] her hedef alan için hesaplama içeren hesaplanmış bir metin alanı içerir:
- GetValue (post_content; x)
Yer tutucu [x] bu durumda girişin numarası anlamına gelir. Flamingo tarafından alanda oluşturulan tüm girişler gibi [post_content] satır başı ile ayrılırsa, alanlar "GetValue" işlevi kullanılarak kolayca çıkarılabilir.
Örnek çözümdeki komut dosyaları
Örnek çözüm iki komut dosyası içerir: Bir tanesi Senaryo aracılığıyla çalıştırılabilen bir komut dosyası ve MySQL veritabanı sunucusuna bağlantı kurmak için [Veri içe aktarma] yürütülür. Kısmi komut dosyası [ts.MySQL_OpenDatabase] ana komut dosyasının başında kullanılır [sf.MySQL_Import_wp_posts] aradı.
- Eğer [NOT IsEmpty(Settings::wp_Database) AND NOT IsEmpty(...)]
Tüm ayar alanlarının doldurulup doldurulmadığını sorgular.
- Komut dosyasını çalıştır ["ts.MySQL_OpenDatabase"]
MySQL sunucusuyla bir veritabanı bağlantısı açmak için kısmi komut dosyasını çalıştırır. Kısmi kod, bağlantı için bir numara döndürür.
- Değişken set [$Connection; value:Get(ScriptResult)]
Bağlantının döndürülen numarasını $Connection değişkenine yazar
- Değişkeni ayarla [$Command; value:MBS("SQL.NewCommand"; $Connection; "SELECT * FROM wp_posts...)]
Tablo üzerinde bir SQL sorgusu oluşturur [wp_posts] girilen gönderi türüne kısıtlama getirerek [Post-Type] belirtilmiştir (bizim durumumuzda "flamingo-inbound").
- Değişkeni ayarla [$result; Değer:MBS("SQL.Execute"; $Command)]
Yukarıda listelenen SQL sorgusunu sunucu üzerinde çalıştırır.
- Döngü (başlangıç)
- Değişkeni ayarla [$result; Değer:MBS("SQL.FetchNext"; $Command)]
- $result ≠ 1] ise döngüden çıkın
- Yeni veri kaydı/sorgusu
- Alan değerini ayarlayın [Forms::post_date; MBS("SQL.GetFieldAsDateTime"; $command; "post_date")]
- Alan değerini ayarlayın [Forms::post_content; MBS("SQL.GetFieldAsText"; $command; "post_content")]
- Alan değerini ayarlayın [Forms::post_type; MBS("SQL.GetFieldAsText"; $command; "post_type")]
- Alan değerini ayarlayın [Forms::ID; MBS("SQL.GetFieldAsNumber"; $command; "ID")]
- Değişiklik verilerini/sorgusunu yaz [Diyalog kutusu olmadan]
- Döngü (son)
Yeni bir veri kaydının oluşturulduğu ve tüm alan değerlerinin veritabanı sunucusu tarafından oluşturulan alanlara yazıldığı yürütme döngüsü.
FileMaker örnek veritabanını indirin (.fmp12)
Örnek dosyadaki komut dosyalarını çözümünüze aktarma
Komut dosyaları, pano aracılığıyla bir FileMaker çözümünden diğerine kolayca aktarılabilir. Diyaloğu açmanız yeterlidir Komut dosyalarını yönetme, fare ile istediğiniz senaryoyu seçin ve menü aracılığıyla senaryoyu panoya kopyalayın [Düzenle - Kopyala] veya tuş kombinasyonu [Ctrl/Cmd-C]. Ardından hedef çözümde aynı diyaloğu açın ve menü komutunu kullanarak önceden kopyalanan kodu yapıştırın [Düzenle - Yapıştır] Tekrar.
Tabloları örnek dosyadan çözümünüze aktarmak için
Tablolar mevcut bir çözüme birkaç şekilde eklenebilir. En kolay yol, tabloyu içe aktarmak için [İthalat...] diyalog içinde Veritabanını yönetin. Kaynak çözümden içe aktarılacak tüm tablolar daha sonra bir diyalog penceresinde seçilebilir. Bu nedenle bu yöntem, aynı anda birden fazla tablo içe aktarılacaksa özellikle uygundur. Yalnızca bir tablo içe aktarılacaksa, bu bir komut dosyası gibi pano aracılığıyla da yapılabilir. Tüm verileri içeren bir tablo içe aktarılacaksa, bu işlem şu komutla yapılabilir [Dosya > Veri kayıtlarını içe aktar > Dosya] içe aktarma diyaloğunda. İçe aktarma diyaloğunda hedef tablo şu şekilde olmalıdır Yeni masa belirtilmelidir.
Değer listelerini örnek dosyadan çözümünüze aktarmak için
Değer listeleri, pano aracılığıyla bir FileMaker çözümünden diğerine kolayca aktarılabilir. Basitçe aşağıdaki diyaloğu açın [Dosya > Yönet > Değer listeleri]istediğiniz öğeyi seçin Değer listesi fare ile seçin ve menü aracılığıyla değer listesini panoya kopyalayın [Düzenle - Kopyala] veya tuş kombinasyonu [Ctrl/Cmd-C]. Ardından hedef çözümde aynı diyaloğu açın ve menü komutunu kullanarak önceden kopyalanan değer listesini yapıştırın [Düzenle - Yapıştır] Tekrar.
Kendi fonksiyonlarınızı örnek dosyadan çözümünüze nasıl aktarabilirsiniz?
Diyalogda [Dosya > Yönet > Kendi işlevleri...] düğme üzerinde [İthalat] ve ardından örnek dosyayı seçin. Aşağıdaki diyalogda istediğiniz özel fonksiyonları seçin ve diyaloğu onaylayın. Lütfen bu işlevin yalnızca FileMaker Pro Advanced'de mevcut olduğunu, FileMaker Pro'da mevcut olmadığını unutmayın.

Markus Schall 1994'ten beri Claris FileMaker tabanlı özelleştirilmiş veritabanları, arayüzler ve iş uygulamaları geliştirmektedir. Kendisi Claris ortağı, 2011 FMM Ödülü sahibi ve ERP yazılımı gFM-Business. Kendisi aynı zamanda bir kitap yazarı ve M. Schall Yayınevleri.



