Que personalizar
La extensión/personalización se produce directamente sobre el comportamiento del sistema para poder adaptarlo a las necesidades particulares de una instalación determinada. A grandes rasgos se pueden hacer dos tipos de modificaciones: sobre metadatos de Toba (que se hacen a través del editor) y sobre código específico del proyecto.
Nota: Esta sección trata sobre las modificaciones que se pueden hacer a un sistema personalizable, si su sistema no lo es lea esta sección primero
Personalización de metadatos de Toba
Este tipo de cambios es el más transparente ya que de la mayoría de los detalles se encarga el editor. Simplemente hay que hacer los cambios que uno desea y luego de finalizar se deben seguir los pasos escritos en la sección sobre exportar los cambios
Personalización de código de proyecto
Una personalización de código implica dos cambios en el proyecto a personalizar; el primero sobre el editor y el segundo sobre el código.
Cambios en el editor
En el editor se busca el componente a personalizar y se cambia el punto de montaje a personalizacion. Luego hay que especificar el nombre de la clase que va extender el comportamiento del componente.
Nota: El punto de montaje personalización apunta a la carpeta proyectos/PROYECTO/personalizacion/php
Cambios en el código
Una vez cambiado el punto de montaje se debe acceder a la clase que va a extender el comportamiento. Esta clase debe extender a la clase que extendía el componente anteriormente. De esta manera lo que tenemos que hacer es sobreescribir los métodos que queremos cambiar.
Ejemplo: Supongamos que tenemos un ci y la clase que define su comportamiento es ci_personas. Para personalizar esta clase lo primero que debemos hacer es cambiar en el editor el punto de montaje y seleccionar el nuevo archivo de extensión que llamaremos ci_personas_pers.php. Luego de hacer esto accedemos a nuestra clase y nos aseguramos que la declaración se vea de la siguiente manera:
<?php
class ci_personas_pers extends ci_personas
{
function conf__cuadro($cuadro) {
...
}