{"id":7470,"date":"2012-05-28T21:02:58","date_gmt":"2012-05-28T21:02:58","guid":{"rendered":"https:\/\/toolset.com\/2012\/03\/types-y-views-0-9-5-relacionar-entradas-mejor-rendimiento-e-interfaz-con-streamline\/"},"modified":"2019-05-13T14:57:24","modified_gmt":"2019-05-13T14:57:24","slug":"types-y-views-0-9-5-relacionar-entradas-mejor-rendimiento-e-interfaz-con-streamline","status":"publish","type":"post","link":"https:\/\/toolset.com\/es\/2012\/05\/types-y-views-0-9-5-relacionar-entradas-mejor-rendimiento-e-interfaz-con-streamline\/","title":{"rendered":"Types y Views 0.9.5 | relacionar entradas, mejor rendimiento e interfaz con streamline"},"content":{"rendered":"<p><strong>Nos complace anunciar una nueva edici\u00f3n de Types y Views 0.9.5. Esta versi\u00f3n es el resultado de dos meses de intenso desarrollo por parte del equipo completo, trayendo una cantidad de nuevas caracter\u00edsticas, mejoras y algunas reparaciones.<\/strong><\/p>\n<p>Como siempre, nuestra meta es hacer que usted construya sitios m\u00e1s ricos con Types y Views, adem\u00e1s de hacerlo con mayor facilidad.<\/p>\n<p>Al <a title=\"Campos Repeater para Types y Views\" href=\"https:\/\/toolset.com\/2011\/12\/repeater-fields-for-types-and-views\/\">consultarles acerca de campos repeater<\/a>, recibimos una gran cantidad de respuestas que nos ayudaron a implementar las nuevas funcionalidades para esta edici\u00f3n. Tras una revisi\u00f3n cuidadosa, concluimos que las matrices de campo para la entrada &#8216;parent&#8217; no armonizaban con la forma de funcionamiento de Types y Views. Profundizamos el an\u00e1lisis y logramos nuestra propia arquitectura para implementar matrices de informaci\u00f3n relacionada.<\/p>\n<p>Muchas de las muestras usan ejemplos de los que hemos hablado, tales como <em>artistas que tienen shows<\/em>, <em>productos que tienen beneficios<\/em> y otras cosas que se asemejan fuertemente a la relaci\u00f3n parent \/child entre distintas entradas.<\/p>\n<figure id=\"attachment_6786\" aria-describedby=\"caption-attachment-6786\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/toolset.com\/wp-content\/uploads\/2012\/05\/carrental1.jpg\"><img decoding=\"async\" class=\"size-medium wp-image-6786\" title=\"alquiler de autom\u00f3viles\" src=\"https:\/\/toolset.com\/wp-content\/uploads\/2012\/05\/carrental-300x1912.jpg\" alt=\"esquema de un sitio web de alquiler de autom\u00f3viles\" width=\"300\" height=\"191\" \/><\/a><figcaption id=\"caption-attachment-6786\" class=\"wp-caption-text\">Contratos, que conectan gente personas con veh\u00edculos<\/figcaption><\/figure>\n<p>Luego, para construir precisamente una estructura m\u00e1s s\u00f3lida decidimos a\u00f1adir un framework completo para interrelacionar parent\/child tanto para Types como para Views. Al igual que antes, Types define la relaci\u00f3n, mientras que Views se ocupa de lo visual.<\/p>\n<p>Para obtener la misma funcionalidad que con campos repeater que pertenecen a un tipo de entrada, hemos a\u00f1adido una forma de hacer que un tipo de entrada se convierta en parent de otro, ADEM?S de editar las entradas child directamente desde el editor de la entrada parent. Esto proporciona una forma ventajosa de editar informaci\u00f3n repetitiva sin sacrificar la integridad de la base de datos.<\/p>\n<h2>Relaci\u00f3n entre entradas<\/h2>\n<p>Con Types 0.9.5, cuando edite una definici\u00f3n de tipo de entrada personalizado ver\u00e1 una nueva secci\u00f3n &#8216;relaci\u00f3n entre entradas&#8217;.<\/p>\n<figure id=\"attachment_7010\" aria-describedby=\"caption-attachment-7010\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/toolset.com\/wp-content\/uploads\/2012\/05\/post-relationship-editing1.png\"><img decoding=\"async\" class=\"size-medium wp-image-7010\" title=\"editar relaciones entre entradas\" src=\"https:\/\/toolset.com\/wp-content\/uploads\/2012\/05\/post-relationship-editing-300x1172.png\" alt=\"\" width=\"300\" height=\"117\" \/><\/a><figcaption id=\"caption-attachment-7010\" class=\"wp-caption-text\">Panel para relaciones entre entradas<\/figcaption><\/figure>\n<p>Una vez que haya convertido una entrada en child de la otra, habr\u00e1 inaugurado todo un juego de posibilidades.<\/p>\n<ul>\n<li>Usted puede editar entradas child desde adentro del editor del parent (ver <strong>Tablas de campos<\/strong>, m\u00e1s abajo).<\/li>\n<li>Cuando usted edita una entrada child puede indicar a d\u00f3nde pertenece tal entrada, utilizando para ello un box desplegable parent.<\/li>\n<li>Cuando usted visualiza entradas parent con una View, puede mostrar los campos de las entradas child.<\/li>\n<\/ul>\n<p>Ya existe una <a href=\"\/?page_id=28674\">p\u00e1gina instructiva acerca de c\u00f3mo relacionar entradas<\/a>. Muestra un simple ejemplo de una casa que posee habitaciones (pero estas tambi\u00e9n pueden incluir mobiliario) y otro ejemplo m\u00e1s complejo, pero muy realista, de un sitio de autos de alquiler.<\/p>\n<p>Cuando Ud. define relaciones entre entradas, permite que una entrada apunte hacia otra. Usted puede usar esta relaci\u00f3n para <a href=\"\/?page_id=30115\">visualizar campos que pertenecen a los parents<\/a>.<\/p>\n<h2>Tablas de campos<\/h2>\n<p>Ahora que ha definido relaciones entre entradas, es hora de darles buen uso.<\/p>\n<p>En primera instancia, usted podr\u00eda desear a\u00f1adir ciertos campos personalizados a las entradas child. Luego, estar\u00e1 en condiciones de editar las entradas child y sus campos personalizados en una tabla prolija directamente a partir de la entrada parent.<\/p>\n<figure id=\"attachment_6658\" aria-describedby=\"caption-attachment-6658\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/toolset.com\/wp-content\/uploads\/2012\/05\/completed-field-table1.png\"><img decoding=\"async\" class=\"size-medium wp-image-6658\" title=\"tabla de campos completa\" src=\"https:\/\/toolset.com\/wp-content\/uploads\/2012\/05\/completed-field-table-300x2662.png\" alt=\"una tabla de campos con 5 filas de contenido: cada \u00edtem de contenido es un tipo de entrada de habitaci\u00f3n individual\" width=\"300\" height=\"266\" \/><\/a><figcaption id=\"caption-attachment-6658\" class=\"wp-caption-text\">Edici\u00f3n de elementos child desde la entrada parent<\/figcaption><\/figure>\n<p>Pero espere, \u00bfes esto exactamente lo mismo que campos repeater?<\/p>\n<p>No realmente. Hay toda una cantidad m\u00e1s que editar en las entradas child en una tabla.<\/p>\n<p>Una entrada child puede pertenecer a distintos parents. En nuestro <a href=\"https:\/\/toolset.com\/es\/documentacion\/editar-campos-personalizados-de-entradas-child\/\">ejemplo de alquiler de autom\u00f3viles<\/a>, los contratos pertenecen a una persona y a un veh\u00edculo. Al editar una persona, podr\u00e1 ver todos los contratos de alquiler que posee. Al editar un autom\u00f3vil, usted ver\u00eda todos los clientes que han alquilado esta unidad o el cronograma en que lo har\u00e1n.<\/p>\n<p>El tipo &#8220;rental agreement&#8221; (contrato de alquiler) puede tener numerosos campos. No todos ellos son relevantes para todos los parents, de modo que Types le permite escoger qu\u00e9 campos visualizar a la hora de editar cada parent.<\/p>\n<p>Le sugerimos leer m\u00e1s acerca de <a href=\"https:\/\/toolset.com\/es\/documentacion\/editar-campos-personalizados-de-entradas-child\/\">edici\u00f3n en conjunto con Tablas de campos<\/a>, para ver c\u00f3mo trabaja el sistema y qu\u00e9 se puede obtener.<\/p>\n<h2>Visualizaci\u00f3n de contenidos child (Tablas de campos)<\/h2>\n<p>As\u00ed, hemos incorporado una manera de definir relaciones entre entradas y editar entradas child desde los parents. Ahora, lo que necesitamos es una manera de mostrar esta informaci\u00f3n.<\/p>\n<p>Views 0.9.5 puede consultar y filtrar entradas en funci\u00f3n de sus parents. Al crear una nueva View, y el tipo de entrada consultado posee parents, puede elegir filtrar por sus parents.<\/p>\n<p>Al igual que en el caso de p\u00e1ginas WordPress comunes, puede filtrar por el parent actual o por el parent establecido por la View. Espero que esta \u00faltima frase no resulte confusa. Significa, que Ud. puede tener f\u00e1cilmente Views anidadas, mostrando campos child. Por ejemplo, si se muestran casas, cada casa puede tener una View child para las habitaciones.<\/p>\n<p>Esta <a href=\"https:\/\/toolset.com\/es\/documentacion\/mostrar-campos-de-entradas-child\/\">p\u00e1gina instructiva sobre visualizaci\u00f3n de elementos child<\/a> explica c\u00f3mo mostrarlos f\u00e1cilmente usando una View o con la nueva API de PHP en Types 0.9.5.<\/p>\n<h2>Rendimiento<\/h2>\n<p>Siempre es divertido optimizar nuestro c\u00f3digo y hacer que corra m\u00e1s r\u00e1pido. Es especialmente divertido cuando nosotros mismos nos ocupamos de ellos en nuestro servidor de producci\u00f3n en <a href=\"https:\/\/toolset.com\/es\/\">wp-types.com<\/a> y <a href=\"http:\/\/wpml.org\">wpml.org.<\/a><\/p>\n<p>Esta edici\u00f3n gana enormemente en rendimiento en dos puntos:<\/p>\n<ul>\n<li>En el administrador de WordPress, donde realizamos escasas consultas SQL en las p\u00e1ginas de edici\u00f3n de entrada y de configuraci\u00f3n de Types.<\/li>\n<li>Las cargas de p\u00e1ginas AJAX se ejecutan ahora sin llamar al wp-admin y admiten cache. En cifras: en nuestro servidor 8 core dedicado, esto reduce 2.5 segundos a menos de 0.1 segundo. Si est\u00e1 usando actualizaciones AJAX en sus Views, va a notar la mejora de inmediato.<\/li>\n<\/ul>\n<h2>Interfaz con streamline<\/h2>\n<p>Entre todas las nuevas y brillantes funcionalidades, mejoras de rendimiento y soluci\u00f3n de bugs, este es realmente mi nuevo elemento favorito en Types y Views 0.9.5.<\/p>\n<p>Supongamos que soy su webmaster. Esto significa que creo nuevas Views y Content Templates. Tengo otras pocas tareas diarias, de tal modo que mi rol de webmaster me insume el menor tiempo posible (y puedo llevar adelante el negocio).<\/p>\n<p>Hasta esta edici\u00f3n, el di\u00e1logo emergente para insertar campos (que se obtiene haciendo clic en los \u00edconos &#8216;insertar campo&#8217; o V) estaba un poco abarrotado. Puede congestionarse bastante si se tiene gran cantidad de campos personalizados en el sitio (tal como ocurre).<\/p>\n<p>Para m\u00ed, esto representaba un problema. Yo sab\u00eda lo que quer\u00eda insertar, pero me llevaba 3 minutos encontrarlo en la pantalla.<\/p>\n<figure id=\"attachment_7029\" aria-describedby=\"caption-attachment-7029\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/toolset.com\/wp-content\/uploads\/2012\/05\/only-relevant-fields1.png\"><img decoding=\"async\" class=\"size-medium wp-image-7029\" title=\"s\u00f3lo campos relevantes\" src=\"https:\/\/toolset.com\/wp-content\/uploads\/2012\/05\/only-relevant-fields-300x2272.png\" alt=\"\" width=\"300\" height=\"227\" \/><\/a><figcaption id=\"caption-attachment-7029\" class=\"wp-caption-text\">Mostrar s\u00f3lo campos relevantes en popup<\/figcaption><\/figure>\n<p>Views hace todo lo que puede por eliminar opciones y mostrarle los campos relevantes. Al crear una View, sabe exactamente qu\u00e9 tipos de contenido est\u00e1 usando. En Content Templates, muestra todo, pero m\u00e1s ordenadamente.<\/p>\n<p>Hay un peque\u00f1o bloque de b\u00fasqueda. Pruebe escribir algo. Ver\u00e1, que la lista de campos se ajusta inmediatamente eliminando campos irrelevantes. Tras introducir unos caracteres, se le mostrar\u00e1 inmediatamente el campo que desea insertar.<\/p>\n<h2>Estabilidad<\/h2>\n<p>Debido a que tuvimos un tiempo c\u00f3modo para desarrollar y revisar esta edici\u00f3n, sentimos que es la edici\u00f3n m\u00e1s estable hasta la fecha. Es la primera vez que hemos pasado Types y Views por todo nuestro ciclo completo de garant\u00eda de calidad. Esto revel\u00f3 numerosos bugs, desde errores de escritura hasta problemas en el PHP.<\/p>\n<p>Types y Views 0.9.5 ya constituyen la plataforma de nuestros sitios propios y nos encanta c\u00f3mo funcionan para nosotros.<\/p>\n<h2>Reparaci\u00f3n de errores<\/h2>\n<p>La mayor\u00eda de los bugs fueron dif\u00edciles de encontrar, y son a\u00fan m\u00e1s dif\u00edciles de explicar. No obstante, destacamos algunas cosas:<\/p>\n<ul>\n<li><strong>Integraci\u00f3n con WPML<\/strong>: ahora que wp-types.com se vuelve multiling\u00fce, notamos unos pocos puntos donde Views colocaba elementos de la base de datos en el idioma equivocado.<\/li>\n<li><strong>Campos sin renderizado<\/strong>: esto se sit\u00faa en alg\u00fan punto intermedio entre Types y el n\u00facleo de WordPress. Dado que no podemos controlar WordPress, solucionamos todo lo posible de nuestro lado. Ahora, Types insertar\u00e1 campos que son 100% compatibles con el parseo que hace WordPress de los shortcodes, asegurando que todos los campos se muestren.<\/li>\n<\/ul>\n<h2>Obtener Types y Views 0.9.5<\/h2>\n<p>Puede descargar Types 0.9.5 de su cuenta de wp-types. Views 0.9.5 s\u00f3lo est\u00e1 disponible para clientes de Views. Inicie sesi\u00f3n en su cuenta de toolset.com y haga clic en <strong>Downloads.<\/strong><\/p>\n<p>Hemos realizado una inmensa cantidad de pruebas sobre estas versiones, las cuales ya hacen funcionar nuestros sitios. Sin embargo, se trata de una actualizaci\u00f3n importante; por lo tanto, <strong>antes de actualizar sus sitios en l\u00ednea se le sugiere realizar un backup de la base de datos.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nos complace anunciar una nueva edici\u00f3n de Types y Views 0.9.5. Esta versi\u00f3n es el resultado de dos meses de intenso desarrollo por parte del equipo completo, trayendo una cantidad de nuevas caracter\u00edsticas, mejoras y algunas reparaciones. Como siempre, nuestra meta es hacer que usted construya sitios m\u00e1s ricos con Types y Views, adem\u00e1s de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"ep_exclude_from_search":false,"footnotes":""},"categories":[502],"tags":[],"class_list":["post-7470","post","type-post","status-publish","format-standard","hentry","category-anuncios"],"_links":{"self":[{"href":"https:\/\/toolset.com\/es\/wp-json\/wp\/v2\/posts\/7470","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/toolset.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/toolset.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/toolset.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/toolset.com\/es\/wp-json\/wp\/v2\/comments?post=7470"}],"version-history":[{"count":8,"href":"https:\/\/toolset.com\/es\/wp-json\/wp\/v2\/posts\/7470\/revisions"}],"predecessor-version":[{"id":1243086,"href":"https:\/\/toolset.com\/es\/wp-json\/wp\/v2\/posts\/7470\/revisions\/1243086"}],"wp:attachment":[{"href":"https:\/\/toolset.com\/es\/wp-json\/wp\/v2\/media?parent=7470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/toolset.com\/es\/wp-json\/wp\/v2\/categories?post=7470"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/toolset.com\/es\/wp-json\/wp\/v2\/tags?post=7470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}