{"id":238,"date":"2011-10-07T11:30:15","date_gmt":"2011-10-07T14:30:15","guid":{"rendered":"http:\/\/thiagosantos.com\/blog\/?p=238"},"modified":"2011-10-10T10:09:12","modified_gmt":"2011-10-10T13:09:12","slug":"magento-colecao-de-produtos-catalogproduct_collection","status":"publish","type":"post","link":"https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/","title":{"rendered":"Magento &#8211; cole\u00e7\u00e3o de produtos \/ catalog\/product_collection"},"content":{"rendered":"<p style=\"text-align: justify;\">Em casos bem comuns trabalhando com ecommerce temos a necessidade em alguns momentos de ter em m\u00e3os uma lista de certos produtos. Sejam esses produtos de uma certa categoria, ou tageados com certas palavras chaves ou dentro de uma faixa de valor.<\/p>\n<p style=\"text-align: justify;\">O Magento trata essa lista de produtos como uma cole\u00e7\u00e3o de produtos, que possui um modelo pr\u00f3prio para tratar isso, criando uma interface simp\u00e1tica ao desenvolvedor para criar complexas consultas SQL. H\u00e1 duas formas de acessar essa interface do &#8220;Product Collection&#8221; usando o modelo do <em>catalog\/produc<\/em>t ou acessando diretamente o recurso do modelo , resource model, o <em>catalog\/product_collection<\/em>. Se voc\u00ea der uma olhada na classe Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection, encontrado pelo caminho core\/Mage\/Catalog\/Model\/Resource\/Eav\/Mysql4\/Product\/Collection.php, \u00e9 poss\u00edvel ver todos os m\u00e9todos dispon\u00edveis e como eles s\u00e3o implementados.<br \/>\n<!--more--><br \/>\n<strong><br \/>\nPrimeira Forma<\/strong><\/p>\n<pre lang=\"php\">$produtos = Mage::getModel('catalog\/product');\r\n$colecaoProdutos = $produtos-&gt;getCollection()\r\n                    -&gt;addAttributeToSelect('*')\r\n \u00a0\u00a0\u00a0\u00a0               -&gt;addAttributeToFilter(\r\n                                     'type_id',\r\n                                     array('eq' =&gt; 'customproduct')\r\n                                     ); \u00a0\u00a0\u00a0\u00a0\r\n\t\t    -&gt;addAttributeToSort('price','asc')\r\n                    -&gt;load();<\/pre>\n<p><strong>Segunda Forma<\/strong><\/p>\n<pre lang=\"php\">$colecaoProdutos = Mage::getResourceModel('catalog\/product_collection')\r\n                    -&gt;addAttributeToSelect('*')\r\n\t\t    -&gt;addAttributeToSort('price','asc');<\/pre>\n<p style=\"text-align: justify;\">Como no dia a dia eu utilizo a segunda forma nos meus exemplos vou fazer o mesmo.<\/p>\n<h1 style=\"text-align: justify;\">M\u00e9todos<\/h1>\n<p style=\"text-align: justify;\">H\u00e1 tr\u00eas met\u00f3dos que uso com grande\u00a0frequ\u00eancia s\u00e3o o <a href=\"#addAttributeToSelect\">addAttributeToSelect<\/a>, <a href=\"#addAttributeToFilter\">addAttributeToFilter<\/a> e <a href=\"#addAttributeToSort\">addAttributeToSort<\/a>. Abaixo uma breve referencia sobre esses m\u00e9todos com alguns exemplos:<\/p>\n<ul>\n<li><strong><a name=\"addAttributeToSelect\"><\/a>addAttributeToSelect()<\/strong><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Com o addAttributeToSelect voc\u00ea define os nomes dos atributos\/campos que ser\u00e3o retornados do banco, como uma query SQL. Para retornar todos os atributos\/campos do produto use &#8220;*&#8221;, caso queira apenas algumas informa\u00e7\u00f5es passe campo a campo como nos exemplos listados abaixo.<\/p>\n<div>\n<pre lang=\"php\">\/\/Todos os campos\r\n$colecaoProdutos = Mage::getResourceModel('catalog\/product_collection')\r\n                   -&gt;addAttributeToSelect('*');<\/pre>\n<pre lang=\"php\">\/\/Apenas alguns campos\r\n$colecaoProdutos = Mage::getResourceModel('catalog\/product_collection')\r\n                   -&gt;addAttributeToSelect('name')\r\n                   -&gt;addAttributeToSelect('price')\r\n                   -&gt;addAttributeToSelect('description')\r\n                   -&gt;addAttributeToSelect('small_image');<\/pre>\n<pre lang=\"php\">\/\/Alguns campos com uma s\u00f3 chamada\r\n$colecaoProdutos = Mage::getResourceModel('catalog\/product_collection')\r\n                   -&gt;addAttributeToSelect(\r\n                         array(\"name\", \"price\",\"small_image\", \"description\")\r\n                         );<\/pre>\n<\/div>\n<div style=\"text-align: justify;\">Para mais informa\u00e7\u00f5es sobre esse m\u00e9todo de uma olhada na <a title=\"Magento Doc\" href=\"http:\/\/docs.magentocommerce.com\/Mage_Eav\/Mage_Eav_Model_Entity_Collection_Abstract.html#addAttributeToSelect\" target=\"_blank\">Documenta\u00e7\u00e3o do Magento<\/a>\u00a0.<\/div>\n<ul>\n<li><strong><a name=\"addAttributeToFilter\"><\/a>addAttributeToFilter()<\/strong><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">O addAttributeToFilter \u00e9 equivalente ao WHERE de uma query de consulta SQL. Da mesma forma como voc\u00ea pode adicionar operadores de condi\u00e7\u00e3o em uma query assim se faz com esse m\u00e9todo, passando como param\u00eatro um array com o nome do campo e a condi\u00e7\u00e3o como segue os exemplos abaixo.<\/p>\n<pre lang=\"php\">\/\/Great than - para valores maiores que 99.99\r\n\r\n$colecaoProdutos-&gt;addAttributeToFilter('price', array('gt' =&gt; 99.99));<\/pre>\n<pre lang=\"php\">\/\/Less than or Equals to - para valores maiores ou igual a 99.99\r\n\r\n$colecaoProdutos-&gt;addAttributeToFilter('price', array('lteq' =&gt; 99.99));<\/pre>\n<p style=\"text-align: justify;\">H\u00e1 dois campos do produto, <em>news_from_date<\/em> e <em>news_to_date<\/em>, que definem de e at\u00e9 quando ele deve ser considerado novo. Uso tamb\u00e9m com muita frequ\u00eancia esses dois campos pra selecionar esses novos produtos e colocar um diferencial nele pra chamar a aten\u00e7\u00e3o, seja uma borda ou ima imagem com &#8220;Novo&#8221; sobre a imagem do produto. Segue o c\u00f3digo<\/p>\n<pre lang=\"php\">\/\/Cole\u00e7\u00e3o de produtos novos\r\n$colecaoProdutos-&gt;addAttributeToFilter('news_from_date', array('date' =&gt; true, 'to' =&gt; $todayDate))\r\n                -&gt;addAttributeToFilter('news_to_date', array('or'=&gt;\r\n                                        array(0 =&gt; array('date' =&gt; true, 'from' =&gt; $todayDate),\r\n                                              1 =&gt; array('is' =&gt; new Zend_Db_Expr('null')))\r\n                                             ), 'left');\r\n\r\n\/\/Assim como visto em \/app\/code\/core\/Mage\/Catalog\/Block\/Product\/New.php<\/pre>\n<p style=\"text-align: justify;\">Se quiser saber mais sobre filtros e outros operadores de condi\u00e7\u00e3o deem uma olhada no post do Adam Moss que aborda com exemplos r\u00e1pidos e sem baboseira no link <a href=\"http:\/\/www.e-commercewebdesign.co.uk\/blog\/magento-tips\/magento-sql-queries-with-addattributetofilter.php\">http:\/\/www.e-commercewebdesign.co.uk\/blog\/magento-tips\/magento-sql-queries-with-addattributetofilter.php<\/a> .<\/p>\n<ul>\n<li><strong><a name=\"addAttributeToSort\"><\/a>addAttributeToSort()<\/strong><\/li>\n<\/ul>\n<div style=\"text-align: justify;\">Se voc\u00ea estiver familiarizado com SQL sabe que \u00e9 poss\u00edvel ordenar uma consulta com o ORDER BY nome_campo de forma ASCENDENTE(menor pro maior) ou DESCENTENDE (maior pro menor). Sendo assim o mesmo se aplica com o m\u00e9todo <em>addAtributeToSort()<\/em>. No \u00faltimo caso do <em>addAttributeToFilter()<\/em> fa\u00e7o uma consulta por produtos marcados como novos de uma data at\u00e9 a outra, s\u00f3 que essa condi\u00e7\u00e3o vai me trazer todos os produtos n\u00e3o necessariamente ordenados do mais novo para o mais velhos, e tamb\u00e9m se quissemos que a cole\u00e7\u00e3o de produtos fique ordenados dos mais velhos para os mais novos, ou ordenados por pre\u00e7o?<\/div>\n<pre lang=\"php\">\/\/Mais velhos para mais novos\r\n$colecaoProdutos-&gt;addAttributeToFilter('news_from_date', array('date' =&gt; true, 'to' =&gt; $todayDate))\r\n                -&gt;addAttributeToFilter('news_to_date', array('or'=&gt;\r\n                                        array(0 =&gt; array('date' =&gt; true, 'from' =&gt; $todayDate),\r\n                                              1 =&gt; array('is' =&gt; new Zend_Db_Expr('null')))\r\n                                             ), 'left')\r\n                 -&gt;addAttributeToSort('news_from_date','desc');<\/pre>\n<pre lang=\"php\">\/\/Mais baratos para os mais caros\r\n$colecaoProdutos-&gt;addAttributeToFilter('news_from_date', array('date' =&gt; true, 'to' =&gt; $todayDate))\r\n                -&gt;addAttributeToFilter('news_to_date', array('or'=&gt;\r\n                                        array(0 =&gt; array('date' =&gt; true, 'from' =&gt; $todayDate),\r\n                                              1 =&gt; array('is' =&gt; new Zend_Db_Expr('null')))\r\n                                             ), 'left')\r\n                 -&gt;addAttributeToSort('price','asc');<\/pre>\n<p>&nbsp;<\/p>\n<p>S\u00f3 espero ter sido bem claro e objetivo nesse post. Com esses exemplos j\u00e1 pode fazer uma p\u00e1gina de categoria, ou mesmo uma p\u00e1gina de promo\u00e7\u00e3o para s\u00f3 listar produtos mais novos ou mais antigos com promo\u00e7\u00e3o.<\/p>\n<p>Material de refer\u00eancia:<br \/>\n<a href=\"http:\/\/www.e-commercewebdesign.co.uk\/blog\/magento-tips\/magento-sql-queries-with-addattributetofilter.php\"> http:\/\/www.e-commercewebdesign.co.uk\/blog\/magento-tips\/magento-sql-queries-with-addattributetofilter.php<\/a><br \/>\n<a href=\"http:\/\/docs.magentocommerce.com\/Mage_Eav\/Mage_Eav_Model_Entity_Collection_Abstract.html\"> http:\/\/docs.magentocommerce.com\/Mage_Eav\/Mage_Eav_Model_Entity_Collection_Abstract.html<\/a><br \/>\n<a href=\"http:\/\/www.exploremagento.com\/magento\/some-custom-blocks-to-help-you-show-products.php\"> http:\/\/www.exploremagento.com\/magento\/some-custom-blocks-to-help-you-show-products.php<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Em casos bem comuns trabalhando com ecommerce temos a necessidade em alguns momentos de ter em m\u00e3os uma lista de certos produtos. Sejam esses produtos de uma certa categoria, ou tageados com certas palavras chaves ou dentro de uma faixa de valor.<\/p>\n<p>O Magento trata essa lista de produtos como uma cole\u00e7\u00e3o de produtos, que possui um modelo pr\u00f3prio para tratar isso, criando uma interface simp\u00e1tica ao desenvolvedor para criar complexas consultas SQL. H\u00e1 duas formas de acessar essa interface do &#8220;Product Collection&#8221; usando o modelo do catalog\/product ou acessando diretamente o recurso do modelo , resource model, o catalog\/product_collection. Se voc\u00ea der uma olhada na classe Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection, encontrado pelo caminho core\/Mage\/Catalog\/Model\/Resource\/Eav\/Mysql4\/Product\/Collection.php, \u00e9 poss\u00edvel ver todos os m\u00e9todos dispon\u00edveis e como eles s\u00e3o implementados.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42,43,4],"tags":[121,122,120,118,182,117,119],"class_list":["post-238","post","type-post","status-publish","format-standard","hentry","category-ecommerce","category-magento","category-php","tag-addatributetofilter","tag-addattributetoselect","tag-addattributetosort","tag-catalogproduct_collection","tag-magento","tag-magento-product-collection","tag-retornar-produtos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Magento - cole\u00e7\u00e3o de produtos \/ catalog\/product_collection - Pereira, Thiago Santos.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Magento - cole\u00e7\u00e3o de produtos \/ catalog\/product_collection - Pereira, Thiago Santos.\" \/>\n<meta property=\"og:description\" content=\"Em casos bem comuns trabalhando com ecommerce temos a necessidade em alguns momentos de ter em m\u00e3os uma lista de certos produtos. Sejam esses produtos de uma certa categoria, ou tageados com certas palavras chaves ou dentro de uma faixa de valor.  O Magento trata essa lista de produtos como uma cole\u00e7\u00e3o de produtos, que possui um modelo pr\u00f3prio para tratar isso, criando uma interface simp\u00e1tica ao desenvolvedor para criar complexas consultas SQL. H\u00e1 duas formas de acessar essa interface do &quot;Product Collection&quot; usando o modelo do catalog\/product ou acessando diretamente o recurso do modelo , resource model, o catalog\/product_collection. Se voc\u00ea der uma olhada na classe Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection, encontrado pelo caminho core\/Mage\/Catalog\/Model\/Resource\/Eav\/Mysql4\/Product\/Collection.php, \u00e9 poss\u00edvel ver todos os m\u00e9todos dispon\u00edveis e como eles s\u00e3o implementados.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/\" \/>\n<meta property=\"og:site_name\" content=\"Pereira, Thiago Santos.\" \/>\n<meta property=\"article:published_time\" content=\"2011-10-07T14:30:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2011-10-10T13:09:12+00:00\" \/>\n<meta name=\"author\" content=\"Pereira, Thiago Santos\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pereira, Thiago Santos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/\",\"url\":\"https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/\",\"name\":\"Magento - cole\u00e7\u00e3o de produtos \/ catalog\/product_collection - Pereira, Thiago Santos.\",\"isPartOf\":{\"@id\":\"https:\/\/thiagosantos.com\/blog\/#website\"},\"datePublished\":\"2011-10-07T14:30:15+00:00\",\"dateModified\":\"2011-10-10T13:09:12+00:00\",\"author\":{\"@id\":\"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/56683334c52027e200fd9270c17c629d\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thiagosantos.com\/blog\/#website\",\"url\":\"https:\/\/thiagosantos.com\/blog\/\",\"name\":\"Pereira, Thiago Santos.\",\"description\":\"the fun of code.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/thiagosantos.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/56683334c52027e200fd9270c17c629d\",\"name\":\"Pereira, Thiago Santos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ed936469f86e5f07085e7540b2c0a115?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ed936469f86e5f07085e7540b2c0a115?s=96&d=mm&r=g\",\"caption\":\"Pereira, Thiago Santos\"},\"description\":\"Um cara que mora no Rio e n\u00e3o sabe nadar.\",\"sameAs\":[\"http:\/\/thiagosantos.com\"],\"url\":\"https:\/\/thiagosantos.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Magento - cole\u00e7\u00e3o de produtos \/ catalog\/product_collection - Pereira, Thiago Santos.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/","og_locale":"pt_BR","og_type":"article","og_title":"Magento - cole\u00e7\u00e3o de produtos \/ catalog\/product_collection - Pereira, Thiago Santos.","og_description":"Em casos bem comuns trabalhando com ecommerce temos a necessidade em alguns momentos de ter em m\u00e3os uma lista de certos produtos. Sejam esses produtos de uma certa categoria, ou tageados com certas palavras chaves ou dentro de uma faixa de valor.  O Magento trata essa lista de produtos como uma cole\u00e7\u00e3o de produtos, que possui um modelo pr\u00f3prio para tratar isso, criando uma interface simp\u00e1tica ao desenvolvedor para criar complexas consultas SQL. H\u00e1 duas formas de acessar essa interface do \"Product Collection\" usando o modelo do catalog\/product ou acessando diretamente o recurso do modelo , resource model, o catalog\/product_collection. Se voc\u00ea der uma olhada na classe Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection, encontrado pelo caminho core\/Mage\/Catalog\/Model\/Resource\/Eav\/Mysql4\/Product\/Collection.php, \u00e9 poss\u00edvel ver todos os m\u00e9todos dispon\u00edveis e como eles s\u00e3o implementados.","og_url":"https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/","og_site_name":"Pereira, Thiago Santos.","article_published_time":"2011-10-07T14:30:15+00:00","article_modified_time":"2011-10-10T13:09:12+00:00","author":"Pereira, Thiago Santos","twitter_misc":{"Escrito por":"Pereira, Thiago Santos","Est. tempo de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/","url":"https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/","name":"Magento - cole\u00e7\u00e3o de produtos \/ catalog\/product_collection - Pereira, Thiago Santos.","isPartOf":{"@id":"https:\/\/thiagosantos.com\/blog\/#website"},"datePublished":"2011-10-07T14:30:15+00:00","dateModified":"2011-10-10T13:09:12+00:00","author":{"@id":"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/56683334c52027e200fd9270c17c629d"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagosantos.com\/blog\/238\/php\/magento-colecao-de-produtos-catalogproduct_collection\/"]}]},{"@type":"WebSite","@id":"https:\/\/thiagosantos.com\/blog\/#website","url":"https:\/\/thiagosantos.com\/blog\/","name":"Pereira, Thiago Santos.","description":"the fun of code.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thiagosantos.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/56683334c52027e200fd9270c17c629d","name":"Pereira, Thiago Santos","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagosantos.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ed936469f86e5f07085e7540b2c0a115?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed936469f86e5f07085e7540b2c0a115?s=96&d=mm&r=g","caption":"Pereira, Thiago Santos"},"description":"Um cara que mora no Rio e n\u00e3o sabe nadar.","sameAs":["http:\/\/thiagosantos.com"],"url":"https:\/\/thiagosantos.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/posts\/238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/comments?post=238"}],"version-history":[{"count":53,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/posts\/238\/revisions"}],"predecessor-version":[{"id":283,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/posts\/238\/revisions\/283"}],"wp:attachment":[{"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/media?parent=238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/categories?post=238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagosantos.com\/blog\/wp-json\/wp\/v2\/tags?post=238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}