Ergänzung: node/add Formular in einem Block
Ich habe genau das hier Beschriebene auch gebraucht und folgende Lösung benutzt:
Das Form Block Modul stellt Blöcke für die Formulare zum Erstellen von Inhalt bereit.
Den Block in die Fußzeile des Views bringen
Als Eingabeformat php wählen!
<?php
// statt 'massnahmen' den namen eures inhaltstyps eingeben
$block = (object) module_invoke('formblock', 'block', 'view', 'massnahmen');
print theme('block', $block);
?>
Der Vorteil des Blocks ist, dass man Blöcke themen kann. Ich habe das genutzt, um den Block mit Drupals hauseigenen Möglichkeiten zu "collapsen". Das sieht dann so aus:
zusammengeklappt:
und aufgeklappt:
Block Template
Dafür muss man einfach eine Block-Template-Datei erstellen. Dazu die block.tpl.php eures Themes kopieren und entsprechend umbenennen (Im Quelltext findet man die id des Blocks, aus der man dann den Dateinamen macht, z.B. block-page-0.tpl.php).
VORAB EIN HINWEIS: es gibt derzeit noch ein Problem mit dem Form Block Modul, das zuerst gelöst werden muss. Es gibt die id des Blocks nicht richtig aus, weshalb das Block-Themeing nicht richtig greift. Diese issue auf drupal.org erklärt die (recht einfache) Lösung dazu.
Zum Zusammenklappen muss meine block-page-0.tpl.php-Datei so aussehen:
<?php
// $Id: block.tpl.php,v 1.1 2008/10/01 03:26:19 jwolf Exp $
?>
<!-- start block.tpl.php -->
<!-- hier der hinzugefügte code zum collapsen -->
<?php
drupal_add_js('misc/collapse.js');
?>
<fieldset class="collapsible collapsed">
<legend class="collapse">
<!-- hier der hinzugefügte code zum collapsen ende (<fieldset> muss am ende der datei noch geschlossen werden) -->
<a href="#">Neue Unterlagensammlung</a>
</legend>
<!-- hier der hinzugefügte code zum collapsen ende (<fieldset> muss am ende der datei noch geschlossen werden) -->
<div class="fieldset-wrapper">
<div class="block-wrapper <?php print $block_zebra; ?>">
<?php if ($rounded_block): ?> <!-- see preprocess_block() -->
<div class="rounded-block">
<div class="rounded-block-top-left"></div>
<div class="rounded-block-top-right"></div>
<div class="rounded-outside">
<div class="rounded-inside">
<p class="rounded-topspace"></p>
<?php endif; ?>
<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="block block-<?php print $block->module ?>">
<?php if ($block->subject): ?>
<?php if ($rounded_block): ?>
<div class="block-icon pngfix"></div>
<?php endif; ?>
<h2 class="title block-title pngfix"><?php print $block->subject ?></h2>
<?php endif; ?>
<div class="content">
<?php print $block->content ?>
</div>
</div>
<?php if ($rounded_block): ?>
<p class="rounded-bottomspace"></p>
</div><!-- /rounded-inside -->
</div>
<div class="rounded-block-bottom-left"></div>
<div class="rounded-block-bottom-right"></div>
</div><!-- /rounded-block -->
<?php endif; ?>
</div>
</div>
<!-- fieldset schließen -->
</fieldset>
<!-- /end block.tpl.php -->
Letzter Schliff
Mithilfe des von stBorchert hier erstellten formredirect-Moduls wird man beim Speichern des neuen Inhalts direkt wieder zum View geführt, was einem unheimlich viele Klicks ersparen kann.
Wenn man außerdem noch das editablefields-Modul verwendet, mit dem man einzelne Felder im View direkt bearbeiten kann, kann man sich eine sehr komfortable Inhaltsverwaltung bauen.
Anhang | Größe |
---|---|
1.jpg | 33.66 KB |
2.jpg | 80.59 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 35 Sekunden
vor 11 Stunden 32 Minuten
vor 14 Stunden 10 Minuten
vor 14 Stunden 16 Minuten
vor 14 Stunden 20 Minuten
vor 14 Stunden 32 Minuten
vor 14 Stunden 37 Minuten
vor 14 Stunden 40 Minuten
vor 18 Stunden 29 Minuten
vor 18 Stunden 29 Minuten