Volumen
1 OSCDOX.COM
Proyecto de Documentación de Oscommerce
Guía de Instalación y Modificación
OSCDOX – PROYECTO DE DOCUMENTACIÓN OSCOMMERCE
Guía de Instalación y Modificación por Michael Sasek y Melinda Odom
OSCdox.com and Michael Sasek P.O. Box 16123 • Phoenix, AZ 85011-1623
[email protected] • http://oscdox.com Traducción al español: Yolanda González Versión 1. 10 de septiembre de 2002 Para ampliar información sobre OsCommerce en español: http://oscommerce.qadram.com
Índice
Introducción Capítulo 1: Convenciones, términos y asunciones Palabras clave:
3
Capítulo 2: Instalar la tienda Estructura de directorios
5
Ejecutar el Script de Instalación
6
Proteger tu instalación
14
Instalación de la raíz del documento
15
Finalizar la Instalación
15
Capítulo 3: Guía de modificación ¿Qué archivos edito?
16
Convenciones de código y otros conceptos generales Ejercicio 1 – Tu primer proyecto
19
Ejercicio 2 : Establecer el ancho de tu tienda
28
El sistema de bloques laterales
29
Añadiendo bloques, enlaces y páginas nuevas
31
Añadir enlaces fuera de los bloques
35
Modificar el aspecto de los bloques laterales
37
Sección de cómo hacer – Ejemplos y procedimientos EDITAR LA HOJA DE ESTILOS
47
17
41
Introducción
E
sta es una guía para instalar Oscommerce y hacer cambios estéticos y funcionales a Oscommerce, la solución de comercio electrónico de código abierto. Esta guía asume que conoces el html básico y cómo funciona. Si no es así, ¡consigue un buen libro sobre html para aprenderlo! Aunque hemos tratado de ser muy generalistas, esto no significa que sea una fuente de conocimiento exhaustivo, ya que está planteado como un punto de inicio. Ten en cuenta que Oscommerce está en constante desarrollo, y el código cambia todos los días. Esto quiere decir, que esta guía debe serte útil para localizar los archivos adecuados y las partes correctas dentro de esos ficheros donde modificar.
Si encuentras esta guía útil y quieres mostrarnos tu trabajo o hacer una contribución técnica a la guía, por favor visita http://www.oscdox.com y únete a los foros de discusión.
C O N V E N C I O N E S ,
T É R M I N O S
Y
P R E S U P U E S T O S
Capítulo
1 Convenciones,TérminosyAsunciones
A
lo largo de esta guía comprobarás que se hace I C Ó N O S referencia muchas veces a rutas de directorio, referencias a localizaciones de archivos y otras 1 Información valiosa palabras clave. Siempre que te encuentres con : Ejercicio de teclado un término que no te resulte familiar, consulta esta sección. Además esta guía presupone varias cosas sobre tu primera instalación. Primero, asumimos que instalarás tu tienda en el subdirectorio /catalog del directorio raíz de tu servidor web. También asumimos que instalarás la administración de tu tienda en el subdirectorio /admin de directorio raíz de tu servidor web Todos los ejemplos de código dependen de estas asunciones.
1
Palabras clave:
raíz – se refiere al directorio raíz de los archivos en tu servidor raíz del documento – se refiere al public_html o al directorio base de publicación web ordenador local – es tu ordenador personal, no tu servidor web (webserver) localhost – este es otro término que usamos para referirnos a tu servidor web path absoluto – es una ruta de directorio que se inicia en tu raíz del servidor path relativo – es una ruta relativa al directorio de archivo actual
I N S T A L A C I Ó N
D E L
C A R R I T O
Capítulo
2 Instalarlatienda
O
scommerce puede instalarse bajo Windows(98,2000,XP), Linux, y máquinas basadas en Unix.. La instalación recomendada es en una máquina Linux, pero funcionará bien en todas, cada una con sus propias singularidades. Los requerimientos básicos para hacerlo funcionar son un servidor web que funcione, como Apache o IIS. A continuación necesitarás instalar un servidor de base de datos MySql, y PHP, el lenguaje de scripting en el que está escrito Oscommerce. Si no estás seguro de cumplir con todos esos requerimientos, compruébalo ahora. Si estos requerimientos mínimos, Oscommerce no funcionará. Estas instrucciones de instalación son específicas para la versión 2.2 CVS, y no se aplica a cualquier versión anterior de Oscommerce. A continuación debes subir los archivos y la estructura de directorios a tu servidor web. Esto puede llevarse a cabo de maneras diferentes. Usa el método que te resulte más familiar, por ejemplo, descomprimiendo el archivo de Oscommerce en tu ordenador local y usando tu programa favorito de FTP para subir esos archivos, o usando wget y tar para evitar el aburrimiento de descargar y volver a subir los archivos (sólo en unix-linux). Los archivos pueden subirse a la raíz, o algún otro subdirectorio como catalog. Nota: si está usando FTP para subir los archivos, debes subir todos los archivos PHP en modo ASCII, no binario. Antes de continuar, aseguraté de que sabes crear bases de datos y tablas MySql. Si no, tendrás que contactar con tu administrador y pedirle que cree la base de datos para ti. Otra herramienta valiosa para manipular bases de datos MySql es PHPMyAdmin, que puedes descargarte de http://www.phpmyadmin.net/ . Muchos administradores ya te proporcionan esta herramienta, pero es muy fácil de instalar si lo necesitas. Asegúrate de proteger con contraseña tu directorio PHPMyAdmin. Ahora estás listo para crear tu base de datos. Este procedimiento es más directo si usas PHPMyAdmin, y muchos administradores que proporcionan MySql tienen algún tipo de interfaz para que crees tu base de datos. Los tutoriales MySql abarcan mucho más que el objetivo de esta guía, así que si tienes algún problema, consulta la documentación de http://www.mysql.com Crea y da un nombre a tu base de datos, establece la contraseña, asigna el usuario, y mantén esta información a mano, porque la necesitarás pronto.
I N S T A L A C I Ó N
D E L
C A R R I T O
Estructura del directorio
1
Una vez que abras el archivo zip o tar de Oscommerce, podrás ver la estructura de directorios del archivo. Hay dos niveles de directorios, de catalogación y de administración. Los archivos que quieras subir están en el segundo nivel de cada árbol de directorios. Catalog Catalog Admin Admin
A continuación, copia las carpetas inferiores (en negrita arriba) sobre tu directorio raíz del documento de tu servidor así: Document Root (public_html o www) /catalog /admin O si quieres que el catálogo esté en tu documento raíz en vez de en el subdirectorio /catalog, simplemente estructúralo así: Document Root (sube los contenidos de la carpeta del catálogo aquí) /admin A continuación, es importante establecer los permisos de directorios adecuados, en los sistemas UNIX hazlo usando el comando chmod. Los valores chmod son los siguientes: Directorio /admin/includes /catalog/includes /admin/includes/configure.php /catalog/includes/configure.php /catalog/images
Niveles de permiso chmod 755 chmod 755 chmod 777 chmod 777 chmod 777
Ahora, crea el directorio ‘backups’ dentro de la carpeta admin (esto arregla el error de backup que obtendrás luego cuando hagas clic en el enlace "Database Backup" dentro de "Tools" y el mensaje de error en la barra superior de la página: Error: Backup directory does not exist. Please set this in configure.php (Error: el directorio de backup no existe. Por favor, establézcalo en
5
I N S T A L A C I Ó N
D E L
C A R R I T O
configure.php). Asegúrate de establecer los permisos de este directorio a chmod 777.
&
Resumen
1. Transfiere los archivos a la raíz del documento, preservando la estructura del directorio. Puedes hacerlo usando los comandos wget y tar en servidores UNIX Linux, o puedes usar FTP para subir los archivos y la estructura de directorios. 2. Asegúrate de transferir los archivos PHP en modo ASCII si usas FTP 3. Establece los permisos de directorios de archivos como se explicó anteriormente. 4. Crea tu base de datos MySql vacía y conserva el nombre, nombre de usuario y la contraseña de la base de datos. Necesitarás esto para el script de instalación.
Ejecutar el Script de Instalación El siguiente paso de la instalación creará las tablas de la base de datos MySql, instala datos de pruebas, y configura tu tienda Oscommerce para ajustar la configuración del servidor. Introduce en tu navegador la siguiente url: http://www.yourserver.com/catalog/install/install.php Reemplaza ‘yourserver’ por tu nombre de dominio o dirección ip. Esto iniciará el script de instalación de Oscommerce. Más abajo, examina las capturas de pantalla de las páginas de instalación. Esto explicará el proceso entero paso a paso.
6
I N S T A L A C I Ó N
D E L
C A R R I T O
Figure 1-1 – Selecciona el botón ‘New Install’
7
I N S T A L A C I Ó N
D E L
C A R R I T O
Figure 1-2 Para el número 1, asegúrate de que ambas casillas están seleccionadas. Para el número 2, introduce la ruta correcta. La información que se presenta en la captura de pantalla no es la adecuada para tu servidor. Asegúrate de que todas las rutas son correctas.
2. Por favor introduce la información de tu servidor web: Directorio raíz del servidor web: Este es un ejemplo de ruta de raíz absoluta: /home/myaccountname/public_html Directorio de publicación del catálogo. Este es un ejemplo de ruta relativa a Oscommerce: /catalog/ Directorio publicación de la herramienta de administración: /admin/
8
I N S T A L A C I Ó N
D E L
C A R R I T O
Figura 1-3 Para la pregunta 3, introducir la información de la base de datos que anotaste antes, cuando creaste tu base de datos MySql . Haz clic en el botón “continue”.
Database Server (Servidor de la base de datos) – El servidor de la base de datos puede se un nombre de host, como db1.myserver.com, o una dirección IP, como 192.168.0.1. Normalmente "localhost" funcionará bien. Username (Nombre de usuario)-El nombre de usuario se usa para conectarse al servidor de la base de datos. Un ejemplo El nombre de usuario es mysql_10 Nota: si el catálogo va a ser importado (seleccionado más arriba), la cuenta usada para conectarse al servidor de la base de datos necesita tener permisos para Crear y Borrar (Permisos de creación y eliminación).
Password (Contraseña)- La contraseña se usa junto con el nombre de usuario, y forman la cuenta de usuario de la base de datos Database (Base de datos)- La base de datos se usa para guardar los datos del catálogo. Un ejemplo de nombre de base de datos es: mysql_catalog
9
I N S T A L A C I Ó N
D E L
C A R R I T O
Figura 1-4 A continuación se te pedirá que importes la base de datos. Haz clic en continue.
Figura 1-5 Si todo va bien, aparecerá la pantalla de éxito. Haz clic en el botón “Continue”
10
I N S T A L A C I Ó N
D E L
C A R R I T O
Figura 1-6 Si los permisos son incorrectos, aparecerá esta pantalla. Establece tus permisos y haz clic en ‘retry’
11
I N S T A L A C I Ó N
D E L
C A R R I T O
Figura 1-7 Esta es la primera parte de la pantalla de resumen. Toda la información debería ser correcta. Ver la página siguiente.
12
I N S T A L A C I Ó N
D E L
C A R R I T O
Figura 1-8 Esta es la segunda parte de la pantalla de resumen. Tienes dos opciones nuevas al final. Puedes activar las conexiones continuas y puedes decidir como almacenar tus sesiones. En servidores con mucha actividad, desactiva las conexiones continuas y guarda las sesiones como archivos. Pulsa el botón “Continue”.
Figura 1-9 Cuando llegues a esta página, habrás completado con éxito la instalación de Oscommerce. El botón “catalog” te llevará directamente a tu tienda, y el botón “Administration tool” te llevará a la consola de administración.
13
I N S T A L A C I Ó N
1
D E L
C A R R I T O
Proteger tu instalación
Felicidades, has instalado con éxito una copia funcional de Oscommerce en tu servidor web. Ahora necesitas proteger esa instalación. Primero, lo más fácil de todo, borra totalmente el directorio /catalog/install. Después, usa .htaccess en tu directorio /admin de manera que tu contraseña esté protegida. PASOS PARA UNA INSTALACIÓN Puedes usar el administrador de SEGURA contraseña en tu cuenta si tiene Borrar por completo el directorio de instalación un panel de control o haz una búsqueda por la web de Establecer el archivo de acceso y los permisos del .htaccess y encontrarás directorio – ver más abajo. información de cómo hacerlo. Insertar un archivo en blanco llamado index.html en todos Normalmente tu administrador los directorios críticos tendrá información de soporte Proteger tu directorio admin con .htaccess sobre esto en su documentación.
A continuación, añade ‘default.php’ al listado del índice de tu directorio en el archivo httpd.conf para apache. Esto hará que aparezca tu página default.php sin tener que teclear toda la dirección: Esto hará que apache no envíe el archivo entero y el listado del directorio de tu catálogo. Puedes hacer estos cambios tú mismo editando el archivo de configuración de apache, llamado httpd.conf. Para editar este archivo directamente en el servidor entra dentro con una shell y usa el comando pico /path/to/apache/conf/httpd.conf Si no tienes acceso por consola, puedes hacerlo usando .htaccess., que además es más seguro para los principiantes. ATENCIÓN: no toques tu httpd.conf si no sabes lo que estás haciendo. Podrías cargarte todo tu servidor si cometes algún error. Asegúrate de hacer una copia de seguridad del archivo antes de editarlo Si editas tu httpd.conf, añade la sentencia:DirectoryIndex default.php a la sección de tu archivo httpd.conf. Permisos después de la instalación
Establece tus permisos para concuerden con esto: Directorio Nivel de permisos /admin/includes chmod 755 /catalog/includes chmod 755 /admin/includes/configure.php chmod 644 /catalog/includes/configure.php chmod 644 /catalog/images chmod 777
14
I N S T A L A C I Ó N
D E L
C A R R I T O
Además, en el directorio catalog, puedes colocar un archivo vacío html llamado index.html. Esto evitará que apache envíe el árbol del directorio y no permitirá que la gente vea con el navegador el contenido de tus directorios.
1
Instalación de la raíz del documento
Cuando copies tus archivos en el servidor, en vez de copiar el directorio y los archivos del catálogo en el subdirectorio /catalog, simplemente copia los archivos y directorios a la raíz del documento (tu directorio www o public_html) Copia la carpeta “admin” en la raíz del documento como en las instrucciones originales. Después, introduce en tu navegador: http://www.yourserver.com/install/install.php . Sustituye ‘yourserver’ por tu dominio o dirección ip. Cambia lo siguiente tras la instalación: /includes/configure.php Esta línea en configure.php : define('DIR_WS_CATALOG', '/catalog/'); // el path absoluto requerido puede cambiarse a : define('DIR_WS_CATALOG', '/'); // el path absoluto requerido y cambia estas líneas: define('DIR_FS_DOCUMENT_ROOT', $DOCUMENT_ROOT); define('DIR_FS_CATALOG', DIR_FS_DOCUMENT_ROOT . DIR_WS_CATALOG); a define('DIR_FS_DOCUMENT_ROOT', '/home/serverusername/public_html'); define('DIR_FS_CATALOG', '/home/serverusername/public_html/'); Cambia el /admin/includes/configure.php para que concuerde también.
Fin de la Instalación Esperamos que estas instrucciones hayan sido lo bastante claras para ayudarte a instalar este programa. Pero, eso sí, no has terminado realmente, más bien, no has hecho más que empezar. En los siguientes capítulos, nos adentraremos en las profundidades de modificar el aspecto de Oscommerce. Prepárate para la diversión.
15
G U Í A
D E
M O D I F I C A C I Ó N
Capítulo
3 Guíademodificación ¿Qué archivos edito? Como un futuro diseñador de Oscommerce, necesitará familiarizarse con los archivos que en realidad establecen qué aspecto tendrá Oscommerce. La forma en que Oscommerce genera dinámicamente las páginas al menos permite un proceso de edición consistente. Estos son los archivos con los que necesitará familiarizarse con el fin de cambiar el aspecto de su tienda virtual: /catalog stylesheet.css default.php
/catalog/includes application_top.php column_left.php column_right.php Casi todos los configure.php archivos .php tienen footer.php un duplicado html header.php que crea el aspecto del sitio y deben editarse para cambiar el aspecto del sitio en todos y cada uno de los archivos.
/catalog/includes/languages english.php ../languages/english todos los archivos .php de este directorio
Más abajo hay una lista de las localizaciones por directorio de otros archivos importantes: /catalog/images/ -imágenes del catálogo distintas de los botones de navegación y las imágenes de productos /catalog/includes/languages/english/ - icono de la bandera del idioma /catalog/includes/languages/english/images/buttons -botones de navegación para el sitio web
16
G U Í A
D E
M O D I F I C A C I Ó N
/catalog/includes/boxes/ -archivos que definen el tamaño de los bloques laterales y lo que hacen Antes de continuar, asegurate de hacer copias de seguridad de todos los archivos anteriormente mencionados, por si acaso cometieses algún error. Además, no trabajes en el sitio web activo, podrías estropear algún fichero que impidiera que funcionase tu tienda Te sugiero que montes un entorno de desarrollo privado en el que puedas trabajar. Este puede estar simplemente en otro directorio o subdominio en el mismo servidor. El archivo stylesheet.css es una hoja de estilo, y controla todos los colores y fuentes de la tienda. Sugiero que te tomes una hora en familiarizarte con cada punto definido en la hoja de estilos, y en qué hacen. Muchos son muy evidentes, y si no, cámbialos para ver lo que hacen. Creo que lo mejor es abrir este archivo en un buen editor css. Recomiendo TopStyle. Esta herramienta hace que trabajar con hojas de estilo sea muy fácil. Al final de este documento hay un índice de stylesheet.css con información de lo que controla cada punto. A continuación, el archivo default.php es la página principal del catálogo que se ve nada más entrar en la tienda. Ahora nos ocuparemos del contenido html de este archivo php. Hay muchas secciones que controlan varios anchos, estructuras, etc. de las tablas. Cada una de estas secciones necesita ser modificada para que tu tienda tenga un aspecto diferente. Sugiero que marques todos tus cambios con un comentario. De este modo después podrás copiar y pegar los cambios fácilmente en los demás archivos de la tienda. Esto también es buena idea en caso de que decidas actualizar a una nueva versión más adelante. Buena suerte si intentas recordar dónde pegaste dos líneas de código seis meses antes... ϑ
Convenciones de código y otros conceptos generales El modo en que Oscommerce está construido parece complicado al principio, pero una vez que aprendes sus convenciones, puedes modificar eficazmente tu tienda en muchos sentidos. Primero, si miras el archivo default.php en un editor, verás que el código está dividido en secciones. Estas secciones se definen del siguiente modo:
17
G U Í A
D E
M O D I F I C A C I Ó N
El código define el comienzo de una sección específica, y el código define el final de esa sección. Esto es importante para aquellos de nosotros que no leemos código php o html muy bien. Ejemplo (de default.php):