Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

Nur ein paar CCK-Felder in einem Formular anzeigen

Eingetragen von Scentyoo (60)
am 15.12.2010 - 18:14 Uhr in
  • Views
  • Drupal 6.x

Hallo, ich habe einen content-type mit 15 CCK-Feldern. Nun möchte ich ein Formular erstellen, in dem nur 2 Felder angezeigt werden. Statt über hook_form_alter die überflüssigen rauszulöschen, muss man das doch auch einzeln aufrufen können, oder?!

‹ Taxonomie Pfad Ausgabe Views Calendar: Wochentag als Argument ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hä? Was denn für ein Formular

Eingetragen von Exterior (2903)
am 15.12.2010 - 20:16 Uhr

Hä? Was denn für ein Formular mit 2 Feldern? Wie darf man das verstehen?

Du hast einen Node-Type mit 15 CCK-Feldern - ok. Und weiter? Was für ein Formular soll das denn sein mit den 2 Feldern?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok, habs inzwischen selbst

Eingetragen von Scentyoo (60)
am 15.12.2010 - 21:05 Uhr

Ok, habs inzwischen selbst herausgefunden... Hab mich schrittweise durch die ganzen Funktionen die aufgerufen werden gewühlt :-P

Hier die Lösung:

<?php
function test_module_form($form_state, $node) {
 
// Node laden
 
$node = node_load($nid);

 
// Formular der Node erzeugen
 
module_load_include('inc', 'node', 'node.pages');
 
$temp_form = drupal_retrieve_form('test_node_form', $form_state, $node);
 
module_load_include('inc', 'content', 'includes/content.node_form');
 
content_form(&$temp_form, &$form_state);

 
// Formular mit den gewünschten Feldern erzeugen
 
$form['field_test_testfield'] = $temp_form['field_test_testfield'];
 
$form['#field_info']['field_test_testfield'] = $temp_form['#field_info']['field_test_testfield'];

  return
$form;
}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich brauche etwas ähnliches

Eingetragen von snes (18)
am 16.12.2010 - 17:24 Uhr

vielleicht kann mir auch jemand weiterhelfen.
Ich will meine views-template so anpassen, dass ich selbst entscheiden kann wo mir die Felder angezeigt werden.

Momentan ist es so:
print $rows

da wird eins nach dem andern angezeigt.
ich hätte gern dass ich selbst entscheiden kann welches er lädt:
print $rows->field_inhalt

hab schon einiges durchprobiert, komm aber nicht dahinter.
Hat jemand einen Tipp für mich?

EDIT:
Jetzt hab ich das hier gefunden:
http://www.appnovation.com/theming-views-drupal-6-simple-way

Ich glaube das ist, was ich brauche.
Aber kann mir jemand genau erklären wie das nun funktioniert?
Ich versteh's immer noch nicht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Und was genau verstehst du

Eingetragen von Exterior (2903)
am 16.12.2010 - 17:37 Uhr

Und was genau verstehst du nicht?

Man nehme die Standard-Theme-Datei "views-view-fields.tpl.php", kopiere diese in den Ordner des verwendeten Themes und benenne die Datei entsprechend der Theminginfo um.

Dann kannst du in der Datei mittels $fields['name_des_felds'] auf die einzelnen Felder zugreifen und die gezielt ausgeben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also bei mir tut sich da

Eingetragen von snes (18)
am 16.12.2010 - 17:53 Uhr

Also bei mir tut sich da nichts.

Und was ich nicht verstehe daran ist, ich habe meine Felder benannt in CCK (field_beliebiger_name).
Ist das jetzt der Name über den ich zu den Feldern komme?
Also: print $fields['field_beschreibung']

So bekomm' ich keine Ausgabe.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erläutere doch mal bitte

Eingetragen von Exterior (2903)
am 16.12.2010 - 18:34 Uhr

Erläutere doch mal bitte Schritt für Schritt, wie du vorgegangen bist.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich hab eine normale

Eingetragen von snes (18)
am 17.12.2010 - 10:06 Uhr

Also ich hab einen Inhaltstyp (CCK) erstellt mit 5 Feldern (einschließlich dem Titel).
Danach hab ich eine Ansicht (Views) erstellt die mir diesen Inhaltstyp mit allen Feldern unformattiert ausgibt,
also einfach die Felder nach der Reihe.

Und jetzt wollte ich mittels der Template-Dateien jedes Feld einzeln ansprechen damit ich die Ausgabe besser steuern kann,
weil mein Layout doch etwas ausgefallener sein soll.

Da habe ich verschiedene Dinge ausprobiert die mir kein Ergebnis lieferten, viel im Internet zu dem Thema gesurft und schließlich den o.g. Link
gefunden und dachte auch schon das ist die Lösung, allerdings bekomm ich immer noch keine Ausgabe.

  • Anmelden oder Registrieren um Kommentare zu schreiben

So weit bringen die Infos

Eingetragen von Exterior (2903)
am 17.12.2010 - 15:39 Uhr

So weit bringen die Infos noch gar nichts. Was hast du für Theme-Dateien angelegt, wo hast du die her, wie heißen die, wo hast du sie hin kopiert usw. solche Infos sind wichtig.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Achso

Eingetragen von snes (18)
am 17.12.2010 - 15:55 Uhr

Achso ok.

-page.tpl.php
-node.tpl.php
-block.tpl.php
-block-admin.tpl.php
-comment.tpl.php
-node.tpl.php
-template.php
die habe ich selbst angelegt, damit komm ich auch klar, bis dahin hat alles funktioniert wie's sollte.

dann hab ich noch die
-views-view.tpl.php
-views-view-fields.tpl.php

EDIT: achja, die .tpl dateien liegen alle in dem Verzeichnis meines themes.

und die views machen mir noch schwierigkeiten, die habe ich aus der Theme: Information rauskopiert.

Zur Views-Info:

Die Ansicht seitenaufbau zeigt Einträge vom Typ Node an.
Darstellung: Unformatiert
Zeilendesign: Felder

Felder
Inhalt: Kleines Standard
Inhalt: Seitenbesc Standard
Inhalt: großes Standard
Inhalt: kleines Standard
Node: Titel

Um das ganze noch abzurunden:
Es geht mir darum, dass ich eine Seite gebaut habe, die mit wenig Text aber sehr mit Bildern arbeitet.
großes Bild oben, links darunter ist der Titel der Seite und darunter der Inhalt
rechts von Inhalt und Titel sind 2 Felder wo nochmals Bilder drin sind.

Was ich mit dem View bezwecken will, ist dass ich übers Eingabeformular Text und Titel eingebe,
danach die Bilder hochlade und das ganze gleich so wie ich's haben will in mein Layout einfliesst.

Ist mein Ansatz also so überhaupt richtig?
Ansonsten dachte ich mir wär auch noch ne Möglichkeit verschiedene Views zu machen,
die nur immer ein Bestimmtes Feld auslesen und diesen View dann auf die Bereiche aufzuteilen.

Vielleicht denke ich aber auch ganz in die falsche Richtung.

Momentan sind die Bilderuploads noch nicht vorhanden, mir ging's mal darum,
dass der Text jetzt mal an der richtigen Stelle sitzt, das Layout besteht ja bereits.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hast du die

Eingetragen von Exterior (2903)
am 17.12.2010 - 16:11 Uhr

Hast du die views-view-fields.tpl.php aus dem Theme-Ordner des Views-Moduls?

Im Modul-Ordner von Views gibt es einen Ordner namens "theme", dort liegen besagte Standard-Theme-Dateien. Und dort findest du auch die views-view-fields.tpl.php, die kopierst du dir in dein Theme und dann kannst du sie bearbeiten.

Des weiteren solltest du dir mal Devel installieren (http://drupal.org/project/devel) und in die views-view-fields.tpl.php den Befehl <?php dsm($fields); ?> einfügen, dann wird dir beim Aufruf der View eine Drupal-Message angezeigt, welche dir Informationen über die Variable $fields liefert, dort kannst du dann sehen, wie die Felder heißen und wie du sie ansprechen musst etc.

Sollte diese Drupal-Nachricht nicht auftauchen, dann probier mal, den Theme-Cache zu leeren (entweder unter Einstellungen->Leistung-> Button "Cache leeren" oder im Block des Devel-Moduls auf "Cache leeren" klicken), dann dürfte es klappen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die views-tpl-dateien habe

Eingetragen von snes (18)
am 20.12.2010 - 09:36 Uhr

Die views-tpl-dateien habe ich mir von Theme: Information kopiert.
mit dsm($fields); bekomm ich jetzt keine anzeige, caches geleert und vorlagendateien habe ich neu eingelesen.

muss ich den dsm befehl an eine bestimmte stelle schreiben?

  • Anmelden oder Registrieren um Kommentare zu schreiben

In Theme: Information stehen

Eingetragen von Exterior (2903)
am 20.12.2010 - 09:46 Uhr

In Theme: Information stehen doch aber nur die Namen von potentiellen Theming-Dateien drin, wie willst du denn von dort eine Theming-Datei kopieren?

Wie bereits geschrieben, du sollst erstmal die entsprechende Theming-Datei aus dem theme-Ordner des Views-Modul-Ordners in deinen Ordner deines Themes kopieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Naja dachte das sind die

Eingetragen von snes (18)
am 20.12.2010 - 10:50 Uhr

Naja dachte das sind die benötigten Dateien, wenn ich draufklicke bekomm ich die Datei angezeigt.
Ich hab mir die jetzt mal aus dem Theme-Ordner kopiert.

test: <?php dsm($fields); ?>

<?php foreach ($fields as $id => $field): ?>
  <?php if (!empty($field->separator)): ?>
    <?php print $field->separator; ?>
...

bringt folgende ausgabe:

Zitat:

test:
Ein Verweis auf andere Seiten in Form eines Bildes.
Eine Beschreibung die unter dem Titel angezeigt wird.
Großes Bild in der Mitte der Seite
Ein anderer Verweis auf sonstigen Inhalt der Seite.
Ein Seitentest für views

EDIT:
Ich hab jetzt eine Ausgabe mit:
print_r($fields);

erhalten:

[view] => view Object
                        (
                            [db_table] => views_view
                            [base_table] => node
                            [args] => Array
                                (
                                )

                            [use_ajax] =>
                            [result] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [nid] => 10
                                            [node_data_field_small_pic_1_field_small_pic_1_value] => Ein Verweis auf andere Seiten in Form eines Bildes.
                                            [node_type] => seitenansicht
                                            [node_vid] => 10
                                            [node_data_field_small_pic_1_field_beschreibung_value] => Eine Beschreibung die unter dem Titel angezeigt wird.
                                            [node_data_field_small_pic_1_field_big_picture_value] => Großes Bild in der Mitte der Seite
                                            [node_data_field_small_pic_1_field_small_pic_2_value] => Ein anderer Verweis auf sonstigen Inhalt der Seite.
                                            [node_title] => Ein Seitentest für views

Das bringt mich schon mal weiter.
Aber auch nicht wirklich.

Wie greife ich denn jetzt auf diese Werte zu?
das print_r ergibt bei mir eine endlos lange ausgabe, ich bin ein wenig überfordert damit.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab's endlich geschafft

Eingetragen von snes (18)
am 21.12.2010 - 09:36 Uhr

Falls es mal jemandem weiterhelfen sollte, hier die Lösung:

<?php
print $fields['field_mein_feld_value']->content
?>

gibt genau die Ausgabe die man in dem Feld hat.

Weitergeholfen hat mir das hier:
[gelöst] Felder von Views in ein Fieldset, bzw. DIV-Container einbetten

Hoffe damit wird noch weiteren geholfen sein.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • wmtbpo361x
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
Weiter

Neue Kommentare

  • Rollen
    vor 5 Tagen 14 Stunden
  • Inzwischen sind wir bei
    vor 2 Wochen 2 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 2 Tagen
  • melde mich mal wieder, da ich
    vor 10 Wochen 3 Stunden
  • Hey danke
    vor 10 Wochen 22 Stunden
  • Update: jetzt gibt's ein
    vor 10 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 3 Tagen
  • In der entsprechenden View
    vor 11 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250239
Registrierte User: 20467

Neue User:

  • LorisBen
  • StevenEness
  • ocvk2810

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 23 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association