psled Posted July 18, 2023 Share Posted July 18, 2023 (edited) Buenas tardes, Actualmente la dirección dentro del carrito se me previsualiza de la siguiente manera Si una dirección tiene menos campos cubiertos el bloque es mas pequeño que otra dirección mas completa, como se ve en el ejemplo anterior. Por lo que he observado para el carrito la información se obtiene de la variable $address.formatted dentro del tema en el fichero \templates\checkout\_partials\address-selector-bock.tpl "<div class="address">{$address.formatted nofilter}</div>" Como se podría hacer para limitar los campos que se previsualizan en el bloque de la dirección, por ejemplo solo mostrar "nombre, apellidos, dirección y código postal" y que el resto de campos aunque estén cubiertos no se muestren como si lo hacen ahora. Gracias, Un saludo! Edited July 24, 2023 by psled SOLUCIONADO (see edit history) Link to comment Share on other sites More sharing options...
Yelish Posted July 19, 2023 Share Posted July 19, 2023 Puedes excluir ciertos elementos, pero para eso tienes que modificar la plantilla y hacer los cambios ahí, en este caso necesitarías excluir ciertos elementos que te pasa PrestaShop a la plantilla para escribir solo los que necesitas. Link to comment Share on other sites More sharing options...
psled Posted July 19, 2023 Author Share Posted July 19, 2023 26 minutes ago, Yelish said: Puedes excluir ciertos elementos, pero para eso tienes que modificar la plantilla y hacer los cambios ahí, en este caso necesitarías excluir ciertos elementos que te pasa PrestaShop a la plantilla para escribir solo los que necesitas. Gracias por tu respuesta. Cual sería la plantilla para la dirección del checkout? No logro ver donde hace referencia a ella. Link to comment Share on other sites More sharing options...
Yelish Posted July 20, 2023 Share Posted July 20, 2023 Hola, ¿qué tal? El problema es que $address.formatted es en realidad una cadena con todos los datos de la dirección que se mostrarán. Para seleccionar los datos que deseas tienes que investigar la propia variable $address que PrestaShop manda a la plantilla que comentaste anteriormente. Con un fácil truco, estos son todos los campos que tiene la variable $address en la plantilla en comparación con el cliente de prueba [email protected] :array(21) { ["id"]=> string(1) "2" ["alias"]=> string(11) "Mon adresse" ["firstname"]=> string(4) "John" ["lastname"]=> string(3) "DOE" ["company"]=> string(10) "My Company" ["address1"]=> string(15) "16, Main street" ["address2"]=> string(9) "2nd floor" ["postcode"]=> string(5) "75002" ["city"]=> string(6) "Paris " ["id_state"]=> string(1) "0" ["state"]=> NULL ["state_iso"]=> NULL ["id_country"]=> string(1) "8" ["country"]=> string(7) "Francia" ["country_iso"]=> string(2) "FR" ["other"]=> string(0) "" ["phone"]=> string(10) "0102030405" ["phone_mobile"]=> string(0) "" ["vat_number"]=> string(0) "" ["dni"]=> string(0) "" ["formatted"]=> string(94) "John DOE My Company 16, Main street 2nd floor 75002 Paris Francia 0102030405" } John DOE My Company 16, Main street 2nd floor 75002 Paris Francia 0102030405 Para añadir exclusivamente los campos que desees en vez de $address.formatted, deberías indicar a la plantilla que muestre por ejemplo: {$address.firstname} {$address.lastname} {$address.address1} ... Un saludo y que tengas un gran día. 1 Link to comment Share on other sites More sharing options...
psled Posted July 24, 2023 Author Share Posted July 24, 2023 On 7/20/2023 at 9:50 AM, Yelish said: Hola, ¿qué tal? El problema es que $address.formatted es en realidad una cadena con todos los datos de la dirección que se mostrarán. Para seleccionar los datos que deseas tienes que investigar la propia variable $address que PrestaShop manda a la plantilla que comentaste anteriormente. Con un fácil truco, estos son todos los campos que tiene la variable $address en la plantilla en comparación con el cliente de prueba [email protected] :array(21) { ["id"]=> string(1) "2" ["alias"]=> string(11) "Mon adresse" ["firstname"]=> string(4) "John" ["lastname"]=> string(3) "DOE" ["company"]=> string(10) "My Company" ["address1"]=> string(15) "16, Main street" ["address2"]=> string(9) "2nd floor" ["postcode"]=> string(5) "75002" ["city"]=> string(6) "Paris " ["id_state"]=> string(1) "0" ["state"]=> NULL ["state_iso"]=> NULL ["id_country"]=> string(1) "8" ["country"]=> string(7) "Francia" ["country_iso"]=> string(2) "FR" ["other"]=> string(0) "" ["phone"]=> string(10) "0102030405" ["phone_mobile"]=> string(0) "" ["vat_number"]=> string(0) "" ["dni"]=> string(0) "" ["formatted"]=> string(94) "John DOE My Company 16, Main street 2nd floor 75002 Paris Francia 0102030405" } John DOE My Company 16, Main street 2nd floor 75002 Paris Francia 0102030405 Para añadir exclusivamente los campos que desees en vez de $address.formatted, deberías indicar a la plantilla que muestre por ejemplo: {$address.firstname} {$address.lastname} {$address.address1} ... Un saludo y que tengas un gran día. Muchas gracias Yelish, Efectivamente es tal cual indicas. Indiqué los campos deseados y apliqué una estructura/estilos y lo he dejado justo como quería. Por curiosidad, como hiciste para ver el contenido de la variable(el objeto)? Un saludo. Link to comment Share on other sites More sharing options...
Yelish Posted July 24, 2023 Share Posted July 24, 2023 Hola, te comento, dentro de la plantilla anteriormente citada y dentro del respectivo {foreach} incluir esta instrucción: {var_dump($address)} Tienes que visualizar la plantilla en tu tienda y te dará todos los elementos del array $address. Un saludo, si el tema está solucionado no olvides marcarlo como SOLUCIONADO para ayudar a otros miembros de la comunidad. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now