For #2, you can use Custom Breadcrumbs.
I'm not sure about version 6.x-1.x, but I can confirm that 6.x-2.0 works fine.
What you need to do is to:
- enable both sub-modules Custom Breadcrumbs for Taxonomy and Custom Breadcrumbs for Panels
- set things up at Custom Breadcrumbs Configuration page
- make the weight of the Custom Breadcrumbs for Panels the highest, at the bottom of the configuration page (to override Custom Breadcrumbs for Taxonomy which doesn't get along with panels by itself)
However, the custom breadcrumb is built after the panels, so you can't actually use it in the panel. But you can print it in page.tpl.php, outside the panel.
EDIT:
Seems like Custom Breadcrumbs for Panels had nothing to do with it :)
It just displayed a very misleading text on the config page ("Use taxonomy breadcrumbs for panels").
After some more research, it turned out that it works when panels
had a smaller weight then custom_breadcrumbs_taxonomy
(see table system
in the database).
If you really want to display the breadcrumbs in panels, you can do that using this (hack-ish) method:
- configure taxonomy breadcrumbs
- ensure the weights are good in the system table, as explained
- add the breadcrumb in your page panel
- add a preprocess function that replace the breadcrumbs in panels with the final breadcrumbs, built by custom_breadcrumbs_taxonomy, like:
(note: my panel is of type page, it's in the content
section)
function abn_preprocess_page(&$vars) {
$old_breadcrumb = strstr( strstr($vars['content'],'<div class="breadcrumb">'), '</div>', true);
if ($old_breadcrumb) {
$old_breadcrumb .= '</div>';
$vars['content'] = str_replace($old_breadcrumb, $vars['breadcrumb'], $vars['content']);
}
}