{"id":2768,"date":"2018-09-09T17:05:41","date_gmt":"2018-09-09T15:05:41","guid":{"rendered":"https:\/\/www.hiberus.com\/blog\/?p=2768"},"modified":"2023-12-13T11:57:49","modified_gmt":"2023-12-13T10:57:49","slug":"10-errores-drupal-comunes-a-evitar","status":"publish","type":"post","link":"https:\/\/www.hiberus.com\/crecemos-contigo\/10-errores-drupal-comunes-a-evitar\/","title":{"rendered":"10 Errores Drupal a evitar en la creaci\u00f3n de un sitio"},"content":{"rendered":"<p>Drupal es una de las plataformas CMS m\u00e1s potentes, pero hay que conocer los errores m\u00e1s comunes que puede cometer un desarrollador en este CMS.<\/p>\n<p>A continuaci\u00f3n, los 10 errores m\u00e1s comunes que se dan desarrollando en Drupal que debemos evitar, conocerlos nos\u00a0permitir\u00e1 no caer en errores t\u00edpicos cuando no se conoce la plataforma en detalle.<\/p>\n<h2>Errores drupal estructurales de contenido<\/h2>\n<h3>1. Demasiados tipos de contenido<\/h3>\n<p>Es muy habitual usar tipos de contenido muy similares para mostrar\u00a0el mismo tipo de informaci\u00f3n. <strong>Estandariza<\/strong>, es decir, hay que identificar\u00a0los campos que pueden ser comunes antes de crear\u00a0el\u00a0contenido. Esto podr\u00eda confundir a la persona encargada de crear el contenido en el sitio web.<\/p>\n<h3>2. No reusar campos<\/h3>\n<p>Debemos saber que existen ventajas y desventajas a la hora de reusar campos. No se deben crear muchos\u00a0nombres que se asocien en exceso al tipo de contenido, es preferible crear nombres gen\u00e9ricos que denoten exactamente el prop\u00f3sito de ese campo. Por ejemplo, Drupal trae por defecto un \u00fanico\u00a0campo creado, el <strong>body<\/strong>, que puede ser usado para cualquier tipo de contenido se cree en un\u00a0futuro y<strong> que almacena informaci\u00f3n gen\u00e9rica<\/strong>.\u00a0Si hubi\u00e9ramos creado un campo del tipo \u00abdescripci\u00f3n de noticias\u00bb, donde\u00a0autom\u00e1ticamente se crea un identificador interno para ese campo del estilo \u00ab<em>field_descripci_n_de_noticias<\/em>\u00ab, seguramente no se nos ocurrir\u00eda utilizarlo tambi\u00e9n\u00a0para otro tipo de contenido (por ejemplo para Descripciones), cuando el tipo de informaci\u00f3n que va a almacenar es pr\u00e1cticamente el mismo.<\/p>\n<p>Algunas de las configuraciones de los campos son \u00abtransversales\u00bb, es decir, se comparte entre los tipos de contenido que lo usan. Por\u00a0ejemplo, si el campo es traducible o no, el n\u00famero de valores que puede almacenar, o en el caso donde el vocabulario asociado al\u00a0tipo de campo es una Referencia a T\u00e9rmino. Un buen ejemplo para nombre de campo puede ser Imagen o Im\u00e1genes, en ese caso veremos r\u00e1pidamente para qu\u00e9 sirve cada uno.<\/p>\n<h3>3. Tipos de contenidos no usados<\/h3>\n<p>Los sitios web que construimos no son est\u00e1ticos, sino que se adaptan a las necesidades de un cliente. En general, se van simplificando para permitir un d\u00eda a d\u00eda m\u00e1s eficiente. Por ello, es importante que hagamos un <strong>an\u00e1lisis peri\u00f3dico de nuestros sitios web y veamos si los tipos de contenido que hemos creado est\u00e1n siendo usados.<\/strong><\/p>\n<h2><\/h2>\n<h2>Errores drupal de visualizaci\u00f3n de contenido<\/h2>\n<p>Los 3 puntos anteriores hablaban de errores arquitecturales de nuestra aplicaci\u00f3n web, ahora vamos a repasar algunos errores t\u00edpicos a la hora de mostrar nuestro contenido.<\/p>\n<h3>4. Los filtros contextuales son tus amigos<\/h3>\n<p>El m\u00f3dulo vistas, es uno de los m\u00f3dulos m\u00e1s usados con diferencia en Drupal 7, y por ello, ha sido incluido en el core de Drupal. Esto dar\u00e1 una gran estabilidad a uno de los m\u00f3dulos m\u00e1s famosos y \u00fatiles de Drupal. No hagas una vista nueva para cada listado que vayas a mostrar. <strong>Los filtros contextuales te permiten que mediante el uso de URL\u00b4s amigables puedan filtrar el contenido seg\u00fan estos par\u00e1metros. <\/strong><\/p>\n<p>Si po<span style=\"color: #000000;\">r ejemplo,<\/span> tenemos Hoteles dados de alta en un tipo de contenido y queremos un listado de todos ellos, podremos implementar una vista. Una aproximaci\u00f3n incorrecta, ser\u00eda crear una vista nueva para mostrar los Hoteles de la ciudad de Bilbao, cu\u00e1ndo podemos solucionarlo con un filtro contextual en la misma vista anterior. Esto permitir\u00e1 adem\u00e1s, que conforme vayan creciendo los hoteles dados de alta, y por tanto, las ciudades, no tengas que estar creando vistas por cada nueva ciudad que tenga hoteles.<\/p>\n<h3>5. No sobrevalores tus artes \u00abNINJA\u00bb<\/h3>\n<p>Es muy habitual ver c\u00f3digo en templates o funciones de preprocesado en proyectos que han sido desarrollados por empresas que vienen de hechos a medida, poco acostumbrados al uso de m\u00f3dulos. Evita siempre esto, existen multitud de m\u00f3dulos que implementan formateadores muy variados, busca antes. Sobre todo, intenta siempre que los templates no contengan programaci\u00f3n.<\/p>\n<h2>Errores drupal de sitio o funcional<\/h2>\n<h3>6. Demasiados m\u00f3dulos<\/h3>\n<p>Revisi\u00f3n, revisi\u00f3n y m\u00e1s revisi\u00f3n. Durante la fase de desarrollo se prueban m\u00f3dulos, se activan, se pasa a usar otros&#8230; comprueba los m\u00f3dulos que usas y desactiva y desinstala los que no. Existen herramientas, m\u00f3dulos e incluso instrucciones en drush que te ayudan en esta labor<\/p>\n<ul>\n<li>http:\/\/www.drupalxray.com<\/li>\n<li><span style=\"color: #222222;\">drush pm-list &#8211;type=Module &#8211;no-core &#8211;status=enabled<\/span><\/li>\n<\/ul>\n<h3>7. Demasiados\u00a0roles<\/h3>\n<p>Muchos roles en tu sitio web har\u00e1 mucho m\u00e1s complicado gestionar el acceso a determinados m\u00f3dulos, campos o funcionalidades, adem\u00e1s de los posibles riesgos de seguridad.<\/p>\n<h3>8. NO reinventes la rueda<\/h3>\n<p>Drupal tiene cientos, miles de m\u00f3dulos contribuidos. No programes un nuevo m\u00f3dulo a no ser que hayas buscado previamente otros y ninguno se adapte a tus necesidades, quiz\u00e1s existe otro que se adapta parcialmente y puede servir al cliente.<\/p>\n<h3>9. \u00a1\u00bfPOR QU\u00c9 TOCAS?!<\/h3>\n<p>Nunca edites el core o modifiques el contenido de un m\u00f3dulo contribuido. Es muy habitual que los m\u00f3dulos contribuidos o el core sean actualizados, por lo que una actualizaci\u00f3n har\u00e1 que pierdas los cambios, o en su defecto, har\u00e1 la tarea de actualizaci\u00f3n muy pesada y costosa.<\/p>\n<p>Si encuentras errores de seguridad no los arregles s\u00f3lo en tu proyecto, eso har\u00e1 que adem\u00e1s de los problemas anteriores, otros desarrolladores tengan tu mismo problema, contribuye, haz un parche. De la misma manera, si crees que un m\u00f3dulo puede implementar una nueva funcionalidad, puedes ponerte en contacto con su \u00abmantenedor\u00bb y entra en la comunidad de Drupal.<\/p>\n<h3>10. Cuidado con los hooks<\/h3>\n<p>Los hooks son una herramienta muy potente que permite a los m\u00f3dulos modificar el comportamiento por defecto, pero usarlos incorrectamente puede traer muchos problemas, tanto de ca\u00eddas del sitio como de rendimiento.<\/p>\n<p>En Hiberus contamos con un departamento de\u00a0<strong>m\u00e1s de 60 desarrolladores Drupal<\/strong>. Nuestros m\u00e1s de 10 a\u00f1os de experiencia nos ha hecho trabajar en los principales <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/casos-de-exito-de-drupal\/\">casos de \u00e9xito Drupal<\/a> a nivel nacional. Cu\u00e9ntanos tu proyecto y conoce a nuestro equipo <a href=\"https:\/\/www.hiberus.com\/dxp\/drupal\">experto en Drupal<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.hiberus.com\/guias\/drupal11\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-29020\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/04\/Drupal10-horizntal-1024x535.jpg\" alt=\"\" width=\"678\" height=\"354\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/04\/Drupal10-horizntal-1024x535.jpg 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/04\/Drupal10-horizntal-300x157.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/04\/Drupal10-horizntal-768x401.jpg 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/04\/Drupal10-horizntal-360x188.jpg 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/04\/Drupal10-horizntal.jpg 1200w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n        <div class=\"row\">\n            <div class=\"block-cta-form\" style=\"background-color: #003664;\">\n                <div class=\"content-cta-form\">\n                    <div class=\"text-cta-form\">\n                        <p class=\"title-cta-form\">\u00bfQuieres m\u00e1s informaci\u00f3n sobre nuestros servicios de Drupal?<\/p>\n                        <p>Contacta con nuestro equipo de Drupal<\/p>\n                    <\/div>\n                    <div class=\"form-fields\">\n                        \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f33973-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"33973\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/2768#wpcf7-f33973-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"33973\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f33973-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<div id=\"responsive-form\" class=\"clearfix\">\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Nombre *\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellido\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Apellido *\" value=\"\" type=\"text\" name=\"apellido\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Correo corporativo *\" value=\"\" type=\"email\" name=\"correo\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telf-contacto\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Tel\u00e9fono *\" value=\"\" type=\"tel\" name=\"telf-contacto\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"compania\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Compa\u00f1ia *\" value=\"\" type=\"text\" name=\"compania\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Mensaje *\" name=\"mensaje\"><\/textarea><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"politica\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"politica\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">He le\u00eddo y acepto la <a href=\"https:\/\/www.hiberus.com\/politica\" target=\"_blank\"><u>Pol\u00edtica de privacidad<\/u><\/a><\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"marketing\"><span class=\"wpcf7-form-control wpcf7-acceptance optional\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"marketing\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Me gustar\u00eda recibir comunicaciones de marketing de Hiberus y sobre sus productos, servicios y eventos.<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Contacta con nosotros\" \/>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div id=\"campos_ocultos\" class=\"hidden\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new1\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new1\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new1\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new2\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new2\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new2\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new3\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new3\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new3\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new4\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new4\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new4\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new_p\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new_p\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new_p\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<!--end responsive-form--><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n","protected":false},"excerpt":{"rendered":"<p>Drupal es una de las plataformas CMS m\u00e1s potentes, pero hay que conocer los errores m\u00e1s comunes que puede cometer un desarrollador&#8230;<\/p>\n","protected":false},"author":34,"featured_media":19114,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_ayudawp_aiss_exclude":false,"footnotes":""},"categories":[3,232],"tags":[32,61],"class_list":{"0":"post-2768","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-negocio-electronico","8":"category-portales-dxp","9":"tag-drupal","10":"tag-portal-corporativo"},"acf":[],"_links":{"self":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/2768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/comments?post=2768"}],"version-history":[{"count":7,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/2768\/revisions"}],"predecessor-version":[{"id":38789,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/2768\/revisions\/38789"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media\/19114"}],"wp:attachment":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media?parent=2768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/categories?post=2768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/tags?post=2768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}