Hola de nuevo amigos. Hoy vengo a presentar un sistema de websites dinamicos a base de php, que necesita vuestras sugerencias y mejoras. (Yo solo lo he customizado a mis necesidades, no es mio)
Organigrama de los directorios del sistema:
website/
-----------includes/
---------------------footer.html
---------------------header.html
...
----------modules/
---------------------home.php
---------------------contact.php
---------------------gallery.php
...
----------layouts/
--------------------resources/
---------------------------------css/
---------------------------------js/
---------------------------------imgs/
--------------------layout.php
-----------plugins/
-----------index.php
-----------conf.php
- website-> el directorio principal que contiene todos los demas
- includes-> el directorio de los archivos a incluir en las demas paginas.
- modules-> el directorio que contiene los vinculos principales de la web.
- layouts-> dentro esta el archivo layouts.php que es el template para toda la web, junto con una carpeta resources para los archivos css, js u otros
- plugins-> es el directorio que contiene addons/plugins/extras para la web (archivos opcionales)
index.php
Código PHP:
<?php
error_reporting(E_ALL);
include('conf.php');
if (!empty($_GET['mod']))
$module = $_GET['mod'];
else
$module = DEFAULT_MODULE;
if (empty($conf[$module]))
$module = DEFAULT_MODULE;
if (empty($conf[$module]['layout']))
$conf[$module]['layout'] = DEFAULT_LAYOUT;
$path_layout = LAYOUT_PATH.'/'.$conf[$module]['layout'];
$path_module = MODULE_PATH.'/'.$conf[$module]['file'];
if (file_exists($path_layout))
include( $path_layout );
else
if (file_exists($path_module ))
include( $path_module );
else
die('Error loading the module <b>'.$module.'</b>. The file <b>'.$conf[$module]['file'].' might have been deleted</b>');
?>
conf.php
Código PHP:
<?php
define('DEFAULT_MODULE', 'home');
define('DEFAULT_LAYOUT', 'layout.php');
define('MODULE_PATH', realpath('./modules/'));
define('LAYOUT_PATH', realpath('./layouts/'));
$conf['home'] = array(
'file' => 'home.php',
'layout' => DEFAULT_LAYOUT );
$conf['about'] = array(
'file' => 'about.php' );
$conf['testimonials'] = array(
'file' => 'testimonials.php' );
$conf['references'] = array(
'file' => 'references.php' );
$conf['schedule'] = array(
'file' => 'calendar.php' );
$conf['registration'] = array(
'file' => 'register.php' );
$conf['contact'] = array(
'file' => 'contact/contact.php' );
?>
layout.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php include('includes/header.html'); ?>
<?php include('includes/menu.html'); ?>
<?php
if (file_exists( $path_module )) include( $path_module );
else die('Error loading the module <b>'.$module.'</b>. The file <b>'.$conf[$module]['file'].' might have been deleted</b>');
?>
<?php include('includes/footer.html'); ?>
</body>
</html>
Ahora mis preguntas son:
- Quiero tener la web (utilizando este modulo) en varios idiomas, no se me ocurre otra ideea que utilizar este
modulo para cada idioma... pero eso seria un cachondeo, y mucho trabajo para traducir... entonces,
Que se podria hacer para que desde este mismo modulo tener la web en varios idiomas
-
- Que se podria mejorar?
-
- La web a que utilizo este sistema, requiere un formulario de registro de pago para la asistencia a un evento...
el formulario no es un problema, sino que el incorporar un sistema de pago y confirmacion a traves de un email con el billete a imprimir
y que todo eso eset guardado en un bd relacionada con el siguiente punto... como lo podria hacer?
-
- Tengo que implementar un sistema de usuarios, que sirva de administrar esos registros de pago y non pago
y tener algunas funciones como las siguientes: hacer un raporte de los participantes ya registrados por categorias (pago y non pago),
tener la funcion de imprim el billete de un asistente, poder reenviar el email con el billete,... y ya vere si hay alguna otra cosa
Podeis ver la web a la que he empleado este sistema aqui:
http://mtc.w0rldart.com/