Jump to content

Insertar un Formulario Google Drive en el CMS


Miguel.lopez

Recommended Posts

Hola 

 

Lo primero dar las gracias a quien se pare a leer el post.

 

Estoy intentando insertar un formulario Google drive en paginas CMS pero sin un iframe sino dando formato al google drive.

 

Dentro del theme en el cms.tpl entre:

<div class="rte{if $content_only} content_only{/if}">
{$cms->content}

</div>
{elseif isset($cms_category)}
<div class="block-cms">

Tengo insertado lo siguiente:

  <div style="border-color: #E51B24;border-width: 0px;border-style: solid;border-radius: 5px; padding: 2% 2%;margin: 0 auto;height: auto;width: 88%;min-width:260px">
  <p style="margin-bottom:32px;height:34px; text-align:left;verical-align:middle;">
  Si quieres más información sobre este servicio, rellena el siguiente formulario y tu gestor de cuentas se pondrá en contacto contigo:
  </p> 


  <script type="text/javascript">var submitted=false;</script>
<iframe name="hidden_iframe" id="hidden_iframe"
style="display:none;" onload="if(submitted)
{window.location='http://tienda-######.es';}"></iframe>
<form action="https://docs.google.com/a/########/forms/d/19iKX0h9y65-wMAYCc_atV1e4vr_n4w0XaSoIWGu0PdI/formResponse" method="post"
target="hidden_iframe" onsubmit="submitted=true;">
  
  <div>
  <input type="hidden" name="entry.845243651" value="{$cms->meta_title}" class="ss-q-short" id="entry_845243651" dir="auto" aria-label="Procendencia:  " title="" placeholder="  Procedencia">
  <input style="width: 94%;height: 45px;margin: 5px 0 10px 0; border-radius: 4px 4px 4px 4px; -moz-border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px 4px 4px 4px; border: 2px solid #d4d4d4; font-family: inherit; font-size:14px;" type="text" name="entry.319621880" value="" class="ss-q-short" id="entry_319621880" dir="auto" aria-label="Restaurante  " title=""  placeholder="  Nombre de tu restaurante" required>
  <input style="width: 94%;height: 45px;margin: 5px 0 10px 0; border-radius: 4px 4px 4px 4px; -moz-border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px 4px 4px 4px; border: 2px solid #d4d4d4; font-family: inherit; font-size:14px;" type="text" name="entry.1384844478" value="" class="ss-q-short" id="entry_1384844478" dir="auto" aria-label="Nombre y Apellido  " title=""  placeholder="  Nombre y Apellido"required>
  <input style="width: 94%;height: 45px;margin: 5px 0 10px 0; border-radius: 4px 4px 4px 4px; -moz-border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px 4px 4px 4px; border: 2px solid #d4d4d4; font-family: inherit; font-size:14px;" type="text" name="entry.1183084116" value="" class="ss-q-short" id="entry_1183084116" dir="auto" aria-label="Email  " title="" placeholder="  Correo electronico"required>
  <input style="width: 94%;height: 45px;margin: 5px 0 10px 0; border-radius: 4px 4px 4px 4px; -moz-border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px 4px 4px 4px; border: 2px solid #d4d4d4; font-family: inherit; font-size:14px;" type="text" name="entry.1481297951" value="" class="ss-q-short" id="entry_1481297951" dir="auto" aria-label="Teléfono:  " title="" placeholder="  Telefono"required>
  <textarea style="width: 94%;height: 120px;margin: 5px 0 10px 0; border-radius: 4px 4px 4px 4px; -moz-border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px 4px 4px 4px; border: 2px solid #d4d4d4; font-family: inherit; font-size:14px;"name="entry.1340541771" rows="8" cols="0" class="ss-q-long" id="entry_1340541771" dir="auto" aria-label="Comentarios:  "placeholder="  Comentarios"></textarea>
  <div>
  <input style="background: #fac54a; min-width:260px;height:50px;border-radius: 2px;border: 1px solid #fac54a;width:44%;margin:1%;font-size:20px;color: #333;" type="submit" name="submit" value="Enviar Formulario" id="ss-submit" class="jfk-button jfk-button-action ">
  </div>
  </div>
  </form>
  </div>

El error se da en el window.location que me da un error. 

 

Se que el codigo funciona fuera de prestashop pero de de prestashop en la version de la tienda 1.6 es donde me da el error.

 

¿Alguien sabe como se puede solventar este error?

Un saludo y gracias

 

 

Link to comment
Share on other sites

Prueba asi

	{literal}
		  <script type="text/javascript">var submitted=false;</script>
<iframe name="hidden_iframe" id="hidden_iframe"
style="display:none;" onload="if(submitted)
{window.location='http://tienda-######.es';}"></iframe>{/literal}
<form action="https://docs.google.com/a/########/forms/d/19iKX0h9y65-wMAYCc_atV1e4vr_n4w0XaSoIWGu0PdI/formResponse" method="post"
target="hidden_iframe" onsubmit="submitted=true;">
  
  <div>
  <input type="hidden" name="entry.845243651" value="{$cms->meta_title}" class="ss-q-short" id="entry_845243651" dir="auto" aria-label="Procendencia:  " title="" placeholder="  Procedencia">
  <input style="width: 94%;height: 45px;margin: 5px 0 10px 0; border-radius: 4px 4px 4px 4px; -moz-border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px 4px 4px 4px; border: 2px solid #d4d4d4; font-family: inherit; font-size:14px;" type="text" name="entry.319621880" value="" class="ss-q-short" id="entry_319621880" dir="auto" aria-label="Restaurante  " title=""  placeholder="  Nombre de tu restaurante" required>
  <input style="width: 94%;height: 45px;margin: 5px 0 10px 0; border-radius: 4px 4px 4px 4px; -moz-border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px 4px 4px 4px; border: 2px solid #d4d4d4; font-family: inherit; font-size:14px;" type="text" name="entry.1384844478" value="" class="ss-q-short" id="entry_1384844478" dir="auto" aria-label="Nombre y Apellido  " title=""  placeholder="  Nombre y Apellido"required>
  <input style="width: 94%;height: 45px;margin: 5px 0 10px 0; border-radius: 4px 4px 4px 4px; -moz-border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px 4px 4px 4px; border: 2px solid #d4d4d4; font-family: inherit; font-size:14px;" type="text" name="entry.1183084116" value="" class="ss-q-short" id="entry_1183084116" dir="auto" aria-label="Email  " title="" placeholder="  Correo electronico"required>
  <input style="width: 94%;height: 45px;margin: 5px 0 10px 0; border-radius: 4px 4px 4px 4px; -moz-border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px 4px 4px 4px; border: 2px solid #d4d4d4; font-family: inherit; font-size:14px;" type="text" name="entry.1481297951" value="" class="ss-q-short" id="entry_1481297951" dir="auto" aria-label="Teléfono:  " title="" placeholder="  Telefono"required>
  <textarea style="width: 94%;height: 120px;margin: 5px 0 10px 0; border-radius: 4px 4px 4px 4px; -moz-border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px 4px 4px 4px; border: 2px solid #d4d4d4; font-family: inherit; font-size:14px;"name="entry.1340541771" rows="8" cols="0" class="ss-q-long" id="entry_1340541771" dir="auto" aria-label="Comentarios:  "placeholder="  Comentarios"></textarea>
  <div>
  <input style="background: #fac54a; min-width:260px;height:50px;border-radius: 2px;border: 1px solid #fac54a;width:44%;margin:1%;font-size:20px;color: #333;" type="submit" name="submit" value="Enviar Formulario" id="ss-submit" class="jfk-button jfk-button-action ">
  </div>
  </div>
  </form>
  </div>	
  • Like 1
Link to comment
Share on other sites

esto esta mal :

onload="if(submitted)
{window.location='http://tienda-######.es';}"

quite las llaves ya que smarty esta tomando eso y no corresponde a una variable ni a una function de smarty,

seria algo asi la cosa.

onload="{literal}if(submitted)
window.location='http://tienda-######.es';{/literal}"

tambien puede escapar

<script type="text/javascript">var submitted=false;</script>

de esta manera:

<script type="text/javascript">{literal}var submitted=false;{/literal}</script>

aun que en este caso no es necesario ya que solo se deben escapar código que usan por defecto

{ o } 

como javascrtipt, css, etc. pues samarty interpreta los valores contenidos entre {} y se dan conflictos con códigos que también los utilizan... en fin algo así era el tema, no recuerdo mucha teoria

 

de todos modos no estoy seguro que le funcione, creo debera asignar la variable submitted de javascript a smarty luego llamarla desde el iframe, por que tal como esta el if del iframe esta en el aire, no es de smarty ni es de javascript, creo no estoy seguro.

saludos

 

PD: edito me habia olvidado advertirle que no es seguro emplear iframes, menos en una tienda, es mas muchos utilizar un codigo para evitar que una tienda sea cargada por iframe, y el uso dentro de la misma no es recomendable...

Edited by tamu secreto (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...