http://netmind2018.alwaysdata.net
http://netmind2019.alwaysdata.net
usuario: admin
pass: Netmind
Comparación de 10 CMS:
http://cms-software-review.toptenreviews.com/
Drupal vs Joomla vs WordPress
https://support.rackspace.com/how-to/cms-comparison-drupal-joomla-and-wordpress/
¿Cual es el mejor CMS? NInguno:
https://www.cmscritic.com/wordpress-joomla-and-drupal-are-not-the-best-cms/
https://colorlib.com/wp/most-popular-content-management-systems/
function mimodulo_menu() {
$items = array();
$items['admin/config/content/mimodulo'] = array(
'title' => 'Mi módulo',
'description' => 'Configuración de mi módulo',
'page callback' => 'drupal_get_form',
'page arguments' => array('mimodulo_form'),
'access arguments' => array('access administration pages'),
'type' => MENU_NORMAL_ITEM,
);
$items['mimodulo'] = array(
'title' => 'Mi módulo',
'page callback' => '_mimodulo_page',
'access arguments' => array('access mimodulo content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function _mimodulo_page() {
$result = mimodulo_contenido();
$items = array();
foreach ($result as $node) {
$items[] = array(
'data' => l($node->title, 'node/' . $node->nid),
);
}
if (empty($items)) {
$page_array['mimodulo_arguments'] = array(
'#title' => t('Contenido mi módulo'),
'#markup' => t('No hay.'),
);
return $page_array;
}
else {
$page_array['mimodulo_arguments'] = array(
'#title' => t('Contenido mi módulo'),
'#items' => $items,
//Theme hook with suggestion.
'#theme' => 'item_list__mimodulo',
);
return $page_array;
}
}
Aquí está el código de ejemplo para un módulo personalizado de Drupal:
1.- Instalar Drupal. Necesitamos una base de datos y los archivos de Drupal:
https://www.drupal.org/project/drupal
2.- Instalar y configurar algún tema si es necesario:
https://www.drupal.org/project/project_theme
3.- Instalar módulos básicos:
Wysiwyg: https://www.drupal.org/project/wysiwyg
Bajar librerías de TyniMCE (Versión 3.5.11):
O de CKEditor:
http://ckeditor.com/download
En este último caso modificar la línea 81 de sites\all\modules\wysigyg\editors\ckeditor.inc por esta:
if (preg_match(‘@version:\»(?:CKEditor )?([\d\.]+)(?:.+revision:\»([\d]+))?@’, $line, $version)) {
Las tenemos que guardar en sites\all\libreries
Tenemos que configurar qué editor vamos a usar para cada estilo y los botones que añadiremos a cada uno. ¡Ojo con el BBcode en el tinyMCE, que nos quita las imágenes!
IMCE: Para subir imágenes:
https://www.drupal.org/project/imce
https://www.drupal.org/project/imce_wysiwyg
3.- Menús
Instalar el módulo superfish:
https://www.drupal.org/project/superfish
Y bajar la librería superfish:
https://github.com/mehrpadin/Superfish-for-Drupal/archive/1.x.zip
4.- Vistas
Necesitamos los siguientes módulos:
Chaos Tools
https://www.drupal.org/project/ctools
Views
https://www.drupal.org/project/views
5.- Otros tipos de campos:
Fechas:
http://drupal.org/project/date
Youtube:
https://www.drupal.org/project/youtube
Referencias a nodos:
https://www.drupal.org/project/references