Werte aus we:link mit PHP auslesen

Fragen zum Erstellen von Templates für webEdition.
pfuchs

Beitragvon pfuchs » Mo 26. Aug 2002, 08:53

Hallo Forumer,

nachdem derzeit PHP nicht in we:linklist eingesetzt werden kann, möchte ich mittels we:block und we:link eine Downloadliste aufsetzen.

Mit Textfeldern klappt auch alles reibungslos, nur auf die Werte in we:link kann ich nicht zugreifen.

Wenn ich die we:block auslese bekomme ich anstelle des Wertes des we:link-Tag folgende Ausgabe:
a:27:{s:2:"id";s:3:"310";s:4:"href";s:1:"#";s:7:"attribs";s ...... undsoweiterundsofort.

Wäre klasse wenn sich dass mal jemand ansehen könnte. Ich habe es schon zigmal gemacht und auch schon komplett neu eingegeben.

Ich vermute, dass ich auf die falschen Feldnamen zugreife, aber wie bekomme ich raus, wie die Felder in we:link heissen?

Besten Dank, Peter

Mein Beispielcode:

Eingabe (we:IfEditmode)
<we:block name="download">
<tr>
<td class="tabCell">
<we:link name="Attribute"/>
</td>


Ausgabe: (we:ifNotEditmode)
$block = unserialize($we_doc->getElement("download"));
for($i=0;$i {$nr = $block[$i];
$feld1= $we_doc->getElement("Attributeblk_download_".$nr);


echo "$feld1";

Holger Meyer

Beitragvon Holger Meyer » Mo 26. Aug 2002, 12:13

Hallo,

links und hrefs werden nicht im plain-Text in den Feldern gespeichert (da man zwischen internen Links und externen Links unterscheiden muß) und lassen sich daher nicht so einfach auslesen wie Text Felder. Hier ein Beispiel:

Code: Alles auswählen

$feld1= $we_doc->getElement("Attributeblk_download_".$nr);

$linkArr = unserialize($feld1);
if(is_array($linkArr)){
   if($linkArr["type"]=="int"){ // interner Link
      if($linkArr["id"]){
         $path = f("SELECT PATH FROM tblFile WHERE ID='".$linkArr["id"]."'","Path",new DB_WE());
      }else{
         $path = "#";
      }
   }else{  // externer Link
      $path = $linkArr["href"];
   }
}

print $path;

pfuchs

Beitragvon pfuchs » Mo 26. Aug 2002, 12:53

Hallo Holger,

besten Dank für das Beispiel.

Habe es mit Copy & Paste eingefügt. Leider klappt es nicht ganz; soll heissen es kommt kein Ergebnis.

Kann es sein dass der SELECT-Befehl auf die Tabelle nicht ganz richtig ist?

Denn wenn ich mir die Blockgroesse ausgeben lasse

$size = sizeof($block);
echo"Blockgroesse: $size";

bekomme ich ebenso ein Ergebnis, als wenn ich mir den Inhalt des Feldes "feld1"

$feld1= $we_doc->getElement("Attributeblk_download_".$nr);

echo"Feld1: $feld1";

anzeigen lasse.

Nur bei

$path = f("SELECT PATH FROM tblFile WHERE ID='".$linkArr["id"]."'","Path",new DB_WE());

echo"Path: $path";

bekomme ich nix.

Woran kann das liegen?

Wenn ich mit Hardcopies und Zugriff auf unser e Installation helfen kann, bitte kurze Info.

Das ganze brennt mir nämlich etwas unter den Nägeln. :wink:

Besten Dank, Peter

Holger Meyer

Beitragvon Holger Meyer » Mo 26. Aug 2002, 16:12

Ups..

es muß natürlich heißen SELECT Path ... und nicht SELECT PATH ... (Groß/Kleinschreibung)

Gruß Holger

pfuchs

Beitragvon pfuchs » Di 27. Aug 2002, 14:00

Danke, das wars.

Klappt wunderbar. Damit kann ich auch die Dateigrösse und das Upload-datum auslesen.

Peter


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 25 Gäste