[escribir en BB.DD. Solucionado(a medias)] Problema con campo teléfono.

Glifaus

Nuevo usuario
Hola a todos! El viernes por fin conseguí, un poco por arte de magia, escribir y leer datos de la base de datos. Creé un campo "NIF" en el registro de usuario, y conseguí almacenarlo y recuperarlo, y también ver este campo desdel el backend de Magento. Lo explico de manera ligera, si alguien necesita algo mas detallado mandadme un privado y me curro un tutorial con los pasos que he dado.

[Tutorial express]

Hay cuatro archivos que son los que he editado/modificado:

1.app/design/frontend/(tema)/(tema)/template/customer/form/register.phtml
2.app/design/frontend/(tema)/(tema)/template/customer/form/edit.phtml
3.app/code/core/Mage/Customer/etc/config.xml
4.app/code/core/Mage/Customer/model/entity/setup.php

Una vez tengamos los cuatro archivos abiertos, listos para modificar y destripar jejeje, lo que yo añadí fue lo siguiente:

register.phtml (busqué el campo "email" y puse el codigo seguidamente en otro div):

Insertar CODE, HTML o PHP:
		<div class="input-box">
			<label for="nif"><?php echo $this->__('D.N.I./N.I.F.') ?> <span class="required">*</span></label><br/>
			<input type="text" name="nif" id="nif" value="<?php echo $this->htmlEscape($this->getFormData()->getNif()) ?>" title="<?php echo $this->__('D.N.I./N.I.F.') ?>" class="required-entry input-text" />
		</div>
*Recordar que va dentro de un "<li></li>"

edit.phtml:
Misma situacion que el anterior archivo, busque el codigo correspondiente al email e inserté el codigo debajo.

Insertar CODE, HTML o PHP:
	  <div class="input-box">
			<label for="nif"><?php echo $this->__('D.N.I./N.I.F.') ?> <span class="required">*</span></label><br/>
			<input type="text" name="nif" id="nif" value="<?php echo $this->htmlEscape($this->getCustomer()->getNif()) ?>" title="<?php echo $this->__('D.N.I./N.I.F.') ?>" class="required-entry input-text" />
		</div>
config.xml:
Considero que este archivo relaciona los input-text/input-box con los campos de la base de datos que marca el archivo setup.php. Si no es así que me corrija alguien por favor, estoy un poco verde todavia en temas de codigo.

Insertar CODE, HTML o PHP:
<nif><create>1</create><update>1</update></nif>
Añadido a continuación del "<email>"

setup.php:
Creo que este archivo, y si no estoy equivocado, prepara los campos en la base de datos. Es importante borrar los datos de la carpeta caché, dentro de var, en las carpetas de Magento.

Insertar CODE, HTML o PHP:
  'nif' => array(
                        'label'         => 'D.N.I./N.I.F.',
                        'required'      => 'true',
                        'sort_order'    => 63,
		    ),
Sigo sin entender algunas cosas, como que razón obedece la numeración de "sort_order"... puse 63 por que era el siguiente a email.. y funcionó. Siento estas explicaciones tan cutres y tristes, pero estoy en proceso de asimilar como funciona el codigo.

Bueno, tras estos pasos, borrar la caché y volver a acceder y crear una cuenta nueva, debería de permitirnos introducir un dni, leerlo de la base de datos, y mostrarnos ese campo en el backend, en la parte de clientes.

Espero que esto sirva para alguien que tenga alguna duda, como yo la tenia, y de hecho, tengo.

Mi duda ahora es la siguiente, no tengo problemas con este campo "nif", pero si los tengo con el telefono. Necesito recoger el teléfono en el alta, sigo estos pasos pero al existir un campo "telephone" no se guarda, o no se recuperarlo... alguna idea? sigo investigando...

Un saludo a todos!:guiño:
 

Glifaus

Nuevo usuario
Solucionado el tema del campo del teléfono...
Ahora estoy con un campo que necesito para las tarjetas de iberia... se me hace un mundo añadir un campo nuevo... lo hago igual y no ingresa porque no le da la gana... no llego a entender como está estructurado el código... Alguien que me ilumine?:paz:
 

Xarlie

Super Moderador
Miembro del equipo
Estaba mirando esto y veo, por las rutas de los ficheros, que sólo añades el campo en la zona de registro, pero no en la zona de checkout ¿no?
 
Arriba