Felderreihenfolge mehr als 30 Felder?
Eingetragen von FlorianAGAI (168)
am 12.08.2007 - 19:04 Uhr in
am 12.08.2007 - 19:04 Uhr in
Hallo ich habe eine Frage:
Ich möchte Felder eines Content typs ordnen, leider gibt es nur -10 bis 10 Ordnungszahlen. Wie kann ich nun 30 Felder anordnen?
- Anmelden oder Registrieren um Kommentare zu schreiben
dazu installierst du die
am 12.08.2007 - 20:37 Uhr
dazu installierst du die entweder das Contemplate Modul, damit kannst du im Frontend die Ausgabe deines Inhaltstyps anpassen
oder du schreibt in deinem themeordner eine datei mit Names page-inhaltstyp.tpl.php
und dort kannst du mit den Felder aus Contemplate vollkommen frei die Felder anordnen
Ja
am 12.08.2007 - 21:30 Uhr
Sorry ich habe mich ein bischen schlecht ausgedrückt. Es geht dabei um die Reihenfolge bei dem Erstellen von Content.
Zum beispiel habe ich einen Contenttyp: Video.
Create content -> Video -> und jetzt habe ich 30 Felder
1.Feld: Video 1
2.Feld: Video 1 Zeitpunkt 1
3.Feld: Video 2
4.Feld: Video 2 Zeitpunkt 2
und so weiter.
Irgendwann beginnt Drupal halt alle Felder durcheinander zu würfeln,
Zum Beispiel:
1. Feld
10. Feld
11. Feld
2. Feld
Ist mein Problem jetzt klarer?
"The final answer is 1337"
dafür brauchst
am 12.08.2007 - 21:40 Uhr
dafür brauchst du
page-contenttyp-edit.tpl.php
Okay...
am 12.08.2007 - 21:45 Uhr
Und was kommt da rein?
"The final answer is 1337"
Gruppen
am 12.08.2007 - 22:57 Uhr
Hallo,
pack die Felder einfach in Gruppen (fieldgroups), dann kannst Du die Sortierungsmöglichkeiten erheblich erweitern, da innerhalb der Gruppen die Gewichte neu gezählt werden.
Gruß,
Boris
Um übrigens mit einem alten
am 13.08.2007 - 13:17 Uhr
Um übrigens mit einem alten Vorurteil der Gewichtung aufzuräumen:
Nein, es stehen nicht nur die die Zahle von -10 bis +10 zur Verfügung. Wenn man Blöcke oder Felder in der Gewichtung an der selben Ordnungszahl einordnet, so wird zusätzlich Alphabetisch sortiert.So hat man eine ganze Menge zusätzlicher Möglichkeiten, muss allerdings dabei auch etwas nachdenkne ;)
vg
--
sanduhrs - drupalcenter
--------------------------------------
Stefan Auditor
http://erdfisch.de · http://audiens.de
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
oder einfach wie unter
am 13.08.2007 - 18:57 Uhr
oder einfach wie unter http://drupal.org/node/101092 themen und die Reihenfolge bestimmen
Okay man kann das Problem auch anders sehen...
am 13.08.2007 - 20:54 Uhr
Im Prinzip ist es so:
Ich habe 30 Felder. Jeweils immer Name und Zeit.
Also:
Name1
Zeit1
Name2
Zeit2
Name3
Zeit3
Die Werte der Felder werden dann im Content template ausgewertet in einem Link.
zum Beispiel:
<a href="print Zeit1">print Name1</a>
von diesen Links existieren also auch 30 Stück.
Heute hat mich jemand darauf hingewiesen das es sicherlich sinnvoller wäre "multiple values" zu benutzen für Name und Zeit. Und dann je nachdem wieviele Einträge vorhanden sind die links per php erstellen zu lassen. Hat jemand eine ungefähre Idee oder einen Denkanstoß wie man das machen könnte?
Gruß Florian
"The final answer is 1337"
Okay step 1
am 13.08.2007 - 21:28 Uhr
Multiple Values sind jetzt an und ich kann die auch auslesen
<?php
for ($i = 0; $node->field_tag_1_name[$i]['value']; $i++)
{
echo $node->field_tag_1_name[$i]['value']."<br>";
}
?>
Nurnoch ein Problem...wie schaffe ich es jetzt jeweils beide arrays in ein "echo" zu packen?
Also
<a href="array1[1]">array2[1]</a>
"The final answer is 1337"
FlorianAGAI wrote:M<a
am 13.08.2007 - 21:41 Uhr
<a href="array1[1]">array2[1]</a>
Ohne wirklich zu wissen, worum es geht:
<?php
print l(array2[1], array1[1]);
?>
Siehe auch http://api.drupal.org/api/function/l/5
vg
--
sanduhrs - drupalcenter
--------------------------------------
Stefan Auditor
http://erdfisch.de · http://audiens.de
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Es geht um folgendes:
am 13.08.2007 - 21:53 Uhr
Ich habe 2 Arrays, beide Arrays enthalten gleichviele Werte.
Ich möchte, das ein html link automatisch erstellt wird, nach folgendem Muster:
<a href="array1[1]">array2[1]</a>
da beide Arrays aber im Prinzip unendlich viele Werte haben können muss das also in einer for schleife laufen.
In Textform also: Zwei arrays die als Quelle für einen html-link dienen, der automatisch zur Laufzeit erstellt wird.
Die Anzahl der Array-Werte bestimmt die Anzahl der Links.
"The final answer is 1337"
Foreach
am 13.08.2007 - 22:33 Uhr
Unabhängig von Drupal machst du das so:
<?php
$anzahl = count($array1);
for ($i = 0, $i < $anzahl, $i++ {
print '<a href="' . $array1[$i] '">' . $array2[$i] . '</a>';
}
?>
Mit Drupal machst du das Ganze dann am Besten mit der l() Function wie Stefan es beschrieben hat.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
da fehlt ne klammer oder?
am 14.08.2007 - 11:22 Uhr
<?php
$anzahl = count($array1);
for ($i = 0, $i < $anzahl, $i++) {
print '<a href="' . $array1[$i] '">' . $array2[$i] . '</a>';
}
?>
"The final answer is 1337"
hm okay
am 14.08.2007 - 11:51 Uhr
mit print l funktioniert es, aber leider nicht so wie ich es möchte...
der Link sollte so aussehen:
<a class="chapter" href="#" onClick="seek(playerOne, <?php print check_plain($node->field_tag_1_time[0]['value']) ?>);return false;"><?php print $node->field_tag_1_name[0]['value'] ?></a>
<br />
und das ganze am besten so, in einer for Schleife damit alle Werte als Link erzeugt werden:
<a class="chapter" href="#" onClick="seek(playerOne, <?php print check_plain($node->field_tag_1_time[$i]['value']) ?>);return false;"><?php print $node->field_tag_1_name[$i]['value'] ?></a>
<br />
"The final answer is 1337"
Un was passiert, wenn der
am 14.08.2007 - 11:58 Uhr
Un was passiert, wenn der User kein JavaScript hat?
Zum Thema JavaScript Funktionen an HTML-Element binden siehe [1].
[1] http://www.drupalcenter.de/node/4595#comment-15531
--
sanduhrs - drupalcenter
--------------------------------------
Stefan Auditor
http://erdfisch.de · http://audiens.de
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Hm, ja
am 14.08.2007 - 18:52 Uhr
Das ist in meinem Fall leider Voraussetzung, genau wie er FLash haben sollte. Hat aber auch seine Vorteile.
Also damit komme ich auch nicht weiter.
Ich erkläre vielleicht nocheinmal worum es geht.
Ich habe einen FLashplayer der mit JavaScript eingebunden wird UND auch gesteuert (der Hintergrund ist ja egal).
Das bedeutet ich kann über Links (in denen Java Code steht) den Player steuern.
Die Steuerung bedeutet: Bei klick auf einen Link springt der Player zu einer Angebenen Position(Time). Diese Position hat auch einen Namen(Name).
ARRAY 1 liefert die Zeitpunkte, ARRAY2 liefert die dazugehörigen Namen wie hier beschrieben:
<a class="chapter" href="#" onClick="seek(playerOne, <?php print check_plain($node->field_tag_1_time[$i]['value'])
?>);return false;"><?php print $node->field_tag_1_name[$i]['value'] ?></a>
<br />
----------------
Bisher habe ich also 15 Felder (CCK) Tag Name und 15 Felder Tag Time. Diese 15 Felder werden jeweils in 15 Links verwendet. (Funktioniert ja auch)
----------------
Im Prinzip wäre es aber einfacher wenn ich -je nachdem wieviele "Times/Names" ich brauche, automatisch felder/links erzeugt werden.
Die andere Möglichkeit wäre alle Werte für Name und Time in nur 2 Felder zu schreiben also:
Field_Name: Name1,Name2,Name3,...
Field_Time: 1,5,7,...
Dann müsste ich die Felder auslesen und nach jedem "Komma" die Werte zuweisen und einen Link nach dem obigen Schema erzeugen.
Hat jemand eine bessere Idee?
cheers, Flo
"The final answer is 1337"