yuki71 Posted April 11, 2013 Share Posted April 11, 2013 (edited) 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. Sin embargo, a mi me aparece en otra pestaña. ¿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? Un saludo! Edited April 11, 2013 by javy97 (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted April 11, 2013 Share Posted April 11, 2013 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} 2 Link to comment Share on other sites More sharing options...
nadie Posted April 11, 2013 Share Posted April 11, 2013 ¿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; } 1 Link to comment Share on other sites More sharing options...
nadie Posted April 11, 2013 Share Posted April 11, 2013 Opcion 2 - Borrar de tu mente lo que te he comentado y usar este módulo gratuito: http://www.prestashop.com/forums/topic/169508-modulo-visible-customization-v12-ps-1315/ Link to comment Share on other sites More sharing options...
nadie Posted April 11, 2013 Share Posted April 11, 2013 ¿Sigues hay? Link to comment Share on other sites More sharing options...
yuki71 Posted April 11, 2013 Author Share Posted April 11, 2013 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 More sharing options...
nadie Posted April 11, 2013 Share Posted April 11, 2013 Si, muchas gracias En cuanto lo pueda hacer te comento. Ok, quedo a la espera. Un Saludo Link to comment Share on other sites More sharing options...
yuki71 Posted April 11, 2013 Author Share Posted April 11, 2013 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 More sharing options...
nadie Posted April 11, 2013 Share Posted April 11, 2013 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 More sharing options...
yuki71 Posted April 11, 2013 Author Share Posted April 11, 2013 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 More sharing options...
nadie Posted April 11, 2013 Share Posted April 11, 2013 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 More sharing options...
BastianSnow Posted April 14, 2013 Share Posted April 14, 2013 Me uno a la peticion mi tienda es de productos virtuales y de fisicos. Necesito hacer lo mismo que recomiendan? Link to comment Share on other sites More sharing options...
Virginia CCustom Posted May 7, 2013 Share Posted May 7, 2013 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 Hice (o entendí) algo mal? Saludos Link to comment Share on other sites More sharing options...
Virginia CCustom Posted May 7, 2013 Share Posted May 7, 2013 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 ) Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted May 7, 2013 Share Posted May 7, 2013 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 Hice (o entendí) algo mal? Saludos 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 More sharing options...
Virginia CCustom Posted May 7, 2013 Share Posted May 7, 2013 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 More sharing options...
nadie Posted May 8, 2013 Share Posted May 8, 2013 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 More sharing options...
nadie Posted May 8, 2013 Share Posted May 8, 2013 Estimada Virginia CCustom, Al final lo has puesto bien o no ¿? Hagamelo saber, estare encantado de ayudarle. 1 Link to comment Share on other sites More sharing options...
Virginia CCustom Posted May 8, 2013 Share Posted May 8, 2013 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 More sharing options...
nadie Posted May 8, 2013 Share Posted May 8, 2013 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. 1 Link to comment Share on other sites More sharing options...
Recommended Posts