{"id":27093,"date":"2016-12-10T16:32:48","date_gmt":"2016-12-10T14:32:48","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27093"},"modified":"2016-12-10T16:32:48","modified_gmt":"2016-12-10T14:32:48","slug":"cakephp-3-and-the-need-for-breadcrumbs","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/10\/cakephp-3-and-the-need-for-breadcrumbs\/","title":{"rendered":"CakePHP 3 and the need for breadcrumbs"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>I&#8217;ve been catching up with the <a href=\"https:\/\/github.com\/cakephp\/cakephp\/milestones\">CakePHP roadmap<\/a>. \u00a0One of the tickets\u00a0for the next release (<a href=\"https:\/\/github.com\/cakephp\/cakephp\/milestone\/113\">CakePHP 3.3.10<\/a>, scheduled for tomorrow), is <a href=\"https:\/\/github.com\/cakephp\/cakephp\/issues\/9829\">this ticket<\/a>, relating to the breadcrumbs navigation.<\/p>\n<p>When building applications with CakePHP, you have a couple of easy ways to generate breadcrumbs for the easier user navigation. \u00a0One, is to use <a href=\"http:\/\/book.cakephp.org\/3.0\/en\/views\/helpers\/html.html#creating-breadcrumb-trails-with-htmlhelper\">HTML Helper<\/a>, which provides a quick and simple way. \u00a0The other, is to use a feature rich <a href=\"http:\/\/book.cakephp.org\/3.0\/en\/views\/helpers\/breadcrumbs.html\">Breadcrumbs Helper<\/a>, available since CakePHP version 3.3.6 (but not mentioned in the <a href=\"http:\/\/bakery.cakephp.org\/2016\/10\/14\/cakephp_336_released.html\">release notes<\/a>).<\/p>\n<p>Digging further down into templates, and best practices for user navigation, and different ways of styling breadcrumbs (<a href=\"https:\/\/www.smashingmagazine.com\/2009\/03\/breadcrumbs-in-web-design-examples-and-best-practices\/\">Smashing Magazine<\/a>, <a href=\"http:\/\/www.hongkiat.com\/blog\/breadcrumb-navigation-examined-best-practices-examples\/\">Hongkiat<\/a>, <a href=\"http:\/\/ui-patterns.com\/patterns\/Breadcrumbs\">UI Patterns<\/a>), I thought &#8211; wouldn&#8217;t it be nice to have breadcrumbs navigation built into a human brain?<\/p>\n<p>I mean, how many times did you catch yourself in some dark corner of the Internet, trying to figure out how did you get there? \u00a0If only humans had breadcrumbs navigation built into our brains, that would be so easy to trace back the steps. \u00a0Browser history can, of course, help, but with so many open tabs and several things happening in parallel, a flat list of tabs is not much help.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>I&#8217;ve been catching up with the CakePHP roadmap. \u00a0One of the tickets\u00a0for the next release (CakePHP 3.3.10, scheduled for tomorrow), is this ticket, relating to the breadcrumbs navigation. When building applications with CakePHP, you have a couple of easy ways to generate breadcrumbs for the easier user navigation. \u00a0One, is to use HTML Helper, which &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/10\/cakephp-3-and-the-need-for-breadcrumbs\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">CakePHP 3 and the need for breadcrumbs<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"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,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"CakePHP 3 and the need for breadcrumbs #CakePHP #WebDev #WebDesign #UI","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[1537,1158,1157,1330],"keyring_services":[],"class_list":["post-27093","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-cakephp","tag-user-interfaces","tag-web-design","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28478,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/04\/17\/cakephp-3-6-0-release\/","url_meta":{"origin":27093,"position":0},"title":"CakePHP 3.6.0 release","author":"Leonid Mamchenkov","date":"April 17, 2018","format":false,"excerpt":"My all time favorite PHP framework - CakePHP has recently announced the availability of the long awaited version 3.6.0.\u00a0 What's so special about this particular version? - those of you not very familiar with CakePHP might ask.\u00a0 And I'll tell you. CakePHP is a well established framework, with long history\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":15740,"url":"https:\/\/mamchenkov.net\/wordpress\/2011\/10\/18\/cakephp-2-0-released\/","url_meta":{"origin":27093,"position":1},"title":"CakePHP 2.0 released!","author":"Leonid Mamchenkov","date":"October 18, 2011","format":false,"excerpt":"I've been a bit all over the place these last few days, but I knew that this was coming shortly - CakePHP team released the new and much improved version 2.0 a couple of days ago. There are a lot of changes. And I do mean a lot. Here are\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":16391,"url":"https:\/\/mamchenkov.net\/wordpress\/2012\/07\/09\/cakephp-2-1-4-2-2-and-a-pick-into-3-0\/","url_meta":{"origin":27093,"position":2},"title":"CakePHP 2.1.4, 2.2, and a pick into 3.0","author":"Leonid Mamchenkov","date":"July 9, 2012","format":false,"excerpt":"There's been a stream of good news from the CakePHP headquarters recently. \u00a0If you are as slow as me on catching up with these things, here is a quick summary. CakePHP 2.1.4 has been release, and that'll be the last release for the 2.1 branch. \u00a0It's time to move on.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":24952,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/11\/10\/cakephp-3-cheatsheet\/","url_meta":{"origin":27093,"position":3},"title":"CakePHP 3 Cheatsheet","author":"Leonid Mamchenkov","date":"November 10, 2015","format":false,"excerpt":"CakePHP 3 Cheatsheet - a handy collection of code snippets for anyone new to CakePHP 3 framework and all the changes that went into this version.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":22103,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/07\/01\/cakephp-3-here-we-go-again\/","url_meta":{"origin":27093,"position":4},"title":"CakePHP 3, here we go again.","author":"Leonid Mamchenkov","date":"July 1, 2014","format":false,"excerpt":"As some of you might know, I'm a big fan of CakePHP framework. \u00a0I've used it on numerous projects since the beginning of times. \u00a0I've built projects small and large, migrated existing native PHP codebases to CakePHP and even survived a few major CakePHP upgrades - 1.2 to 2.0 comes\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27405,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/10\/using-requirejs-with-cakephp\/","url_meta":{"origin":27093,"position":5},"title":"Using RequireJS with CakePHP","author":"Leonid Mamchenkov","date":"March 10, 2017","format":false,"excerpt":"https:\/\/www.slideshare.net\/StephenYoung6\/require-js-cakephp","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=27093"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27093\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27093"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}