Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst] term ID einer node finden

Eingetragen von tomx (771)
am 18.03.2010 - 11:17 Uhr in
  • Allgemeines zu Drupal

Diese drupal Funktion soll alle term einer node finden:

<?php
taxonomy_node_get_terms_by_vocabulary
($node, $vid, $key = 'tid')
?>

Es soll die term id für die vergebenen terms gefunden werden (es ist immer nur einer/vocab vorhanden)

<?php

$vid
= 9;
$terms = taxonomy_node_get_terms_by_vocabulary($node, $vid, $key = 'tid');
print_($terms);
?>

Dies erzeugt nur Array ( )
Wie erhält man die term ID zu einer node zu einem bestimmten vocab?

‹ User exportieren aus dem backend von drupal? Bei Multisiteinstallation mit Robots.txt Domain auf Disallow setzen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

fast richtig

Eingetragen von netzkoop (1820)
am 18.03.2010 - 11:27 Uhr

<?php

$vid
= 9;
$terms = taxonomy_node_get_terms_by_vocabulary($node, $vid, $key = 'tid');

foreach (
$terms as $key => $term) {
      print
$term->tid;
  }
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es gibt kein Ergebnis :-(

Eingetragen von tomx (771)
am 18.03.2010 - 12:17 Uhr

Es gibt kein Ergebnis :-(

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hmmm... An welcher Stelle

Eingetragen von netzkoop (1820)
am 18.03.2010 - 12:55 Uhr

Hmmm...

An welcher Stelle rufst du das auf?
Ich arbeite mit diesem Aufruf in einer node-meintyp.tpl.php und das klappt wunderbar:

<?php
$tids
= taxonomy_node_get_terms($node);
foreach (
$tids as $key => $term) {
  print
$term->tid);
}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Im Block

Eingetragen von tomx (771)
am 18.03.2010 - 15:15 Uhr

Im Block
auch taxonomy_node_get_terms($node); ergibt nix:-(

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo tomx

Eingetragen von sepp68 (444)
am 18.03.2010 - 19:53 Uhr

du hast ja schon mal vor kurzem gefragt: http://www.drupalcenter.de/node/26137

Aber es ist wahrscheinlich das gleiche Problem.
Schildere doch mal dein Vorgehen:

z.B.
du erstellt einen neuen Block unter "Strukturierung"-"Blöcke"-Block hinzufügen"
du .....usw.

Wichtig ist: WO GENAU trägst du deinen PHP-Code ein ? Hast du einen WYSISWG-Editor aktiv ?

Sepp

  • Anmelden oder Registrieren um Kommentare zu schreiben

Den code kommt in den manuell

Eingetragen von tomx (771)
am 19.03.2010 - 09:58 Uhr

Den code kommt in den manuell erstellten Block. Dieser soll den zuvor erstellten views Block aufrufen. Da es nicht klappt, den Block über terms arguments anzusprechen, versuche ich es über die term ID. Ich möchte den Block aufrufen wenn eine node mit einem bestimmten Begriff versehen ist.

Ein wysiwyg Editor ist installiert, aber für die Blockfelder deaktiviert. php print Anweisungen werden ausgegeben.

Was gibt es denn für andere Blöcke abhängig von node term IDs anzuzeigen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

$node

Eingetragen von stBorchert (6003)
am 19.03.2010 - 10:04 Uhr
tomx schrieb

auch taxonomy_node_get_terms($node); ergibt nix:-(

Mal so nebenbei gefragt ... hast Du in dem Block denn auch die Variable $node definiert?

Für gewöhnlich verwendet man in Blöcken dann nämlich folgendes Konstrukt:

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
 
$node = node_load(arg(1));
 
$terms = taxonomy_node_get_terms($node);
 
// ... was auch immer Du mit $terms anstellen willst ...
}
?>

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tatsächlich fehlte

Eingetragen von tomx (771)
am 19.03.2010 - 12:02 Uhr

Tatsächlich fehlte node_load()
So klappt es nun,
herzlichen Dank für die basics Hilfe :-)

<?php
$vid
= 9;
if (
arg(0) == 'node' && is_numeric(arg(1))) {
 
$node = node_load(arg(1));
 
$terms = taxonomy_node_get_terms_by_vocabulary($node, $vid, $key = 'tid');

  foreach (
$terms as $key => $term) {
  print
$term->tid;
  }
}
?>

Hier das Ergebnis von print_r($terms);

<?php
Array ( [241] => stdClass Object ( [tid] => 241 [vid] => 9 [name] => buch [description] => [weight] => 0 ) ) 
?>

Kann man nicht auch ohne die foreach Schleife auf das Objekt tid zugreifen? Wäre doch eleganter...
Nur tid wird ja gesucht. Sollte das nicht so auch gehen?
print $terms[tid];

  • Anmelden oder Registrieren um Kommentare zu schreiben

Object und Array

Eingetragen von stBorchert (6003)
am 19.03.2010 - 12:40 Uhr
tomx schrieb

Kann man nicht auch ohne die foreach Schleife auf das Objekt tid zugreifen?

Ja kann man.
Was tust Du jedoch, wenn mehrere Terms gesetzt sind?

Bei einem Term wäre es:

<?php
$terms
= ...;
$first_term = reset($terms);
print
$first_term->tid;
?>

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wo gibts mehr Infos zu

Eingetragen von tomx (771)
am 19.03.2010 - 14:39 Uhr

Wo gibts mehr Infos zu drupalspezifischen Objekten und Array?

Danke nochmals für die guten Tipps!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 6 Tagen
  • Hey danke
    vor 3 Wochen 4 Stunden
  • Update: jetzt gibt's ein
    vor 3 Wochen 22 Stunden
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 2 Tagen
  • In der entsprechenden View
    vor 4 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 2 Tagen
  • gelöst
    vor 6 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 7 Wochen 5 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20464

Neue User:

  • Znogsnernoimb
  • ByteScrapers
  • Mroppoofpaync

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 24 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association