Objektnummer mit Serial

am 05.07.2013 - 13:21 Uhr in
Ich entwickle gerade eine Art Hotelguide und da brauche ich für den Node name mit Auto title Modul eine 5 stellige Nummer. Eine Art ID. Soweit geht das ja mit Serial, aber wie bekomme ich eine 5-stellige ID hin? Also beispielsweise 00312
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn du ein computed-Field
am 05.07.2013 - 14:37 Uhr
Wenn du ein computed-Field nimmst, dann könntest du damit so eine Nummer erzeugen.
Und dieses computed-Field könntest du dann für die URL-Bildung heranziehen.
Ich habe es nicht ausprobiert, aber es müßte doch eigentlich so funktionieren.
Gruß
Berthold
Ich habe mit
am 06.07.2013 - 10:07 Uhr
Ich habe mit https://drupal.org/project/unique_field und Webform ein Anfrageformular umgesetzt so das die Bestellnummer automatisch eingefügt wird.
Allerdings erfolgt die Eingabe der 5 stelligen Nummer per Hand beim Anlegen der Node, da es nicht viele Produkte sind, wenn das Hochzählen automatisch erfolgen soll, könnte das in Kombination mit Rules bestimmt funktionieren.
Viele Grüße Jenna
edit: sorry, nicht richtig gelesen, meinen Thread gar nicht beachten (hab gerade gesehen das Serial Field ohnehin schon hochzählt).
Wie torfnase schon schrieb
am 06.07.2013 - 08:32 Uhr
Wie torfnase schon schrieb kannst du hier ein [do:computed_field] verwenden. Das Serial Modul nimmst du weiterhin zum automatisierten hochzählen der Einträge. Im Computed Field kümmerst du dich dann um das Auffüllen mit "Nullen"..
Hierfür kannst du die str_pad Funktion von PHP nutzen:
<?php
$num = 258;
$zerofill = 5;
echo str_pad($num, $zerofill, '0', STR_PAD_LEFT); // Output: 00258.
?>
Weitere Infos dazu hier: http://lucdebrouwer.nl/how-to-zero-fill-a-number-in-php/
SteffenR
So habe ich mir das auch
am 06.07.2013 - 13:54 Uhr
So habe ich mir das auch gedacht. Kennst du zufällig gleich noch die Variable für Serial? Die Lösung von dir entspricht genau meinem Geschmack :)
neofelis schrieb So habe ich
am 07.07.2013 - 20:51 Uhr
So habe ich mir das auch gedacht. Kennst du zufällig gleich noch die Variable für Serial? Die Lösung von dir entspricht genau meinem Geschmack :)
Freut mich zu lesen. Die Variable für das Feld der Serial hängt von deinen Feldnamen ab, die du im Content-Typen verwendest. Da kann ich dir nicht viel weiter helfen. Wie du mit computed_field arbeitest, erfährst du in der Dokumentation des Moduls:
https://drupal.org/node/126522
Im Computed Field selbst steht dir auch das gesamte Entity-Objekt zur Verfügung - darüber hast du dann auch Zugriff auf alle Felder.
SteffenR
Ich habe gerade ein Tutorial
am 31.07.2013 - 11:55 Uhr
Ich habe gerade ein Tutorial gefunden, welche folgendes erfolgreich einsetzen:
<?php
$node_field[0]['value'] = 'WFCRN-'. str_pad($node->field_crn_number [0]['value'], 6, '0', STR_PAD_LEFT);
?>
Ich kann beim Computed field konfigurieren, dass der Wert in der Datenbank gespeichert wird. Kann ich diesen Wert dann auch per Token in der URL und überall anders ausgeben lassen?
Hmm ich stehe ein wenig auf
am 31.07.2013 - 13:05 Uhr
Hmm ich stehe ein wenig auf dem Schlauch, ich habe nun folgendes probiert.
<?php
$entity_field[0]['value'] = str_pad($entity->field_serial [LANGUAGE_NONE] [0]['value'], 6, '0', STR_PAD_LEFT);
?>
<?php
$entity_field[0]['value'] = str_pad($field->field_serial [LANGUAGE_NONE] [0]['value'], 6, '0', STR_PAD_LEFT);
?>