GELÖST Dateiname eines Bildes holen
am 25.09.2012 - 14:53 Uhr in
Guten Tag,
bin gerade dabei meine Page (dog-cms.de) fertig zu stellen und suche nach einer Möglichkeit mir beim speichern den Namen eines Bildes aus dem field_image zu holen. Dateiname des Bildes ist z.b. name-xyz-5555.jpg , jetzt wollte ich die Nummer 5555 extrahieren und im einem Field z.b. Ganzzahl? einfügen.
Ziel des ganzen ist das ich unter den Vorschaubildern diese Nummer verwenden möchte damit der Kunde das Bild anhand der Nr. bestellen kann.
Über Hilfe würde ich mich freuen.
- Anmelden oder Registrieren um Kommentare zu schreiben

Das Node Template
am 27.09.2012 - 23:12 Uhr
zu bearbeiten wäre eine einfache Möglichkeit:
1) Den Bildnamen holen
2) Die Zahlen aus dem Bildnamen extrahieren
3) Die Zahlen ausgeben
Den Bildnamen bekommst du, wenn du diesen Code in die Datei node.tpl.php des Themes schreibst.
<pre><?php print_r($node); ?></pre>In dieser Datei kannst du auch PHP-Funktionen ausführen lassen. Stringfunktionen findest du hier:
http://php.net/manual/de/ref.strings.php
Ausgeben kannst du Variablen in der Templatedatei node.tpl.php mit
<?php print $variable; ?>Wenn du einen Teil des Bildnamens in die Datenbank - z.B. einem Feld - schreiben möchtest, wäre ein eigenes Modul die bessere Variante.
Gruss
abc123
mit computed field und php.
am 28.09.2012 - 05:40 Uhr
mit computed field und php.
Hi, abc23: Ein wenig php kann
am 28.09.2012 - 18:24 Uhr
Hi,
abc23: Ein wenig php kann ich noch. Aber eigenes Modul da müsste ich mich wieder voll Reinknien!
Habe mir mal computed field angesehen. Das scheint evt. für meine zwecke geeignet, da man den wert auch in der db speichern kann.
Aber ich komme irgendwie nicht an mein cck field_image.
Habe mal Testweise einen Wert manuell eingegeben und das funktioniert.
Computed Code
$entity_field[0]['value'] = "3333";
Display code
$display_output = $entity_field_item['value'];
Werde mal Google bemühen ob sich was findet.
dürfte irgendwie mit
am 28.09.2012 - 19:16 Uhr
dürfte irgendwie mit array_pop(array_pop(field_get_items($entity_type, $entity, 'field_image')))
oder probier mal field_files['und'][0]['filename']
ob da jetzt der dateiname steht, weiß ich allerdings nicht so genau. wenn ja kannst du den mit php bearbeiten string
hi, habe verschiedene Sachen
am 28.09.2012 - 20:39 Uhr
hi,
habe verschiedene Sachen ausprobiert aber keinen Erfolg.
Mit
$entity_field[0]['value'] = array_pop(array_pop(field_get_items($entity_type, $entity, 'field_image')));
bekomme ich den String (zuschneiden) der Schaltfläche (Zuschneiden) um die Bilder zu croppen.
Habe auch in der Doku oder Google nichts brauchbares gefunden wie man an den Image Dateinamen ran kommt.
Aber irgendwie muß man da doch rankommen!
den dateinamen dann mit php zu bearbeiten um die Nummer zu extrahieren ist noch das kleinste problem.
Habe etwas gefunden in den
am 28.09.2012 - 21:42 Uhr
Habe etwas gefunden in den Issues for Computed Field:
$file = file_load($entity->field_image['und'][0]['fid']);
$uri = $file->uri;
$icon_vars = array(
'path' => file_create_url($uri),
);
$my_img = theme('image', $icon_vars);
//$my_img = theme_image($icon_vars);
$entity_field[0]['value'] = $my_img;
Das liefert mir jetzt den gesamte URL Soweit schon ganz gut.
Jetzt bekomme ich nur eine
Notice: Undefined index: attributes in theme_image() (Zeile 1760 von C:\xampp\htdocs......
beim Speichern des Beitrages.
Diese ist auch beseitigt es muß heißen: $my_img = theme('image', $icon_vars); und nicht: $my_img = theme_image($icon_vars);
Somit kann ich das Thema als gelöst betrchten.