WikiJuanan : CmsMadeSimple

FrameworksPHPProgramaciónDesarrollo WebPHPCurso Cms Made SimpleCms Made Simple La PelículaCms Made Simple El LibroAjax Made SimpleSmarty, Ado DB

Contenido

Tablas Cms Made Simple
API de Cms Made SimpleApidoc

Instalación desde Windows

Te doy algunas pistas y te recuerdo que tienes una documentación mas detallada en ... (bueno no se donde la ha puesto Jesús, mañana le pregunto)

1. ¿Has dicho en portal que necesitas instalar CMS Made Simple? Eso es para que te suban el espacio y el límite de ficheros.

2. Te bajas el CMS Made Simple desde http://www.cmsmadesimple.org/downloads/. Si te pregunta que vas a hacer con los archivos cuando estén bajándose le dices que guardar. Necesitas el fichero base que se llama algo así como: cmsmadesimple-1.9.1-base.tar.gz y luego el paquete para que esté en español desde un apartado que hay más abajo y se llama “Translate” (http://dev.cmsmadesimple.org/project/files/6#package-618). Ahí buscas el fichero en español de españa (es_ES) de la versión del CMS que te acabas de bajar, en este caso: cmsmadesimple-1.9.1-langpack-es_ES.tar.gz

3. Desde esta dirección (http://www.rarlab.com/download.htm) te bajas el Win Rar: es el programa que te sirve para descomprimir esos dos archivos tan raros que te has bajado antes (y cualquier cosa que esté comprimida). Te bajas la versión en español (Spanish) para Windows 32, se llamará algo como wrar393es.exe.

4. Todos los archivos han debido bajarse a tu carpeta de descarga: C:\Documents and Settings\Sarita\Mis documentos\Descargas (si tienes Windows XP), algo por el estilo si es otra versión de Windows.

5. Desde esa carpeta haz doble clic en el fichero de Win Rar para instalarlo: wrar393es.exe

6. Haces doble clic primero en el archivo base (cmsmadesimple-1.9.1-base.tar.gz), se abrirá el winrar, le das “Extraer”, eliges el “Escritorio” como destino, pero ATENCION, antes de darle le das ahí mismo a “Nueva Carpeta” y creas una nueva carpeta que se llame “cms” o algo por el estilo para que los ficheros se descompriman ahí.

7. Bueno, si logras leer y entender todo esto ya tiene su merito, te dejo que lo intentes y si no te sales o te da mucho miedo mañana te mando un fichero «aliñado» listo para descomprimir con zip (eso lo trae el windows de fábrica).

8. Entonces seguiremos con la lección.

Errores frecuentes

Borrar la caché del servidor

Después de hacer cambios de importancia en el cms, o de haber corregido algún error de los que comentamos más abajo es muy recomendable borrar la caché del servidor para que se ejecuten los cambios que has realizado. Para borrar la caché del servidor ve al menú “Sitio” -> «Configuración general” y luego «Borrar caché». Mano de santo.

Accediendo a la gestión de módulos


Problemas con los permisos del grupo admin

mira que el grupo de admis tenga todos los permisos dados
a veces el grupo admin tiene menos permisos que el usuario que monta el tinglado
y hay que entrar en los permisos

Módulos de interés

Custom Content: permite especificar distintos contenidos por usuarios o grupos
Front End Users: permite autenticación de usuarios en el web
CMSMailer: permite enviar correo desde cualquier otro módulo o tag(?). Sería algo así:
<?php
$cmsmailer 
$this->GetModuleInstance('CMSMailer');
$cmsmailer->AddAddress('fulano@us.es','fulano');
$cmsmailer->SetBody('Este es un mensaje de prueba'); 
$cmsmailer->IsHTML(true); 
$cmsmailer->SetSubject('Mensaje de prueba'); 
$cmsmailer->Send(); 
?
php>

Funciones de interés

$this->Audit
Sirve para grabar una línea en el registro de administración del sistema
$this->Audit( 0, nombre_módulo, evento_registrado);
Ejemplo:
$this->Audit( 0, $this->Lang('friendlyname'), $this->Lang('installed',$this->Get Version()));


Pasando variables entre páginas
""{* -- display value of page from URL (GET) http://www.domain.com/index.php?page=foo *}""
{$smarty.get.page}
{* -- display the variable "page" from a form (POST) * -- }
{$smarty.post.page}
{* -- display the value of the cookie "username" * -- }
{$smarty.cookies.username}
{* -- display the server variable "SERVER_NAME" * -- }
{$smarty.server.SERVER_NAME}
{* -- display the system environment variable "PATH" * -- }
{$smarty.env.PATH}
{* -- display the php session variable "id" * -- }
{$smarty.session.id}
{* -- display the variable "username" from merged get/post/cookies/server/env * -- }
{$smarty.request.username}

Como se comunica php con una plantilla smarty
Desde la página php:
<?php 
$smarty 
= new Smarty(); 
$smarty->assign('nombre''Pepe'); 
$smarty->assign('apellidos''Rey'); 
$smarty->assign('proxima_cita''27/02/2008 12:00'); 
$smarty->display('index.tpl'); 
?>


Y el contenido de la plantilla (index.tpl) sería:



Obtener las variables de la plantilla actual

get_template_vars

When working with smarty templates in your modules, it's useful to know what variables are available and their values. Fortunately, this is now possible.

// get a list of all of the smarty assigned variables
// user defined tag named “get_template_vars”
global $gCms;
$tpl_vars = $gCms->smarty->get_template_vars();
print_r( $tpl_vars );

Obtener datos de una base de datos distinta a la del CMS

<?php
global $gCms;
// Hacemos una referencia al objeto ADOdb
$db =& $gCms->db;
// Lo conectamos a la base de datos externa
$db->Connect('host','usuario','password','base_datos_distinta');
$query "SELECT * FROM tabla";
$resultado $db->getAll($query);
$smarty->assign('datos',$resultado);
// Al terminar volvemos a conectar a la base de datos de nuestro cms 
$db->PConnect('localhost','usuario','password','base_de_datos_cms');
?>


Problemas de propietario con cPanel

Entendemos que usted creo el directorio «./www/modules/HitCounter» a través de su web (posiblemente a través de un sistema de instalación de plugins de su CMS). Esto creo los directorios y le puso como propietario a “nobody” (el usuario con el que se ejecuta el servidor web).

Por eso al intentar editarlo usted directamente (bien mediante el Cpanel, bien mediante el FTP) le salta el error de permisos.

La solución es que desinstale dicho módulo desde su CMS y lo instale manualmente (subiendo ficheros por FTP) de esta forma podrá editarlos sin problema.

Otra opción es que nuestros técnicos cambien manualmente los permisos de dicho directorio (y sus ficheros) para que todo el mundo pueda escribirlos. Esta última opción tiene un coste de 1 ticket de soporte.

htaccess, prettyurl y url en general

hay que copiar .htaccess al directorio
# Make sure you have Options FollowSymLinks and Allow on
RewriteEngine On
#Rewrites page.shtml as index.php?page
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
#Linea para pasar todos los .asp a www.recursoshumanos.us.es
RedirectMatch 301 (.*)\.asp$ http://www.recursoshumanos.us.es$1.asp

eso hace que te rule el rewrite
y luego en config.php:
$config['assume_mod_rewrite'] = true;
$config['internal_pretty_urls'] = true;
$config['use_hierarchy'] = true;

el .htaccess redirecciona los .asp y quita el index.php pero tienes que poner en true los parametros del config.php

Truco para implementar un sitio multilenguaje

http://forum.cmsmadesimple.org/index.php/topic,13805.0.html