[gelöst] Tag Namen zum Themen verwenden

am 18.01.2010 - 19:23 Uhr in
Hi,
ich brauch grad etwas Hilfe, ich seh den Wald vor lauter Bäumen nicht mehr.
Und zwar hab ich folgendes vor. Ich würde gern eine Seite etwas Themen und zwar mit Hilfe von Tags. Genauer gesagt mit desen Name, und zwar möchte ich mir den Tag Namen via Content Template so im Quellcode Platzieren das er als Name für eine Grafik steht. Also zum Beispiel der Tag "Baum" soll dan im Quellcode etwa so angezeigt werden img src="domain.tld/grafiken/ hier der Tag Baum .jpg" . Die Grafiken sind schon wie die Tags vorbenant.
Naja soweit die Theorie, im Grunde Funktioniert das ganze auch wie ich es möchte, aber eben nicht 100%tig.
Wenn ich im Content Template für page folgenden code eingebe wird mir nurnoch ein weisse Bild gezeigt nix mehr:
<?php
$tags = array();
foreach ($node->taxonomy as $item) {
if ($item->vid == 3) {
$tag_name = $item->name;
$tag_path_name = $_SERVER['DOCUMENT_ROOT'] . "/grafiken/$tag_name.jpg";
if (file_exist($tag_path_name)) { ?>
<img src="/grafiken/<?php print $tag_name; ?>.jpg" alt="" />
<?php }
}
}
?>
<?php print $node->content['body']['#value']; ?>
und wenn ich aber so mache:
<?php
$tags = array();
foreach ($node->taxonomy as $item) {
if ($item->vid == 3) {
$tag_name = $item->name;
}
}
?>
<img src="/grafiken/<?php print $tag_name; ?>.jpg" alt="" />
<?php print $node->content['body']['#value']; ?>
dann geht es. Natürlich hab ich jetzt keine Abfrage ob das Bild Existent ist, was auch dazu führt das ich, wenn es das Bild nicht gibt, auch kein Standardbild anzeigen lasen kann. Das mit dem Standardbild ist im Code oben noch nicht mit drin, soll aber noch dazukommen.
So jetzt die Frage. Hätte jemand die Lust mir zu sagen warum das nicht geht. Ich bin mir ganz sicher das es an er file_exist Abfrage liegt aber warum genau, ich komm nicht drauf, ist auch schon sehr spät.
Ok ich würde mich freuen wenn mir jemand helfen könnte.
Bis dahin
Grüße
- Anmelden oder Registrieren um Kommentare zu schreiben
Besuche mal die API von
am 18.01.2010 - 19:36 Uhr
Besuche mal die API von Drupal.
Es gibt diverse Drupal-Funktionen die man verwenden sollte.
Link's: l()
oder URL's: url()
Image: theme_image()
Pfade: drupal_get_path()
oder Pfad pruefen: file_check_path()
Ich kenne aus eigenem (frueheren) Erleben Situationen wo allein durch die Anwendung von Drupal's Funktionen Dinge funktionieren die vorher nicht funktionierten.
------------------------
Quiptime Group
Danke für die schnelle
am 18.01.2010 - 19:46 Uhr
Danke für die schnelle Antwort. Ich werde es gleich mal testen und repeat geben.
Bis dahin
Grüße
ich werd noch bekloppt
am 19.01.2010 - 14:40 Uhr
Hi nochmal,
also ich hab jetzt so ziemlich jede Function ausprobiert die mir in die Fingre kam aber ich bekomm das einfach nicht hin, wenn jemand eine Lösung für mich hat währe ich sehr dankbar.
Es muss doch eine ganz einfache Möglichkeit geben festzustellen ob eine Datei, in dem Fall ein Bild, auf dem Server existiert.
Ok bis dahin
Grüße
Zitat: $tag_path_name =
am 19.01.2010 - 15:34 Uhr
$tag_path_name = $_SERVER['DOCUMENT_ROOT'] . "/grafiken/$tag_name.jpg";
Das würde ich so nicht rein setzen sondern
$tag_path_name = $_SERVER['DOCUMENT_ROOT'] . '/grafiken/' . $tag_name . '.jpg';
Ich bin mir nicht sicher, ob Dein Konstrukt immer korrekt umgesetzt wird. WSOD deutet ja auf einen PHP-Fehler hin.
Beste Grüße
Werner
Wer ohne Fehler ist werfe den ersten Stein ..... haha
am 19.01.2010 - 16:02 Uhr
Manchmal denkt man sich so im Nachhinein, wie beklopt man doch eigentlich ist.
Also ich habe meinen Fehler gefunden, naja wer schreiben und lesen kann ist klar im Vorteil :)
Hab doch klatt bei file_exists das "s" vergessen! Da ist das ja kein Wunder das es nicht klappt !
Also kurze Rede langer Sinn, es Klappt soweit, wenn das Bild nicht vorhanden ist wird es nicht angezeigt und ich hab die möglichkeit ein standard bild zu laden. Leider gibt er mir das Bild nicht aus wenn es vorhanden ist, zwar schreibt er es im Quellcode, auch mit suberer url aber er will es irgendwie nicht laden. Hat da wohl noch jemand eine Idee?
Aber danke für die Unterstützung bisher !
Bis dahin
Grüße
Es geht !!!!!!!
am 19.01.2010 - 16:29 Uhr
Hi nochmal wollte nurnoch mitteilen das es geht :)
ich poste auch mal den code dazu :)
ist zwar nicht hüpch aber selten :)
<?php
$tags = array();
foreach ($node->taxonomy as $item) {
if ($item->vid == 2) {
$image_tag_name = $item->name;
$tag_path_name = $_SERVER['DOCUMENT_ROOT'] . '/drupal6/grafiken/' . $image_tag_name . '.png';
}
}
if (file_exists($tag_path_name)) {
print '<img alt="" src="/drupal6/grafiken/' . $image_tag_name . '.png" />' ;
} else { print '<img alt="" src="/drupal6/grafiken/default.png" />'; }
?>
so bis zum nächsten mal
Grüße