URL Alias mit PHP ansprechen? (oder so)
Eingetragen von Samyylain (24)
am 01.10.2009 - 11:28 Uhr in
am 01.10.2009 - 11:28 Uhr in
Hallo liebe Drupal-Freunde,
in dem Thema "Random Image & Random Zitat" hatte ich am Ende einen Code gepostet,
der über die Node ID einzelne Seiten anspricht und dort an einer bestimmten stelle ein Bild ausgibt.
Da ich nun aber das Modul "i18n" verwende, habe ich auch das "Path" Modul aktiviert.
Seit dem funktioniert der Code nichtmehr ganz sauber (Es wird nurnoch ein einziges Bild angezeigt) und ich habe zwei Theorien woran es liegen könnte:
-
Es werden mir ja jetzt keine ID's, sondern Alias angezeigt. Also aus "node/6" wurde jetzt zum Beispiel "de/concern".
Muss ich über den Code jeztt dieses "Alias" ansprechen oder weiß drupal immernoch, dass "de/concern" mal "node/6" war. (Bestimmt, aber Fragen kostet ja bekanntlich nichts) - Da ich Momentan nur Startseiten auf Deutsch/Englisch und eine weitere Seite auf Deutsch/Englisch habe, habe ich die Vermutung, dass es daran liegt, dass zwei Nodes jetzt als Startseite eingetragen sind. Also müsste ich herausfinden, wie ich die Startseite über PHP "anspreche".
Ich hoffe ihr könnt mir dabei helfen. Hier ist mein Code. Ich würde auch gern bei der Lösung über diesen Code bleiben.
<?php
if ($node->nid == 18 || 19) {
echo '<img src="Bildadresse">';
}
else {
if ($node->nid == 6 || 12) {
echo '<img src="Bildadresse">';
}
else {
}
}
?>
- Anmelden oder Registrieren um Kommentare zu schreiben
Pfad?
am 01.10.2009 - 11:50 Uhr
Hi,
die Nodes behalten ihre NIDs.
Ich weiß nicht, ob es an i18n liegen kann, aber eine andere Fehlerquelle wären die Pfade zum Bild, wie gibst du die an?
Und was deine verschachtelten ifs angeht: Mit switch/case dürfte das sauberer und übersichtlicher gehen: http://us.php.net/manual/en/control-structures.switch.php
--
textformer mediendesign | Webkrauts
So werden Bilder nicht Drupal like ausgegeben.
am 01.10.2009 - 11:51 Uhr
<?php
echo '<img src="Bildadresse">';
?>
So werden Bilder nicht Drupal like ausgegeben. Dafuer gibt es die Funktion theme_image().
<?php
print theme('image', 'path_to_image', 'alternative_image_name');
?>
Zu Deinem Problem.
Bei Verwendung von Pathaliasen arbeitet Drupal intern trotzdem mit den "echten Pfaden.
------------------------
Quiptime Group
Da geht noch was.
Zitat: So werden Bilder
am 01.10.2009 - 12:39 Uhr
So werden Bilder nicht Drupal like ausgegeben. Dafuer gibt es die Funktion theme_image().
Mh ja, aber vorher hat es doch auch funktioniert. Ist ja merkwürdig.
Die Bilder gebe ich normal über HTML also '' aus.
Hat ja auch vorher super funktioniert.
Erst seit ich diese zwei Startseiten und das i18n habe gibt es Probleme.
Aber ich versuch es mal mit dieser Funktion.
So, ergänzungen. Hab jetzt
am 01.10.2009 - 14:33 Uhr
So, ergänzungen.
Hab jetzt ein wenig rumgespielt, um den Fehler zu finden.
An meinem Skript kann es nicht liege, da ich die Bildpfade durch andere ersetzt habe, mir aber immernoch das selbe alte Bild angezeigt wurde (trotz "erzwungenem" refresh).
Also müsste der Fehler woanders liegen. Hat jemand von euch eine Idee wo?
Vielleicht sollte ich noch erwähnen, dass das Skript über
<?php
include 'image.php'
?>
Samyylain schrieb <?phpif
am 01.10.2009 - 16:01 Uhr
<?php
if ($node->nid == 18 || 19) {
/* ... */
}
?>
Das ist aber sowas von Käse. Du kannst in deutscher Sprache fragen ob die $nid 18 oder 19 ist. In PHP musst du fragen ob die $nid 18 ist oder ob die $nid 19 ist:
<?php
if ($node->nid == 18 || $node->nid == 19) {
/* ... */
}
?>
--
Okay, ich bin nicht so
am 01.10.2009 - 15:41 Uhr
Okay, ich bin nicht so bewandert in PHP, war auch mein erster Code den ich geschrieben hab.
Hab das jetzt ausgebessert aber an meiner Situation ändert das nichts.
Es wird immernoch auf jeder Seite das gleiche Bild angezeigt, obwohl es garkeinen Pfad mehr zu diesem Bild gibt.