Jump to content

(SOLUCIONADO) Cambiar lugar "Personalización del producto"


Recommended Posts

Hola, estoy poniendo campos personalizados obligatorios de rellenar en las páginas de los productos.

 

Otras tiendas con Prestashop, veo que sale el apartado Personalizar y debajo la información.

 

001personalizar.jpg

 

 

 

 

 

Sin embargo, a mi me aparece en otra pestaña.

 

 

 

 

001personalizaryo.jpg

 

¿Cómo podría ponerlo igual? Ya que en la pestaña la gente no se fija...

 

 

Por otra parte, en mi caso los cuadros de texto salen muy grandes y me gustaría dejarlos en una línea, ¿cómo se hace?

 

 

001personalizaryo2.jpg

 

Un saludo!

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

Vamos por partes,

 

Para dejar el bloque de personalizacion, encima de las pestañas donde se muestra la informacion del producto, vamos al fichero:

 

/themes/tu-plantilla/product.tpl

 

Buscamos esto:

 

 {if isset($product) && $product->customizable}<li><a href="#idTab10">{l s='Product customization'}</a></li>{/if}

 

y lo dejamos asi:

 

<!--  {if isset($product) && $product->customizable}<li><a href="#idTab10">{l s='Product customization'}</a></li>{/if} -->

 

Despues en el mismo fichero, buscamos esto:

 

<!-- Customizable products -->
{if isset($product) && $product->customizable}
 <div id="idTab10" class="bullet customization_block">
  <form method="post" action="{$customizationFormTarget}" enctype="multipart/form-data" id="customizationForm" class="clearfix">
   <p class="infoCustomizable">
 {l s='After saving your customized product, remember to add it to your cart.'}
 {if $product->uploadable_files}<br />{l s='Allowed file formats are: GIF, JPG, PNG'}{/if}
   </p>
   {if $product->uploadable_files|intval}
   <div class="customizableProductsFile">
 <h3>{l s='Pictures'}</h3>
 <ul id="uploadable_files" class="clearfix">
  {counter start=0 assign='customizationField'}
  {foreach from=$customizationFields item='field' name='customizationFields'}
   {if $field.type == 0}
    <li class="customizationUploadLine{if $field.required} required{/if}">{assign var='key' value='pictures_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field}
	 {if isset($pictures.$key)}
	 <div class="customizationUploadBrowse">
	  <img src="{$pic_dir}{$pictures.$key}_small" alt="" />
	  <a href="{$link->getProductDeletePictureLink($product, $field.id_customization_field)}" title="{l s='Delete'}" >
	   <img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" class="customization_delete_icon" width="11" height="13" />
	  </a>
	 </div>
	 {/if}
	 <div class="customizationUploadBrowse">
	  <label class="customizationUploadBrowseDescription">{if !empty($field.name)}{$field.name}{else}{l s='Please select an image file from your computer'}{/if}{if $field.required}<sup>*</sup>{/if}</label>
	  <input type="file" name="file{$field.id_customization_field}" id="img{$customizationField}" class="customization_block_input {if isset($pictures.$key)}filled{/if}" />
	 </div>
    </li>
    {counter}
   {/if}
  {/foreach}
 </ul>
   </div>
   {/if}
   {if $product->text_fields|intval}
   <div class="customizableProductsText">
 <h3>{l s='Text'}</h3>
 <ul id="text_fields">
 {counter start=0 assign='customizationField'}
 {foreach from=$customizationFields item='field' name='customizationFields'}
  {if $field.type == 1}
  <li class="customizationUploadLine{if $field.required} required{/if}">
   <label for ="textField{$customizationField}">{assign var='key' value='textFields_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field} {if !empty($field.name)}{$field.name}{/if}{if $field.required}<sup>*</sup>{/if}</label>
   <textarea type="text" name="textField{$field.id_customization_field}" id="textField{$customizationField}" rows="1" cols="40" class="customization_block_input" />{if isset($textFields.$key)}{$textFields.$key|stripslashes}{/if}</textarea>
  </li>
  {counter}
  {/if}
 {/foreach}
 </ul>
   </div>
   {/if}
   <p id="customizedDatas">
 <input type="hidden" name="quantityBackup" id="quantityBackup" value="" />
 <input type="hidden" name="submitCustomizedDatas" value="1" />
 <input type="button" class="button" value="{l s='Save'}" onclick="javascript:saveCustomization()" />
 <span id="ajax-loader" style="display:none"><img src="{$img_ps_dir}loader.gif" alt="loader" /></span>
   </p>
  </form>
  <p class="clear required"><sup>*</sup> {l s='required fields'}</p>
 </div>
{/if}

 

y lo dejamos justo debajo de:

 

{if isset($HOOK_PRODUCT_FOOTER) && $HOOK_PRODUCT_FOOTER}{$HOOK_PRODUCT_FOOTER}{/if}

  • Like 2
Link to comment
Share on other sites

¿Como reducir la altura del campo de texto?

 

Fichero:

 

http://victor-rodenas.com/1.5.4/themes/default/css/product.css

 

Buscamos esto:

 

.customizationUploadLine textarea {
height: 50px;
width: 300px;
border: 1px solid #ccc;
}

 

y lo dejamos asi:

 

.customizationUploadLine textarea {
height: 17px;
width: 300px;
border: 1px solid #ccc;
}

  • Like 1
Link to comment
Share on other sites

Si, muchas gracias :)

 

Ahora lo pruebo que el servidor está a tope con toda la caña que le estoy dando y va muy lento. Me está saliendo mucho Error 500 cuando ayer no pasaba, espero que sea algo temporal.

 

En cuanto lo pueda hacer te comento.

Link to comment
Share on other sites

Vale genial!! El módulo me lo colocaba un poco raro y al final lo he hecho manualmente

 

¿Y sabes dónde se puede cambiar el aviso "Después de guardar su producto personalizado, no olvide añadirlo a su carrito." y que encima de los campos lo que pone "Texto" poner otra cosa.

 

Muchas gracias!!

Link to comment
Share on other sites

Vale genial!! El módulo me lo colocaba un poco raro y al final lo he hecho manualmente

 

¿Y sabes dónde se puede cambiar el aviso "Después de guardar su producto personalizado, no olvide añadirlo a su carrito." y que encima de los campos lo que pone "Texto" poner otra cosa.

 

Muchas gracias!!

 

Sino me falla la memoria, creo que en la pestaña Localizacion -> Traducciones -> Traducciones del Front-Office

Link to comment
Share on other sites

Perfecto, he tenido que verme otros posts para ver como arreglar lo del php.ini ya que no me dejaba editar y ya está, creando el archivo al directorio de administración y poniendo "max_input_vars=6000;"

 

Gracias!!

Link to comment
Share on other sites

Perfecto, he tenido que verme otros posts para ver como arreglar lo del php.ini ya que no me dejaba editar y ya está, creando el archivo al directorio de administración y poniendo "max_input_vars=6000;"

 

Gracias!!

 

Perfecto !

 

Gracias por confiar en la Comunidad de Prestashop !

 

Para cualquier otra duda, no dudes en abrir un tema nuevo en el foro !

 

Un Saludo

Link to comment
Share on other sites

  • 4 weeks later...

Vamos por partes,

 

Para dejar el bloque de personalizacion, encima de las pestañas donde se muestra la informacion del producto, vamos al fichero:

 

/themes/tu-plantilla/product.tpl

 

Buscamos esto:

 

 {if isset($product) && $product->customizable}<li><a href="#idTab10">{l s='Product customization'}</a></li>{/if}

 

y lo dejamos asi:

 

<!--  {if isset($product) && $product->customizable}<li><a href="#idTab10">{l s='Product customization'}</a></li>{/if} -->

 

Despues en el mismo fichero, buscamos esto:

 

<!-- Customizable products -->
{if isset($product) && $product->customizable}
 <div id="idTab10" class="bullet customization_block">
  <form method="post" action="{$customizationFormTarget}" enctype="multipart/form-data" id="customizationForm" class="clearfix">
<p class="infoCustomizable">
 {l s='After saving your customized product, remember to add it to your cart.'}
 {if $product->uploadable_files}<br />{l s='Allowed file formats are: GIF, JPG, PNG'}{/if}
</p>
{if $product->uploadable_files|intval}
<div class="customizableProductsFile">
 <h3>{l s='Pictures'}</h3>
 <ul id="uploadable_files" class="clearfix">
  {counter start=0 assign='customizationField'}
  {foreach from=$customizationFields item='field' name='customizationFields'}
   {if $field.type == 0}
	<li class="customizationUploadLine{if $field.required} required{/if}">{assign var='key' value='pictures_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field}
	 {if isset($pictures.$key)}
	 <div class="customizationUploadBrowse">
	  <img src="{$pic_dir}{$pictures.$key}_small" alt="" />
	  <a href="{$link->getProductDeletePictureLink($product, $field.id_customization_field)}" title="{l s='Delete'}" >
	   <img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" class="customization_delete_icon" width="11" height="13" />
	  </a>
	 </div>
	 {/if}
	 <div class="customizationUploadBrowse">
	  <label class="customizationUploadBrowseDescription">{if !empty($field.name)}{$field.name}{else}{l s='Please select an image file from your computer'}{/if}{if $field.required}<sup>*</sup>{/if}</label>
	  <input type="file" name="file{$field.id_customization_field}" id="img{$customizationField}" class="customization_block_input {if isset($pictures.$key)}filled{/if}" />
	 </div>
	</li>
	{counter}
   {/if}
  {/foreach}
 </ul>
</div>
{/if}
{if $product->text_fields|intval}
<div class="customizableProductsText">
 <h3>{l s='Text'}</h3>
 <ul id="text_fields">
 {counter start=0 assign='customizationField'}
 {foreach from=$customizationFields item='field' name='customizationFields'}
  {if $field.type == 1}
  <li class="customizationUploadLine{if $field.required} required{/if}">
   <label for ="textField{$customizationField}">{assign var='key' value='textFields_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field} {if !empty($field.name)}{$field.name}{/if}{if $field.required}<sup>*</sup>{/if}</label>
   <textarea type="text" name="textField{$field.id_customization_field}" id="textField{$customizationField}" rows="1" cols="40" class="customization_block_input" />{if isset($textFields.$key)}{$textFields.$key|stripslashes}{/if}</textarea>
  </li>
  {counter}
  {/if}
 {/foreach}
 </ul>
</div>
{/if}
<p id="customizedDatas">
 <input type="hidden" name="quantityBackup" id="quantityBackup" value="" />
 <input type="hidden" name="submitCustomizedDatas" value="1" />
 <input type="button" class="button" value="{l s='Save'}" onclick="javascript:saveCustomization()" />
 <span id="ajax-loader" style="display:none"><img src="{$img_ps_dir}loader.gif" alt="loader" /></span>
</p>
  </form>
  <p class="clear required"><sup>*</sup> {l s='required fields'}</p>
 </div>
{/if}

 

y lo dejamos justo debajo de:

 

{if isset($HOOK_PRODUCT_FOOTER) && $HOOK_PRODUCT_FOOTER}{$HOOK_PRODUCT_FOOTER}{/if}

 

Hola amigos. He seguido con mucho interés este post porque a mí tampoco me va el módulo sugerido y me decanté por la opción manual:

seguí escrupulosamente los pasos del maestro Nadie pero el campo de personalización me aparece abajo de todo :blink:

 

 

Hice (o entendí) algo mal?

 

Saludos

 

 

 

941840_262934010519622_1593632223_n.jpg

Link to comment
Share on other sites

Hola Virginia CCustom, no viene al tema. Pero por curiosidad no serás de Carolina Custom?

 

Saludos

 

No, no viene al tema, pero no pasa nada :) No tengo nada que ver con la empresa que mencionas.

 

Un cordial saludo

 

(... sigo sin saber muy bien cómo llevar el campo arriba :unsure: )

Link to comment
Share on other sites

Hola amigos. He seguido con mucho interés este post porque a mí tampoco me va el módulo sugerido y me decanté por la opción manual:

seguí escrupulosamente los pasos del maestro Nadie pero el campo de personalización me aparece abajo de todo :blink:

 

 

Hice (o entendí) algo mal?

 

Saludos

 

 

 

941840_262934010519622_1593632223_n.jpg

 

LOL, eso sera por que el hook_footer lo tienes al final del fichero.

 

Esta explicacion de Nadie, esta basada en la plantilla por defecto, sin tocar nada, y claro tu has metido esto debajo del hook_footer, pero tu hook_footer esta al final del fichero, no a mitad.

 

Pero por curiosidad no serás de Carolina Custom?

 

Saludos

 

¿Eso que es? ¿Una tienda de ropa?

Link to comment
Share on other sites

LOL, eso sera por que el hook_footer lo tienes al final del fichero.

 

Esta explicacion de Nadie, esta basada en la plantilla por defecto, sin tocar nada, y claro tu has metido esto debajo del hook_footer, pero tu hook_footer esta al final del fichero, no a mitad.

 

 

 

¿Eso que es? ¿Una tienda de ropa?

 

 

Ok, gracias por la info. Saludos

Link to comment
Share on other sites

Vamos por partes,

 

Para dejar el bloque de personalizacion, encima de las pestañas donde se muestra la informacion del producto, vamos al fichero:

 

/themes/tu-plantilla/product.tpl

 

Buscamos esto:

 

 {if isset($product) && $product->customizable}<li><a href="#idTab10">{l s='Product customization'}</a></li>{/if}

 

y lo dejamos asi:

 

<!--  {if isset($product) && $product->customizable}<li><a href="#idTab10">{l s='Product customization'}</a></li>{/if} -->

 

Despues en el mismo fichero, buscamos esto:

 

<!-- Customizable products -->
{if isset($product) && $product->customizable}
 <div id="idTab10" class="bullet customization_block">
  <form method="post" action="{$customizationFormTarget}" enctype="multipart/form-data" id="customizationForm" class="clearfix">
<p class="infoCustomizable">
 {l s='After saving your customized product, remember to add it to your cart.'}
 {if $product->uploadable_files}<br />{l s='Allowed file formats are: GIF, JPG, PNG'}{/if}
</p>
{if $product->uploadable_files|intval}
<div class="customizableProductsFile">
 <h3>{l s='Pictures'}</h3>
 <ul id="uploadable_files" class="clearfix">
  {counter start=0 assign='customizationField'}
  {foreach from=$customizationFields item='field' name='customizationFields'}
   {if $field.type == 0}
	<li class="customizationUploadLine{if $field.required} required{/if}">{assign var='key' value='pictures_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field}
	 {if isset($pictures.$key)}
	 <div class="customizationUploadBrowse">
	  <img src="{$pic_dir}{$pictures.$key}_small" alt="" />
	  <a href="{$link->getProductDeletePictureLink($product, $field.id_customization_field)}" title="{l s='Delete'}" >
	   <img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" class="customization_delete_icon" width="11" height="13" />
	  </a>
	 </div>
	 {/if}
	 <div class="customizationUploadBrowse">
	  <label class="customizationUploadBrowseDescription">{if !empty($field.name)}{$field.name}{else}{l s='Please select an image file from your computer'}{/if}{if $field.required}<sup>*</sup>{/if}</label>
	  <input type="file" name="file{$field.id_customization_field}" id="img{$customizationField}" class="customization_block_input {if isset($pictures.$key)}filled{/if}" />
	 </div>
	</li>
	{counter}
   {/if}
  {/foreach}
 </ul>
</div>
{/if}
{if $product->text_fields|intval}
<div class="customizableProductsText">
 <h3>{l s='Text'}</h3>
 <ul id="text_fields">
 {counter start=0 assign='customizationField'}
 {foreach from=$customizationFields item='field' name='customizationFields'}
  {if $field.type == 1}
  <li class="customizationUploadLine{if $field.required} required{/if}">
   <label for ="textField{$customizationField}">{assign var='key' value='textFields_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field} {if !empty($field.name)}{$field.name}{/if}{if $field.required}<sup>*</sup>{/if}</label>
   <textarea type="text" name="textField{$field.id_customization_field}" id="textField{$customizationField}" rows="1" cols="40" class="customization_block_input" />{if isset($textFields.$key)}{$textFields.$key|stripslashes}{/if}</textarea>
  </li>
  {counter}
  {/if}
 {/foreach}
 </ul>
</div>
{/if}
<p id="customizedDatas">
 <input type="hidden" name="quantityBackup" id="quantityBackup" value="" />
 <input type="hidden" name="submitCustomizedDatas" value="1" />
 <input type="button" class="button" value="{l s='Save'}" onclick="javascript:saveCustomization()" />
 <span id="ajax-loader" style="display:none"><img src="{$img_ps_dir}loader.gif" alt="loader" /></span>
</p>
  </form>
  <p class="clear required"><sup>*</sup> {l s='required fields'}</p>
 </div>
{/if}

 

y lo dejamos justo debajo de:

 

{if isset($HOOK_PRODUCT_FOOTER) && $HOOK_PRODUCT_FOOTER}{$HOOK_PRODUCT_FOOTER}{/if}

 

 

Corrección, esto:

 

 <div id="idTab10" class="bullet customization_block">

 

dejarlo asi:

 

 <div class="bullet customization_block">

 

para que no se oculte la informacion cuando navegas por las pestañas.

Link to comment
Share on other sites

Estimada Virginia CCustom,

 

Al final lo has puesto bien o no ¿?

 

Hagamelo saber, estare encantado de ayudarle.

 

Hola Nadie

 

Muchas gracias por tu interés :) , realmente sí eres una Prestashop Legend ;)

 

El asunto está ya solucionado, no dudaré en seguir tus sabios consejos y por supuesto los del resto de miembros del foro.

 

Un cordial saludo.

Link to comment
Share on other sites

Hola Nadie

 

Muchas gracias por tu interés :) , realmente sí eres una Prestashop Legend ;)

 

El asunto está ya solucionado, no dudaré en seguir tus sabios consejos y por supuesto los del resto de miembros del foro.

 

Un cordial saludo.

 

Un placer ayudarte !

 

Para cualquier duda, no dudes en abrir un tema nuevo.

 

Un saludo y gracias por confiar en la Comunidad de Prestashop.

  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...