{"id":2201,"date":"2012-06-28T08:06:02","date_gmt":"2012-06-28T08:06:02","guid":{"rendered":"http:\/\/www.apprentalonline.es\/blog\/?p=2201"},"modified":"2012-06-28T08:06:02","modified_gmt":"2012-06-28T08:06:02","slug":"sistema-de-archivos-en-concrete5","status":"publish","type":"post","link":"https:\/\/www.k3bone.com\/blog\/2012\/06\/sistema-de-archivos-en-concrete5\/","title":{"rendered":"Sistema de archivos en Concrete5"},"content":{"rendered":"<p><a href=\"https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2012\/06\/concrete5-editing.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2231\" title=\"concrete5-editing\" src=\"https:\/\/www.k3bone.com\/blog\/wp-content\/uploads\/2012\/06\/concrete5-editing.jpg\" alt=\"\" width=\"940\" height=\"301\" \/><\/a><\/p>\n<p>En el <a title=\"Como instalar Concrete5\" href=\"http:\/\/www.apprentalonline.es\/blog\/2012\/05\/como-instalar-concrete5\/\" target=\"_blank\" rel=\"noopener\">anterior tutorial<\/a>, hicimos un repaso de c\u00f3mo <strong>instalar Concrete5<\/strong>, y hoy vamos a ver el <strong>Sistema de archivos en Concrete5<\/strong>, es decir, como est\u00e1 jerarquizado <strong>Concrete5<\/strong> en carpetas, para entender mejor como funciona y sobre todo donde hay que \u201catacar\u201d cuando tengamos un problema o queramos modificar algo.<\/p>\n<p>Vamos a ir detallando cada una de las carpetas:<\/p>\n<p><strong>\/blocks<\/strong>: Esta carpeta, que en el inicio de la instalaci\u00f3n no tiene ning\u00fan contenido, contendr\u00e1 los bloques que vayamos a\u00f1adiendo mediante \u201cAdd Block\u201d en el edici\u00f3n de contenido.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/img442.imageshack.us\/img442\/6433\/concrete5blockareas.png\" alt=\"Block Areas de Concrete5\" \/><\/p>\n<p><strong>\/concrete<\/strong>: Es el directorio de la aplicaci\u00f3n, donde se encuentran los propios archivos del coraz\u00f3n de Concrete5.<\/p>\n<p><strong>\/config<\/strong>: Aqu\u00ed tenemos el archivo \u201c<strong>site.php<\/strong>\u201d. La configuraci\u00f3n como vimos en el anterior art\u00edculo, la a\u00f1adimos durante la instalaci\u00f3n de Concrete5 donde viene informado los datos de conexi\u00f3n a la base de datos. O tambi\u00e9n contiene el archivo \u201c<strong>site_theme_paths.php<\/strong>\u201d donde se permite al desarrollador especificar ciertas \u00e1reas de la plantilla manualmente.<\/p>\n<p><strong>\/controllers<\/strong>: En esta carpeta tenemos los controladores de las p\u00e1ginas, vistas y m\u00f3dulos del panel de control que usemos en nuestro sitio web. Es una carpeta t\u00edpica en el uso del <strong>patr\u00f3n MVC<\/strong> (Model, View, Controller)<\/p>\n<p><strong>\/elements<\/strong>: Esta carpeta nos servir\u00e1 para guardar peque\u00f1os trozos de c\u00f3digo PHP que vayamos a reusar en nuestro sitio web, como por ejemplo puede ser el menu de la cabecera, que usaremos durante todo el sitio, y as\u00ed no tener que poner el mismo c\u00f3digo en todas las p\u00e1ginas.<\/p>\n<p><strong>\/files<\/strong>: Contendr\u00e1 todos los archivos a\u00f1adidos por el usuario a trav\u00e9s del CMS Concrete5, aunque tambi\u00e9n puede tener informaci\u00f3n de cache o logs.<\/p>\n<p><strong>\/helpers<\/strong>: Esta carpeta tambi\u00e9n tiene la funci\u00f3n de reusar funciones basados en asistencia o ayuda. Puedes incluir tus propias funciones de ayudas.<\/p>\n<p><strong>\/libraries<\/strong>: Existe una diferencia entre helpers y libraries en que esta \u00faltima tiene m\u00e1s alcance y los archivos de helpers ayudan a un prop\u00f3sito espec\u00edfico.<\/p>\n<p><strong>\/Mail<\/strong>: En este directorio est\u00e1n incluidas todas las plantillas de correo electr\u00f3nico que utiliza tu sitio web, as\u00ed como el ayudante de correo.<\/p>\n<p><strong>\/models<\/strong>: Contiene las clases PHP para bases de datos. Para realizar accesos a la base de datos, tendr\u00e1s que crear clases espec\u00edficas en esta carpeta con las querys.<\/p>\n<p><strong>\/single_pages<\/strong>: Las p\u00e1ginas individuales como Login, Registro, se encuentran en este directorio.<\/p>\n<p><strong>\/themes<\/strong>: Sitio donde se encuentre el theme por defecto de Concrete5 y donde nosotros podremos incluir un theme personalizado o descargado.<\/p>\n<p><strong>\/tools<\/strong>: Podemos llamarlo como el popurr\u00ed de archivos que necesitemos para nuestro Concrete5, es decir, el caj\u00f3n desastre de scripts necesarios y que no podamos categorizar en los anteriores directorios.<\/p>\n<p><strong>\/config<\/strong>: Directorio de configuraci\u00f3n interna de Concrete5 y contiene el archivo principal de la instalaci\u00f3n de la base de datos y otras constantes.<\/p>\n<p><strong>\/css<\/strong>: Las hojas de estilo usadas por el gestor de contenidos.<\/p>\n<p><strong>\/flash<\/strong>: Archivos flash usados por el gestor de contenidos.<\/p>\n<p><strong>\/images<\/strong>: El directorio donde tendremos todas las im\u00e1genes usadas por los componentes de interface de Concrete5.<\/p>\n<p><strong>\/js<\/strong>: Al igual que la anterior, pero en este caso lo que contiene son archivos tipo Javascript.<\/p>\n<p><strong>\/packages<\/strong>: Contiene directorios que se pueden acceder desde todo el sistema. Desde este directorio podriamos acceder desde dos sitios web distintos de una misma instalaci\u00f3n. En ella podemos incluir: p\u00e1ginas simples, bloques, elementos, m\u00f3dulos del panel de control, controladores, plantillas de e-mail y plantillas web.<\/p>\n<p><strong>\/startup<\/strong>: Se incluyen subrutinas que se carga una web mediante el dispatcher.php<\/p>\n<p>Aunque haya sido un poco t\u00e9cnico este art\u00edculo, es necesario conocer el esqueleto de <strong>Concrete5<\/strong> para que cuando tengamos que modificar algo o incluir, sepamos donde acudir r\u00e1pidamente.<\/p>\n<p><strong>Informaci\u00f3n Relacionada: <\/strong><a title=\"Tu Concrete5 desde s\u00f3lo 5,45\u20ac\/mes\" href=\"http:\/\/www.apprentalonline.es\/concrete5.php\" target=\"_blank\" rel=\"noopener\">Tu Concrete5 desde s\u00f3lo 5,45\u20ac\/mes!<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el anterior tutorial, hicimos un repaso de c\u00f3mo instalar Concrete5, y hoy vamos a ver el Sistema de archivos en Concrete5, es decir, como est\u00e1 jerarquizado Concrete5 en carpetas, para entender mejor como funciona y sobre todo donde hay que \u201catacar\u201d cuando tengamos un problema o queramos modificar algo. Vamos a ir detallando cada [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":2231,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[134],"tags":[76,133,60],"class_list":["post-2201","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-concrete5-web-apps","tag-cms","tag-concrete5","tag-customizacion"],"featured_image_src":{"landsacpe":false,"list":false,"medium":false,"full":false},"_links":{"self":[{"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/posts\/2201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/comments?post=2201"}],"version-history":[{"count":0,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/posts\/2201\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/media?parent=2201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/categories?post=2201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.k3bone.com\/blog\/wp-json\/wp\/v2\/tags?post=2201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}