Hallo zusammen,
ich habe in einem Modul folgende Funktion in php:
public function getimagelink($img = null)
{
$Config = oxnew('oxViewConfig');
$myConfig = $this->getConfig();
// $dirpath=$myConfig->getConfigParam('sAltImageUrl');
$dirpath=$myConfig->getConfigParam('sShopURL');
$imgp=$dirpath."/out/pictures/master/contactimages/".$img;
if(getimagesize($imgp) != false) {
return $dirpath."/out/pictures/master/contactimages".$img;
}
return $Config->getModuleUrl("contactmodul", "out/pictures/master/contactimages/nopic.png");
}
Habe ich in der config.inc.php sAltImageUrl definiert und $dirpath entsprechend ausgewählt funktioniert alles. Sobald ich auf sShopUrl umstelle und sAltImageUrl auskommentiere ruft mir das Template immer das nopic auf.
Könnte mir bitte jemand sagen was hier falsch ist?
Vielen Dank
Paul
ist die Datei unter /out/pictures/master/contactimages/ auch wirklich vorhanden?
Ja, es sind alle Bilder vorhanden, den in der Testumgebung greift der Medienserver auf das gleiche Verzeichnis wie der Shop zu.
Liegen die Bilder tatsächlich an 2 verschiedenen Orten? Sonst läuft die erste Prüfung natürlich ins Leere.
-
$dirpath."/out/pictures/master/contactimages/".$img;
-
getModuleUrl("contactmodul", "out/pictures/master/contactimages/nopic.png");
abgesehen vom vermutlich fehlenden / in
return $dirpath."/out/pictures/master/contactimages".$img;
fällt mir nichts auf, wobei man natürlich genauer prüfen müsse, ob du dein nopic.jpg aus dem Modulordner bekommst oder das shop standard nopic.jpg, denn wenn der Shop diese fehlerhafte URL prüft und nichts findet, dann bekommst du die shop-eigene nopic.jpg
Ja, die Bilder liegen alle in den richtigen Verzeichnissen. Wie gesagt fkt. es wenn ich sAltImageUrl angebe. Ich glaube eher das er die sSHopUrl nicht richtig bekommt. Wie kann ich mir diese im Template anzeigen lassen um zusehen ob der Wert richtig ist?
Nein, denn das ist nicht die nopic mit dem Karton, sondern ein “Strichmännchen”. Ich kann auch als Pfad irgendein Bild aus dem Ordner anstatt $img angeben und es fkt. auch. Woher bekommt er denn $img?
Danke, aber ich meine im smarty Template.
Wenn die Methode aufgerufen wird, siehst Du auch die Ausgabe im Quelltext. Ansonsten kurz eine neue Methode mit
$myConfig = $this->getConfig();
$dirpath=$myConfig->getConfigParam('sShopURL');
return $dirpath;
anlegen und im Template aufrufen.
und wenn du PHP > 5.3 hast:):)
Cooles Ding übrigens, ist schon lange im Einsatz:D
Vielen Dank für den Code, da ich aber Newbie bin komme ich damit nicht wirklich weiter. Ich habe in einem php Dokument welches von dem Modul genutzt wird folgenden Code eingefügt:
public function getmyurl()
{
$myConfig = $this->getConfig();
$myurl =$myConfig->getConfigParam(‘sShopURL’);
return $myurl;
}
Im Pemplate habe ich:
<p>[{$myurl->myurl</p>}]</p>
Jetzt wird das Template nicht mehr richtig geladen, denn die Seite wird nur als Text mit Bildern angezeigt, ohne Formatierung (css). Was mache ich falsch?
Stop. Seite geht, es hat sich ein p-Tag im Code eingeschlichen, scheiß Autovervollständigung. Aber die Variable habe ich nicht auf der Seite
Sorry falscher Thread … diese Newbies :-)))
Vielen Dank für den Code, da ich aber Newbie bin komme ich damit nicht wirklich weiter. Ich habe in einem php Dokument welches von dem Modul genutzt wird folgenden Code eingefügt:
public function getmyurl()
{
$myConfig = $this->getConfig();
$myurl =$myConfig->getConfigParam(‘sShopURL’);
return $myurl;
}
Im Template habe ich:
<p>[{$myurl->myurl}]</p>
Allerdings wird mir diese Variable nicht auf der Seite ausgegeben? Was mache ich falsch?
ich bin gerade extrem verwirrt
Nope, dann bekomme ich einen redirect auf die Startseite. Ich glaube da hat die Agentur so viel rumgeschraubt dass nichts mehr im Standard ist. Buhu.
So schlimm wird es nicht sein. Wir können ja nur raten, wie das Modul aussieht und was damit erweitert wird. Schau Dir einfach den Fehler an (exeption_log.txt).
Wie wird denn die andere Methode (Funktion: getimagelink()) aufgerufen?