Ir al contenido principal

Creación de sitios web con Drupal

Sitios multi idioma:
- El orden en que se crean los contenidos multi idioma no afecta al funcionamiento correcto de multi idioma. Es decir, se puede crear primero en inglés o bien en otro idioma.
- Si el idioma L1 no tiene path prefijo (1) (ej. sin prefijo: inglés -> misitio.com ; ej. con prefijo: castellano -> misitio.com/es) Cuando el idioma detectado (2) no es L1, no se puede pasar a L1 a través del bloque idiomas (3).
(1) Configuration › Regional and language > Languages (misitio.com/admin/config/regional)
(2) Configuration > Regional and Language > Languages > Language Detection and Selection,  
(3) Structure > Blocks > Language switcher (User interface text)
Ejemplo 1:
El sitio web tiene contenido de la home page en idiomas L1 (misitio.com) y en L2 (misitio.com/l2)
El usuario entra a la home: misitio.com
La detección del idioma del usuario es: L1
Se puede cambiar de L1 a L2 y vice versa
Ejemplo 2:
El sitio web tiene contenido de la home page en idiomas L1 (misitio.com/l1) y en L2(misitio.com/l2)
Otro usuario entra a la página home: misitio.com
La detección del idioma de este usuario es: L2
La página se muestra en L2
El link a la versión en L1 en el bloque de idiomas apunta a la URL en L1 de la home (misitio.com), pero al ir ahí, el contenido se presenta siempre en L2.
Solución de compromiso: setear path prefijo a todos los idiomas, incluso inglés.

Referencias externas:
HowTo: Different home page (default front page) for each language
multilingual front pages (Lo mismo que el de arriba para Drupal 6.x)
Front page redirect

Module Redirect
Module globalredirect (mergeado en Redirect, se puede usar en forma separada)
Drupal 7's new multilingual systems (part 8) - Menu languages and translation

Module Pathologic (Cuando se mueve un sitio Drupal de carpeta raíz, y preservar los links sanos)
Está implementado como un Input Filter. Dado que los Input Filter están pensados para filtrar el contenido que ingresa el usuario (page, story, article), hay que ver si está contemplado el arreglo de links en un contenido que ya está guardado, al momento de servirlo (cuando el usuario lo accede / le hace un hit).
Module Pathauto
Genera path alias para los contenidos (story, article, page), a partir de sus atributos (título, fecha de creación, usuario del post) basado en un patrón de generación.

Síntoma: "warning safe restriction in effect the process whose uid is... cannot write to directory owned by..."
Problema: Unas pocas releases de PHP permitían el uso de una directiva "safe mode" para manejar temas de seguridad sobre el filesystem. El directorio de upload de IMCE en gral. no tiene problemas, pero el de upload de imágenes e íconos de los themes sí.
Solución: sacar "safe mode" por medio de php.ini, si bien en un host alquilado es probable que no se permita. Otra solución es apuntar el directorio temporal de uploads (la causa más común) a uno creado por nosotros, en Configuration > Media > Filesystem


Galerías de imágenes
https://www.drupal.org/project/content_menu
https://www.drupal.org/project/cck
https://www.drupal.org/project/cck_blocks
https://www.drupal.org/project/views
https://www.drupal.org/project/fbg
https://www.drupal.org/project/media_gallery
https://www.drupal.org/node/2152441
https://www.drupal.org/project/views_slideshow
http://megadrupal.com/blog/creating-an-image-gallery-in-drupal-7
https://www.drupal.org/project/node_gallery
https://www.drupal.org/project/facebook_album_fetcher
https://www.drupal.org/project/fbphoto
https://www.drupal.org/project/brilliant_gallery
https://www.drupal.org/project/fast_gallery
https://www.drupal.org/project/photos y https://www.drupal.org/node/2205931
http://jamestombs.co.uk/2011-05-26/create-album-based-image-gallery-drupal-7-using-fields-and-views
http://www.jacklmoore.com/colorbox/example2/
http://drupal.stackexchange.com/questions/1435/what-are-the-photo-gallery-album-module-choices-for-drupal-7

Diseño de Sitios web WYSIWYG sin Drupal (free software)

http://www.wysiwygwebbuilder.com/cms_tools.html
http://gpeasy.com/True_WYSIWYG
http://respondcms.com/
http://www.webgui.org/wiki/wysiwyg-editor-options
http://www.cmswire.com/cms/web-cms/goodbye-wysiwyg-for-web-content-management-systems-023207.php
http://www.wymeditor.org/

Comentarios

Entradas populares de este blog

Crear proyecto de frontend con Vite, React, Tailwind, Typescript y JSX

 ¿Cómo se crea un proyecto exclusivo de frontend con Vite, React, Tailwind, Typescript y JSX? ¡Absolutamente! Entiendo que quieres la guía completa para pasar de cero a tener un proyecto de frontend moderno, vacío y listo para ser llenado con tu código. A continuación, te proporciono un archivo de guía detallada que incluye todos los comandos necesarios para inicializar el proyecto, configurar Tailwind CSS, y los pasos clave para empezar a "poblarlo". Voy a generar un documento Markdown con la guía paso a paso, incluyendo los comandos de terminal y las modificaciones esenciales a los archivos de configuración. Guía: Creación de un Proyecto Frontend Puro (Vite, React, TypeScript, Tailwind) Este documento detalla el proceso para inicializar un proyecto de frontend vacío y optimizado, utilizando Vite como empaquetador, React como librería, TypeScript para tipado y Tailwind CSS para estilizado. 1. Inicialización del Proyecto con Vite Vite es la herramienta más rápida para emp...

Tokens V2

Tokens: Programme to discover tokens, where there are not. Now available at  https://puszcza.gnu.org.ua/projects/tokens/ This is Version 2, for  version 1, go here . Synopsis: use TokensV2; sub printFile; my @FORMAT = ( ['<Message Date=".*?" Time=".*?" DateTime=".*?" SessionID=".*?"><From>(?:<User FriendlyName=".*?"/>)+</From><To>(?:<User FriendlyName=".*?"/>)+</To><Text(?: Style=".*?")?>.*?</Text></Message>',   sub {     my $fh = $_[1];     my ($d, $t, $f, $s, $T) = $_[0] =~ m|<Message Date="(.*?)" Time="(.*?)" DateTime=".*?" SessionID=".*?">(<From>(?:<User FriendlyName=".*?"/>)+</From>)<To>(?:<User FriendlyName=".*?"/>)+</To><Text(?: Style="(.*?)")?>(.*?)</Text></Message>|;     my $F = join '<br />', ...

Perl Net::LDAP::SimpleServer

Adaptaciones sobre el módulo LDAP Server para Windows (Strawberry Perl) Lista de adaptaciones (continúa más abajo): - Relajación de condiciones de bind:     - Cuenta principal (principal account)     - Validación de contraseñas Ubicación del archivo: %Strawberry_Perl%\site\lib\net\ldap\SimpleServer\ProtocolHandler.pm CPAN: http://search.cpan.org/~russoz/Net-LDAP-SimpleServer-0.0.17/lib/Net/LDAP/SimpleServer.pm Código: package Net::LDAP::SimpleServer::ProtocolHandler; use strict; use warnings; # ABSTRACT: LDAP protocol handler used with Net::LDAP::SimpleServer our $VERSION = '0.0.17';    # VERSION use Net::LDAP::Server; use base 'Net::LDAP::Server'; use fields qw(store root_dn root_pw allow_anon); use Carp; use Net::LDAP::LDIF; use Net::LDAP::Util qw{canonical_dn}; use Net::LDAP::FilterMatch; use Net::LDAP::Constant (     qw/LDAP_SUCCESS LDAP_AUTH_UNKNOWN LDAP_INVALID_CREDENTIALS/,   ...