
Acceso al servidor MySQL con el plugin MBS
Todas las bases de datos de una instalación de WordPress se encuentran en una base de datos MySQL del servidor web correspondiente. Para poder acceder externamente a la base de datos, ésta debe estar autorizada para el acceso externo. Por lo general, esta configuración puede realizarse en el backend del proveedor del servidor.
Para acceder directamente a las bases de datos del servidor web, es necesario utilizar el plugin FileMaker de MBS, ya que FileMaker no permite acceder directamente a las bases de datos con las herramientas integradas. SQL-servidor. El plugin MBS puede instalarse en el Sitio web de Monkeybread Software y se puede descargar una versión demo gratuita. Para permitir el acceso a las bases de datos mySQL, la biblioteca MySQL (libmysql.18.dylib o libMySQL.dll) también debe estar ubicada en el directorio de bases de datos.
WordPress, Contact Form 7 y Flamingo
Para proporcionar formularios para la entrada de usuarios en un sitio web basado en WordPress, utilice el plugin Formulario de contacto 7. Para guardar las entradas del formulario, instale también la extensión Flamingo del mismo fabricante. Ambos plugins también se pueden instalar y activar directamente en el repositorio de WordPress dentro del backend de WordPress.
En el backend de WordPress, vaya a la opción de menú [Formularios] y cree un nuevo formulario para su sitio web. Como Flamingo guarda automáticamente todas las entradas de formularios, no tiene que hacer nada más que crear un nuevo formulario.
Flamingo guarda todos los registros de datos internamente en el archivo Cuadro "wp_posts" con el tipo de entrada "flamingo-inbound" y no crea su propia tabla en la base de datos de WordPress. En nuestra pequeña solución de ejemplo, todos los registros de datos se importan de la tabla "wp_posts" con el tipo de entrada "flamingo-inbound". Dado que los registros de datos están simplemente separados por Flamingo mediante un salto de línea, podemos extraer fácilmente el contenido del campo mediante la función de FileMaker "GetValue".
En principio, también se pueden importar otros registros de datos de la base de datos de WordPress especificando un tipo de entrada diferente. Los datos podrían entonces almacenarse en el directorio [post_content] pueden tener un formato diferente. En nuestra solución de ejemplo, nos limitaremos a WordPress con Contact Form 7 y Flamingo, que simplemente escribe el contenido del campo una línea debajo de la otra.
Tamiz de la solución de muestra
En la base de datos de ejemplo, la columna de la izquierda contiene todos los campos para definir su base de datos de WordPress con todos los campos obligatorios.
Introduzca los siguientes datos en los campos para poder importar datos de su instalación de WordPress a FileMaker. Todos los datos pueden encontrarse también en el archivo "wp-config.php", que se encuentra en el directorio raíz de su instalación de WordPress.
- Dirección del servidor (Anfitrión)URL bajo la que es accesible su servidor, en la que se encuentra la base de datos para WordPress. Nota: Para poder acceder externamente a la base de datos, la base de datos correspondiente debe estar autorizada para el acceso externo. Esta configuración puede realizarse normalmente en el backend del proveedor del servidor.
- Base de datos: Nombre de la base de datos en la que se encuentran todas las tablas de WordPress con el prefijo "wp_".
- Nombre de usuarioNombre de usuario para acceder a la base de datos.
- contraseñaContraseña para acceder a la base de datos.
- Post-TypeEn nuestro ejemplo utilizamos el tipo de entrada "flamingo_inbound". En principio, también se pueden importar otros registros de datos de la base de datos de WordPress especificando un tipo de entrada diferente.
Definiciones de campo de la solución de muestra
Nuestra solución de ejemplo utiliza dos tablas:
- AjustesContiene todos los campos para la configuración del servidor como campos globales
- FormulariosContiene todos los campos de los formularios importados
No es necesaria una relación entre las dos tablas porque todos los campos de configuración se han definido globalmente.
La mesa [Formularios] contiene un campo de texto calculado con el cálculo para cada campo de destino:
- GetValue (post_content; x)
El marcador de posición [x] en este caso significa el número de la entrada. Como todas las entradas generadas por Flamingo en el campo [post_content] se separan con un retorno de carro, los campos pueden extraerse fácilmente utilizando la función "GetValue".
Guiones en la solución de muestra
La solución de ejemplo contiene dos scripts: Uno Guión para establecer una conexión con el servidor de bases de datos MySQL y un script que puede ejecutarse a través de la aplicación [Importación de datos] se ejecuta. El script parcial [ts.MySQL_OpenDatabase] se utiliza al principio del script principal [sf.MySQL_Import_wp_posts] llamada.
- Si [NOT IsEmpty(Settings::wp_Database) AND NOT IsEmpty(...)]
Consulta si se han rellenado todos los campos de configuración.
- Ejecutar script ["ts.MySQL_OpenDatabase"]
Ejecuta el script parcial para abrir una conexión de base de datos con el servidor MySQL. El script parcial devuelve un número para la conexión.
- Variable set [$Connection; value:Get(ScriptResult)]
Escribe el número devuelto de la conexión en la variable $Connection
- Establecer variable [$Command; value:MBS("SQL.NewCommand"; $Connection; "SELECT * FROM wp_posts...)].
Genera una consulta SQL sobre la tabla [wp_posts] con restricción al tipo de puesto, que se introduce en el campo [Post-Type] (en nuestro caso "flamingo-inbound").
- Establecer variable [$result; Value:MBS("SQL.Execute"; $Command)]
Ejecuta en el servidor la consulta SQL indicada anteriormente.
- Bucle (inicio)
- Establecer variable [$result; Value:MBS("SQL.FetchNext"; $Command)].
- Salir del bucle si [$resultado ≠ 1]
- Nuevo registro de datos/consulta
- Establecer valor de campo [Forms::post_date; MBS("SQL.GetFieldAsDateTime"; $command; "post_date")]
- Establecer valor de campo [Forms::post_content; MBS("SQL.GetFieldAsText"; $command; "post_content")]
- Establecer valor de campo [Forms::post_type; MBS("SQL.GetFieldAsText"; $command; "post_type")]
- Establecer valor de campo [Forms::ID; MBS("SQL.GetFieldAsNumber"; $command; "ID")]
- Escribir datos de modificación/consulta [Sin cuadro de diálogo].
- Bucle (fin)
Bucle de ejecución en el que se crea un nuevo registro de datos y el servidor de base de datos escribe todos los valores de campo en los campos creados.
Descargar base de datos de ejemplo FileMaker (.fmp12)
Cómo transferir secuencias de comandos del archivo de ejemplo a su solución
Los guiones se pueden transferir fácilmente de una solución FileMaker a otra a través del portapapeles. Sólo tiene que abrir el cuadro de diálogo Gestionar guionesseleccione el guión deseado con el ratón y cópielo en el portapapeles mediante el menú [Editar - Copiar] o combinación de teclas [Ctrl/Cmd-C]. A continuación, abra el mismo cuadro de diálogo en la solución de destino y simplemente pegue el script previamente copiado utilizando el comando de menú [Editar - Pegar] otra vez.
Para transferir tablas del archivo de ejemplo a su solución
Las tablas pueden insertarse en una solución existente de varias maneras. La forma más sencilla es importar la tabla utilizando la función [Importar...] en diálogo Gestionar la base de datos. Todas las tablas que deben importarse de la solución de origen pueden seleccionarse en un diálogo posterior. Por lo tanto, este método es especialmente adecuado si deben importarse varias tablas al mismo tiempo. Si sólo debe importarse una tabla, también puede hacerse a través del portapapeles como un script. Si se desea importar una tabla que incluya todos los datos, puede hacerse con el comando [Archivo > Importar registros de datos > Archivo] en el diálogo de importación. En el cuadro de diálogo de importación, la tabla de destino debe ser Nueva mesa debe especificarse.
Para transferir listas de valores del archivo de ejemplo a su solución
Las listas de valores se pueden importar fácilmente de una solución FileMaker a otra a través del portapapeles. Basta con abrir el cuadro de diálogo en [Archivo > Gestionar > Listas de valores]seleccione el Lista de valores con el ratón y copiar la lista de valores al portapapeles mediante el menú [Editar - Copiar] o combinación de teclas [Ctrl/Cmd-C]. A continuación, abra el mismo cuadro de diálogo en la solución de destino y pegue la lista de valores copiada anteriormente mediante el comando de menú [Editar - Pegar] otra vez.
Cómo transferir sus propias funciones del archivo de ejemplo a su solución
En el diálogo [Archivo > Gestionar > Funciones propias...] en el botón [Import] y, a continuación, seleccione el archivo de muestra. Seleccione las funciones personalizadas deseadas en el siguiente cuadro de diálogo y confirme el cuadro de diálogo. Tenga en cuenta que esta función sólo está disponible en FileMaker Pro Advanced, pero no en FileMaker Pro.

Markus Schall lleva desarrollando bases de datos personalizadas, interfaces y aplicaciones empresariales basadas en Claris FileMaker desde 1994. Es socio de Claris, ganador del premio FMM Award 2011 y desarrollador de la. Software ERP gFM-Business. También es autor de libros y fundador del M. Schall Editores.



