Listen-Ausgabe in Nodes
am 16.06.2007 - 13:55 Uhr in
Ich habe mit CCK eine Auswahlliste (zur Kategorisierung) in einen bestimmten Inhaltstyp eingefügt.
Bei der Ausgabe dieser Liste stellt mir CCK allerdings nicht die gewünschten Möglichkeiten zur Verfügung. Ich möchte nicht, dass alle vom Ersteller der Node angewählten Listenpunkte (multiple Auswahl ist möglich) untereinander, sondern nebeneinander angezeigt werden, da es sich um eine längere Liste mit kurzen Einträgen handelt. Wählt der Ersteller nun 7 Listenpunkte gleichzeitig aus, stehen diese in der Node leider immer untereinander und ich kann das mit meinen Schwachen Programmierkenntnissen nicht umprogrammieren. Hab nur festgestellt, dass es wohl daran liegen muss, dass in der MySQL-Tabelle für jeden gewählten Listenpunkt ein neuer "Delta"-Wert vergeben wird. Kann sein, dass das gar nicht wichtig ist...
Kann mir hier jemand helfen und sagen, ob ich die Formatierung der Listen-Ausgabe irgendwie geändert bekomme?
Vielen Dank!
Tebser
- Anmelden oder Registrieren um Kommentare zu schreiben
Wie ist denn der Quellcode
am 18.06.2007 - 08:15 Uhr
Wie ist denn der Quellcode der bisherigen Ausgabe, glaube das man das mit CSS hinbekommen sollte.
gruß pebosi
gruß pebosi
--
https://pebosi.net
Habs jetzt selbst hingekriegt...
am 18.06.2007 - 18:49 Uhr
Ich hab dann doch die Stelle gefunden, an der ich die Ausgabe-Formatierung finden kann.
Man kann in der Datei content.module im Verzeichnis cck unter dem Eintrag function theme_field folgende Änderungen vornehmen, damit alle Einträge inline dargestellt werden
Dies ist der veränderte Quelltext:
function theme_field(&$node, &$field, &$items, $teaser, $page) {
$label_display = isset($field['display_settings']['label']['format']) ? $field['display_settings']['label']['format'] : 'above';
$label = t($field['widget']['label']);
$items_output = '';
if ($label_display == 'inline') {
$items_output .= '<div class="field-label">';
$items_output .= $label .': </div>';
}
foreach ($items as $delta => $item) {
if (!empty($item['view']) || $item['view'] === "0") {
$items_output .= ' ';
if ($label_display == 'inline')
$items_output .= $item['view'] .'';
}
}
$output = '';
if (!empty($items_output)) {
$output .= '<div class="field field-type-'. strtr($field['type'], '_', '-') .' field-'. strtr($field['field_name'], '_', '-') .'">';
if ($label_display == 'above') {
$output .= '<div class="field-label">'. $label .':</div>';
}
$output .= '<div class="field-items">'. $items_output .'</div>';
$output .= '</div>';
}
return $output;
}
Falls jemand noch einen Verbesserungsvorschlag für den Code hat (z.B. werden leider alle Felder, auch die leeren jetzt angezeigt), antwortet bitte auf diesen Eintrag!
Vielen Dank für eure Hilfe!
D.T.
Haste das Community tagging
am 18.06.2007 - 22:34 Uhr
Haste das Community tagging Modul installiert?
Wenn ja steht doch bei jeden Inhatlstyp diese auswahl zur verfügung!
Community tagging form:
Block
Tab
Inline
Und wie schon gesagt, die *.css sagt doch wo was hin zugehören hat!
Wenn du FF benutz geh mal auf Ansicht-->Webseiten-Stil-->Kein Stil (dann wird die Webseite ohne css gezeigt!
www.tobiasbaehr.de
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.