Taxonomie-Semmelbrösel

8

Ich verwende das Taxonomie-Kernmodul für Blog-Tags, aber wenn ich auf der Seite eines Tags bin, kann der Breadcrumb nur als "Home" angezeigt werden, während ich es idealerweise als "Home> Blog> # Tag #" bezeichnen möchte. Ich verwende ein benutzerdefiniertes Breadcrumb-Modul, um Breadcrumbs für Inhaltstypen festzulegen (<- erlaubt keine Taxonomie-Breadcrumbs) und habe versucht, das Taxonomy-Breadcrumb-Modul ohne jegliches Ergebnis zu verwenden, was teilweise darauf zurückzuführen ist, dass es kein besonders konfigurierbares Modul ist. Blog-Tag-Seiten (die alle Knoten unter einem Begriff auflisten) werden anscheinend aus dem Kern-Taxonomiemodul und nicht aus Ansichten generiert, sodass ich das Problem in Ansichten nicht lösen kann.

Wenn mich jemand in die richtige Richtung weisen könnte, wäre ich dankbar :)

Storsey
quelle

Antworten:

3

Dies klingt nach etwas, mit dem Sie drupal_set_breadcrumbin einem benutzerdefinierten Modul relativ einfach arbeiten können .

Dies ist höchstwahrscheinlich das, was das benutzerdefinierte Breadcrumb-Modul selbst verwendet. Sie müssen die Breadcrumbs nach dem benutzerdefinierten Breadcrumb-Modul ändern, aber bevor sie gerendert werden. Dies kann zu Problemen mit dem Taxonomy Breadcrumb-Modul führen.

Sie können es möglicherweise verwenden, wenn Sie das Gewicht in der Systemtabelle ändern, je nachdem, wie die beiden Module die Brotkrumen ändern. Ich vermute, dass es erledigt isthook_init

googletorp
quelle
9

Dies kann erreicht werden, indem Sie theme_breadcrumb () in der template.php Ihres Themas überschreiben. Eine Beispielimplementierung:

function mytheme_breadcrumb($breadcrumb) {

  if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
    $breadcrumb = array();
    $breadcrumb[] = l(t('Home'), '<front>');
    $breadcrumb[] = l(t('Blog'), 'path/to/blog');

    $tid = arg(2);

    if ($term = taxonomy_term_load($tid)) {
      $uri = entity_uri('taxonomy_term', $term);
      $breadcrumb[] = l($term->name, $uri['path'], $uri['options']);
    }
  }

  // resume normal operation
  if (!empty($breadcrumb)) {
  // uncomment the next line to enable current page in the breadcrumb trail
    $title = drupal_get_title();
    if (!empty($title)) {
      $breadcrumb[] = $title;
      unset($title);
    }

    return '<div class="breadcrumb">'. implode(' &gt; ', $breadcrumb) . '</div>';
  }
}
zerolab
quelle
4

Dafür gibt es ein Modul (weit mehr als eines):

Wahrscheinlich würden Sie aufgrund seiner Flexibilität und der Fähigkeit, Semmelbrösel auch für den Rest Ihrer Website herzustellen, benutzerdefinierte Semmelbrösel wählen.

wiifm
quelle
Ich verwende custom_breadcrumbs, kann die Breadcrumbs jedoch nicht für Taxonomiebegriffe basierend auf dem Inhaltstyp anpassen.
KenAesthetic
2

Ich hatte das gleiche Problem mit Taxonomien. Ich bin auf das Modul "Easy Breadcrumbs" gestoßen, das von der URL-Konstruktion abweicht, um die Breadcrumbs zu generieren (basiert auf Pathauto und Clean URLs).

Zum Beispiel:

example.com/style/mediterranean

Startseite> Stil> Mittelmeer

Ich verstehe, dass dies in vielen Fällen nicht hilft, aber wenn Ihre Breadcrumbs Ihre URL-Konstruktion imitieren, sollte Easy Breadcrumbs Ihre Probleme lösen.

woop
quelle
Hier ist der Link: drupal.org/project/easy_breadcrumb
Benutzer
1

Mit Krümeln 7.x-2.x:

  1. Besuchen Sie admin / structure / crumbs und aktivieren Sie den Platzhalter für die Taxonomie. * Plugin oder etwas Spezifischeres aus der Taxonomie-Plugin-Familie. (Möglicherweise ist es bereits aktiviert, aber schauen Sie, um sicherzugehen.)

  2. Gehen Sie zu admin/structure/crumbs/entity-parent/taxonomy-termund legen Sie "Blog" als übergeordneten Pfad für das von Ihnen gewählte Vokabular fest.

  3. Besuchen Sie admin / structure / crumbs und stellen Sie sicher, dass crumbs.entityParent. * (Oder etwas Spezifischeres) aktiviert ist.

Mit Krümeln 7.x-1.x:

  1. Besuchen Sie admin / structure / crumbs und aktivieren Sie den Platzhalter für die Taxonomie. * Plugin oder etwas Spezifischeres aus der Taxonomie-Plugin-Familie. (Möglicherweise ist es bereits aktiviert, aber schauen Sie, um sicherzugehen.)

  2. Schreiben Sie ein benutzerdefiniertes Modul mit einem Crumbs-Plugin (*), das "blog" zum übergeordneten Pfad für "taxonomy / term /% taxonomy_term" macht.

  3. Besuchen Sie admin / structure / crumbs, aktivieren Sie Ihr neues Plugin und geben Sie ihm eine schwächere Priorität (weiter unten) als die Taxonomie. * Oder taxonomy.termParent. *.

(*) Schreiben des Plugins: http://drupal.org/node/1398876
Das Beispiel ist für diesen Zweck möglicherweise etwas übertrieben. Ich hoffe, Sie finden Ihren Weg.

Donquijote
quelle
Im 7.x-2.x-Zweig von Crumbs können Sie anstelle des benutzerdefinierten Plugins in Schritt 2 ein Token-Muster angeben, um "blog" als übergeordneten Pfad für Taxonomie-Term-Seiten festzulegen.
Donquijote