Descarga la app ahora y pruébala gratis durante 10 días
Moneda Seleccionar idioma Seleccionar región

Código PHP propio en el CMS de bluetronix

Con un acceso de desarrollador, puedes utilizar tu propio código PHP dentro de una página del CMS. Aquí, el código HTML de la página y tu código PHP trabajan juntos. Una variable central es $LayoutHTML: contiene el código HTML de la página actualmente generada durante el proceso de renderizado del sitio. Con PHP, puedes buscar, modificar y reemplazar contenidos dentro de ella.

Para tu propio código PHP, necesitas un acceso de desarrollador al CMS de bluetronix. Si aún no tienes un acceso de desarrollador, puedes solicitarlo por separado.

Abrir el código PHP de una página

Abre en la página deseada Código PHP para editar el código PHP de la página.

No utilizar etiquetas PHP adicionales

El código PHP ya es ejecutado por el CMS como código PHP. Por lo tanto, no debes usar etiquetas PHP adicionales en el editor de código PHP. Este formato no es necesario allí:

<?php print "Hello World"; ?>

Escribe tu instrucción PHP directamente:

print "Hello World";

Finalizar la ejecución de PHP con exit

Para probar, puedes ingresar las siguientes instrucciones, guardarlas y luego recargar la página:

print "Hello World";
exit();

En este ejemplo, solamente se muestra Hello World. Con exit(); finalizas la ejecución de PHP en este punto.

Con exit(); también se detiene el proceso de renderizado del sitio del CMS. El encabezado, el contenido real de la página, el pie de página y los pasos de procesamiento posteriores ya no se ejecutarán.

Salida de PHP dentro de la página normal

Si quitas exit(); y usas solo la siguiente instrucción, el proceso de renderizado continuará normalmente:

print "Hello World";

PHP primero muestra Hello World. Luego, la página del CMS se genera normalmente, incluyendo el encabezado, el contenido de la página y el pie de página. Sin embargo, para cambios directamente dentro de la página HTML, deberías trabajar preferiblemente con $LayoutHTML.

Editar HTML y PHP por separado

En el CMS de bluetronix, puedes mantener por separado el Código HTML y el Código PHP de una página. Esto mantiene la estructura HTML editables en el editor, mientras que la lógica del programa se encuentra en el área PHP.

Definir marcadores propios en HTML

Define en el código HTML un marcador de posición que tu código PHP reemplazará más tarde. Un ejemplo simple es:

__MyText__

Utiliza nombres en inglés para tus propios marcadores de posición, incluso en sitios web de habla alemana. Así la nomenclatura se mantiene comprensible y uniforme a nivel internacional.

Otras posibles denominaciones son:

__CustomerName__
__ProductPrice__
__CurrentDate__

Reemplazar marcadores con $LayoutHTML

Con str_replace() puedes buscar el marcador de posición en el código HTML actual y reemplazarlo por el contenido que desees:

$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);

El CMS busca en $LayoutHTML __MyText__ y reemplaza el marcador de posición por Mi Texto.

Combinar HTML y marcadores

Puedes usar el marcador de posición dentro de tu estructura HTML normal. Por ejemplo, inserta el siguiente código en la sección HTML:

<h1>__MyText__</h1>

En la sección PHP, añades el reemplazo:

$LayoutHTML = str_replace("__MyText__","Meine Überschrift",$LayoutHTML);

Durante el proceso de renderización, esto se convierte en:

<h1>Meine Überschrift</h1>

Varios marcadores en una sección de la página

El mismo principio funciona en áreas HTML más extensas. Puedes definir, por ejemplo, el título y la descripción como marcadores de posición por separado:

<section>
   <div class="container">
      <h2>__MyHeadline__</h2>
      <p>__MyDescription__</p>
   </div>
</section>

En el código PHP, estableces ambos contenidos de manera independiente:

$LayoutHTML = str_replace("__MyHeadline__","Unsere Leistungen",$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__","Hier finden Sie eine Übersicht unserer Leistungen.",$LayoutHTML);

El código HTML final contendrá los textos insertados en lugar de los dos marcadores de posición:

<section>
   <div class="container">
      <h2>Unsere Leistungen</h2>
      <p>Hier finden Sie eine Übersicht unserer Leistungen.</p>
   </div>
</section>

Separar en lo posible la estructura HTML y la lógica PHP

Técnicamente, puedes insertar estructuras HTML completas directamente con PHP en $LayoutHTML:

$LayoutHTML = str_replace("__MyContent__","<h2>Meine Überschrift</h2><p>Mein Text</p>",$LayoutHTML);

Sin embargo, para contenidos más grandes es útil mantener el HTML como una estructura editable en la sección HTML y trabajar con marcadores de posición. Ejemplo del código HTML:

<section>
   <h2>__MyHeadline__</h2>
   <p>__MyText__</p>
</section>

El código PHP correspondiente reemplaza solo los valores necesarios:

$LayoutHTML = str_replace("__MyHeadline__","Meine Überschrift",$LayoutHTML);
$LayoutHTML = str_replace("__MyText__","Mein Text",$LayoutHTML);

El cliente final puede así modificar los márgenes a través del editor CMS normal, editar títulos, mover áreas HTML, ajustar diseños y editar secciones de páginas sin necesidad de alterar la lógica de programación PHP.

Definir funciones PHP propias

Dentro del código PHP, puedes crear tus propias funciones. Por ejemplo:

function MyExampleFunction() {
   return "Hello World";
}

Ten en cuenta que una función no debe definirse varias veces durante una llamada a la página. Esto puede ocurrir si el mismo nombre de función se usa simultáneamente en la página principal, en el encabezado, en un módulo incluido, en una sección de página o en el pie de página.

Elige nombres lo más específicos posible para tus propias funciones PHP. Una definición de función duplicada provoca un error en PHP.

Un nombre de función específico del proyecto podría verse así:

function MyProjectCreateCustomerText() {
   return "Customer";
}

Verificar funciones existentes antes de una definición de función

Alternativamente, puedes usar function_exists() para comprobar si la función en cuestión ya ha sido definida:

if(!function_exists("MyProjectCreateCustomerText")) {
   function MyProjectCreateCustomerText() {
      return "Customer";
   }
}

Utilizar funciones PHP de bluetronix

En la sección del código PHP, también puedes usar las funciones PHP proporcionadas por el CMS bluetronix. Un ejemplo es el envío de correos electrónicos a través del sistema SMTP de bluetronix con BlueSMTPMail():

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$ImageInMail,$MailPlaceholderReplacement,$FormEntry);

Los parámetros necesarios se pueden establecer dentro de tu código PHP, por ejemplo:

$From        = "info@example.com";
$To          = "customer@example.com";
$Subject     = "Test E-Mail";
$TextContent = "Hello World";

Luego, puedes utilizar la función central para el envío de correos electrónicos. Para una llamada completa, también es necesario establecer correctamente los demás parámetros requeridos. Así no es necesario programar nuevamente las funciones básicas del CMS, como el envío SMTP.

Resumen

El propio código PHP se ejecuta directamente por el CMS bluetronix; no se requieren etiquetas PHP adicionales en el editor de Código PHP. $LayoutHTML contiene el código HTML de la página generada actualmente y te permite reemplazar tus propios marcadores de posición por contenidos dinámicos.

Crea tu estructura HTML principalmente en la sección HTML y reemplaza los marcadores de posición a través de PHP. De este modo, el cliente final podrá seguir editando el diseño más tarde con el editor CMS normal, mientras que la lógica de programación permanece separada.

Preguntas Frecuentes

lo que los clientes nos preguntan con frecuencia

¿Necesito acceso de desarrollador para mi propio código PHP?

Sí. Para usar tu propio código PHP dentro de una página de CMS, necesitas acceso de desarrollador al CMS de bluetronix.

¿Dónde encuentro el código PHP del ejemplo?

Abre la página de ejemplo en Módulos → Ejemplo PHP y selecciona Código PHP.

¿Debo ingresar <?php y ?> en el editor de código PHP?

No. El editor ya ejecuta las instrucciones ingresadas como código PHP. Escribes tus instrucciones directamente, por ejemplo, print "Hello World";.

¿Qué pasa si uso exit;?

exit; termina la ejecución de PHP en ese punto. Esto también detiene el proceso de renderizado de la página del CMS; el encabezado, el contenido de la página y el pie de página ya no se generarán.

¿Para qué se utiliza $LayoutHTML?

$LayoutHTML contiene el código HTML de la página que se está generando durante el proceso de renderizado. Con PHP, puedes buscar contenido allí y, por ejemplo, reemplazar marcadores de posición con str_replace().

¿Cómo inserto contenido dinámico en mi HTML?

Inserta __MyText__ en el código HTML y reemplaza ese marcador de posición en el código PHP con str_replace() dentro de $LayoutHTML.

¿Puedo combinar marcadores de posición PHP con la traducción automática?

Sí. Puedes usar marcadores de posición PHP y marcas de traducción como Nuestros Servicios conjuntamente. La traducción se realizará más tarde durante el proceso de renderizado.

¿Por qué debo mantener HTML y PHP separados?

De esta manera, el cliente final podrá editar el diseño HTML más tarde con el editor normal, mientras que la lógica del programa permanece separada en el área de PHP.

¿Cómo evito funciones PHP definidas duplicadas?

Usa nombres de funciones únicos. También puedes verificar si una función ya existe antes de una definición con function_exists().

¿Puedo usar funciones PHP de bluetronix existentes?

Sí. También hay funciones del CMS disponibles en el área de código PHP, como BlueSMTPMail() para el envío de correo electrónico. Debes configurar los parámetros requeridos accordingly.

CMS