Filename as Breadcrumb?

Would like to use a photo’s filename as breadcrumb rather than title. Is this possible?

The only way I know of is to leave the metadata Title field blank. The image breadcrumb will then default to the filename.
There may be a phplugins solution but I don’t see a hook for breadcrumbs. Maybe @Matthew or @Daniel will have some ideas.

Thanks for the quick response, Rod. Was hoping for a solution other than not using the Title field. We make fairly extensive use of this field for photos we publish to Flickr, most of which are also published via Backlight. :unamused:

There are other ways to display the filename. You can use the caption area or the metadata panel in the album template. You could also use that phplugins function I referenced to display the filename above the image (and below the breadcrumbs).

And, as I mentioned above, Matt or Daniel may have other solutions. I started thinking of a way to use jQuery to do it, but quickly got my brain tangled.:slight_smile:

You can use phplugins to create the breadcrumbs.

A while ago, I wrote about adding breadcrumbs to non-gallery pages: Adding breadcrumbs to non-gallery pages (updated August 2020) – lab.danielleu.com. This could serve as a starting place. You can use $_SERVER["REQUEST_URI"] to extract the gallery path and then create the breadcrumbs trail from there.

Hello Daniel,

I tried to implement the PHP code you suggested (as a starting point) but, not only it doesn’t do anything, but the favicon on the browser page tab changes from my logo to the host provider’s logo!
Here is how I wrote it:

//Outputs the breadcrumbs for the given page including the home page
/*function dlp_my_crumb( $page_name ) {
   echo '<ul class="breadcrumbs" itemscope itemtype="https://schema.org/BreadcrumbList"> <li class="fa_pseudo" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a href="/" itemprop="item"><span itemprop="name">Home</span></a> <meta itemprop="position" content="1" /> </li>
<li class="fa_pseudo" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" <span itemprop="name" position="2">'. $page_name .'</span> <meta itemprop="position" content="1" />
</li></ul>';
}
 
// returns true if $page matches current page or any of its
// sub-pages 
function dlp_page_match($page) {
   if (substr($_SERVER["REQUEST_URI"], 0, strlen($page)) == $page) {
      return true;
   }  else {
     return false;
   }
}
 
/*function main_top(){
   // Add breadcrumbs to non-gallery pages
   if (strtolower($this->slug) == 'about') {
      $this->dlp_my_crumb('About');
   } else if (strtolower($this->slug) == 'contact') {
      $this->dlp_my_crumb('Contact');
   } elseif ($this->dlp_page_match('/backlight/search') ) {
      $this->dlp_my_crumb('Search');
   } else if (strtolower($this->slug) == 'xxxx') {
      $this->dlp_my_crumb('Xxxx');
   }
}*/

/*function single_bottom(){
   // support for left/right arrow key and esc key navigation
   $photo = $this->photo;
   $album = $this->album;
	
   echo' <script>
      function checkKey(e) {
         switch(e.which) {
            case 37: ';
               if ($album->getPreviousPhoto($photo)) { 
                  echo 'location.href=$("li.single_image_prev a").attr("href");';
               }		
               echo 'break;
            case 39:';
               if ($album->getNextPhoto($photo)) {
                  echo 'location.href=$("li.single_image_next a").attr("href");';
               }				
               echo 'break;
            case 27:';
               echo 'location.href=$("li.single_image_back a").attr("href");';			
               echo 'break;
            default: return; 
         }
         e.preventDefault();
      }
      document.onkeydown = checkKey;
   </script>';
}

function ttg_user_load( $style, $path ) {
	$g_tsvrl = explode( ' ', $style );                          // Extract gallery type
	define ( 'G_STYLE', strtoupper($g_tsvrl[1]) );              // and set global for later
	$g_path = str_ireplace('\\','/',$path);                     // change \ to / 
	$chunks = explode('/',$g_path);                             // and put into array
	define ( 'G_PATH', strtoupper($chunks[count($chunks)-2]) ); // gallery folder name is second to last
	//define ( 'TTG_SITE', '');                                   // set new site root for navigation, resources, etc.
	}
	
// END

function ttg_head( $style, $path ) { 
	echo '
	<link rel="stylesheet" href="https://pideja.ca/custom/css/neopideja.css" />
	';
   }*/

So, I decided to remove it and also remove all the titles in Lightroom so the thumbnails now indicate the large image file name.
Not your fault, I just don’t kmow enough about PHP to play with it successfully.

A few things I noticed:

You’re putting Daniel’s code at the top of the file and not in the user area.
You’re using the old phplugins file. Always start with the phplugins-pangolin-sample.php file
And this bit: function ttg_head( $style, $path ) is syntax from the old phplugins

Sorry, I was out on vacation. Did you find a solution to your issue?