Creación de landing pages

VonCrusher

Buenas.

Me ha surgido un proyecto en el que quieren poder generar landing pages desde el backend, pero no sé muy bien como afrontar esta tarea.

Tenía pensado crear X plantillas, que ellos puedan crear un contenido que se guarde en base de datos y luego cargar el contenido en las plantillas, pero no creo que sea lo más efectivo ni idóneo. Como haríais para que luego esas landings sean accesibles?

El back estará hecho sobre Laravel y en el front simplemente HTML5 con Jquery

Traber

Depende, según lo que quieras hacer, puedes enfocarlo de varias maneras:

  • Tienes un editor WYSIWYG y simplemente metes en el contenido de la plantilla lo que los usuarios editen en base de datos.
  • Tienes un editor de página con una serie de campos que son variables en la plantilla.

Depende de cómo quieras enfocarlo, así podrás hacerlo.

1 1 respuesta
VonCrusher

#2

Sí, más o menos lo que tenía en mente.

Y la hora de dar de alta esas páginas? Quiero decir, cuando el usuario guarde ese contenido.. ¿Debería generar mediante cógido un nuevo archivo .php con la estructura de la plantilla y las variables no?

1 respuesta
Traber

#3 Según lo que creo haber entendido, debería ir en base de datos, no en un fichero .php, en todo caso cada tipo de plantilla sí puede ir en un .php diferente, pero cada página (con esas variables ya definidas) debería ir en base de datos guardado.

APOCa

Se puede renderizar una plantilla blade guardada en la bbdd? Por curiosidad, no he tocado laravel nunca

1 respuesta
Traber

#5 Creo que te estás liando, por una parte va la plantilla, que es un fichero .php con una serie de variables definidas, en base de datos almacenas la configuración, que es un array con esas variables y sus valores, y luego el procesador de la plantilla renderiza ese fichero .php con esas variables, no he tocado laravel nunca, pero cualquier motor de plantillas básico tiene sus ficheros de plantilla con una sintaxis tipo {{variable}} o incluso con <?= $variable ?> y que simplemente hagas algo como esto para hacerlo funcionar:

$pagina = $motor_de_plantillas->render('/plantillas/plantilla.php', $variables);

En todo caso, lo que sí podrías hacer es guardar las plantillas y la configuración en base de datos, y pasarle directamente la variable con el texto de la plantilla (no la ruta al fichero) al motor de renderizado, aunque como digo, nunca he utilizado Laravel ni se cómo funciona el motor de renderizado, más no te puedo decir ;(

APOCa

No si el funcionamiento basico me lo imagino. Hay motores que si permiten rederizar desde string por eso pregunto.

1 respuesta
MisKo

#7 Básicamente, lo que te ha dicho Traber:

https://laravel.com/docs/5.5/blade


 

APOCa

Si vamos eso lo hacen todos. Solo preguntaba por si blade permitia desde string (sin hacer evals ni guarradas).

1 respuesta
MisKo

#9 Si quieres guardar la plantilla en ddbb , con https://github.com/TerrePorter/StringBladeCompiler y despues con un código del tipo

return view (['template' => '{{$nick}}'], ['nick' => 'APOCa']);

o por ejemplo

$mi_plantilla_en_string = '{{$nick}}';
return view (['template' => $mi_plantilla_en_string], ['nick' => 'APOCa']);

te debería de valer.

De todas formas, lo único que debería de cambiar de una plantilla son las variables que ésta contenga, por lo que lo ideal sería q estén en un archivo y se lo indiques directamente a laravel pasandole las variables

1
1 año después
B

¿Alguien conce alguna alternativa gratuita a Instapages? Es muy buena pero para uso esporádico no voy a pagar al mes lo que cuesta. ¿Algo similar gratis?

1 respuesta
Troyer

#11 yo tiro de wordpress + random template de landing page, en 1h la tengo echa y live.

Total, es temporal.

Usuarios habituales