Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Inhaltstypen und Menüs

Eingetragen von tantenic (11)
am 14.11.2007 - 12:40 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x

Hallo!

Ich überlege gerade ein Vereinsseite mit Drupal zu erstellen. Ich nutze Drupal zum ersten mal, und bin bis jetzt wirklich begeistert von der Software.

Nun habe ich ein kleines Problem.

Um die Nutzer nicht unnötig zu verwirren, möchte ich zwei Inhaltstypten haben.
Z.B. "News" und "Statische Seite"

Bei News soll der Nutzer bei der Inhalsterstellung die Optionen für das Menü nicht sehen.
Bei statischen Seiten soll das Menü erstellt werden können. Noch besser wäre, wenn es sogar Pflicht wäre.

Wie ich bei unterschiedlichen Usern die Rechte für das Menü beschränke ist mir klar.
Geht das auch in Abhängigkeit von den Inhaltstypen?

Vielen Dnak im voraus.

Nicolas.

‹ Mehrsprachige Drupal-Site Beim Editieren einige "Gruppen" wie zB "Input format" per Default aufklappen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Modul schreiben

Eingetragen von mhuebl (60)
am 14.11.2007 - 15:37 Uhr

Hallo tantenic.

Ehrlich gesagt weiß ich nicht, ob man das so direkt im Backend einstellen kann. Sitze aber grade an der Menümanipulation und habe dir fix ein kleines Modul geschrieben. Ich habe es nicht groß getestet, gibt also bitte Feedback ob es wirklich so funktioniert wie du es möchtest. Einfach unten downloaden und installieren.

Die Funktion des Moduls sieht folgendermaßen aus:

<?php
/**
* Klappt automatisch die Menüfelder beim Anlegen eines Content-Types auf,
* setzt das Titel-Feld des Menüs als Pflichtfeld
*
* Deaktiviert die Menüfelder bei den angegebenen ContentTypes
*
* @param int $form_id
* @param array $form
*/
function globalfunctions_form_alter($form_id, &$form) {

   
$ctypes = array();
   
#Trage hier die Contenttypen ein, bei denen die Menügruppe komplett ausgeblendet werden soll.
    #Muster $ctypes[] = 'Name des Contenttyps';
   
$ctypes[] = 'news';
   
//$ctypes[] = 'page';
   
   
if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) {
       
$form['menu']['#collapsed'] = FALSE; //klappt das Menü auf
       
$form['menu']['title']['#required'] = TRUE; //setzen als Pflichtfeld
   
}

    if (isset(
$form['type']) && $form['type']['#value'] .'_node_form' == $form_id) {
        foreach (
$ctypes as $ctype)
            if (
$form['type']['#value'] == $ctype) unset ($form['menu']); //Menüfeld deaktivieren
   
}
}
?>

Code könnte buggy sein, also teste es bitte wirklich und verlasse dich nicht auf mich.
Evlt gibt es auch eine einfachere Lösung als das hier :-)

Download[1].

[1] http://rapidshare.com/files/69662387/globalfunctions.rar.html
(gabs hier nicht mal ne Attach-Funktion?)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo mhuebl,

Eingetragen von tantenic (11)
am 14.11.2007 - 20:08 Uhr

Hallo mhuebl,

vielen Dank. Das ist ja super.
Da ich nur eine Testinstallation habe, kann ich angstfrei testen.
Ich werde es heute Abend testen und später berichten.

Edit:
Ich habe es jetzt getestet. Zuerst funktionierte es leider nicht.
Ich habe in Deinem Code mit print_r($form) die Variable anzeigen lassen.
$form['menu'] existierte leider nicht.

Dann habe ich diesen Bericht gefunden.
http://www.molecularsciences.org/drupal/modifying_your_forms

Nachdem ich Dein Modul und die Funktion in xglobalfunctions umbenannt habe funktioniert es.
Die Variable $form['menu'] war jetzt auch zu finden.

Vielen Dank für den Tipp und gelernt habe ich auch was dabei.

Nicolas.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hmm.. wieso genau

Eingetragen von mhuebl (60)
am 14.11.2007 - 20:20 Uhr

Hmm.. wieso genau funktionierte es jetzt anfangs nich?
Was hat die Umbenennung damit zu tun?

Kannst du mir das jetzt erklären? So als Revanche, dann brauch ich den Artikel nich lesen :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das Problem ist die

Eingetragen von tantenic (11)
am 15.11.2007 - 09:05 Uhr

Das Problem ist die Reihenfolge in der die Module abgearbeitet werden.

Das Module "menu" kommt nach dem Module "globalfunctions".
Deshalb werden alle Werte für das Formular vom Module "menu" erst später gesetzt, bzw. überschrieben.
Darum existierte beim bei der Ausgabe von print_r($form) auch noch kein Wert $form['menu'].

Die Module werden in folgender Reihenfolge abgearbeitet. Erst nach dem weight-Wert, dann nach Alphabet.
Der weight-Wert der meisten Module steht nach der Installation auf 0. Dies kann man entweder direkt in der Tabelle "system" nachschauen, oder man installiert das Module "Module Weight" http://drupal.org/project/moduleweight.

Schreibt man folgenden Code in eine zusätzliche Datei globalfunctions.install wird der Wert beim installieren des Moduls auf 10 gesetzt und es funktioniert auch mit einem anderen Modulnamen.

<?php
function globalfunctions_install() {
  db_query("UPDATE {system} SET weight = 10 WHERE name = 'globalfunctions'");
}

function globalfunctions_uninstall() {
  db_query("DELETE FROM {system} WHERE name = 'globalfunctions'");
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

Na dann lernen wir hier ja

Eingetragen von mhuebl (60)
am 15.11.2007 - 10:28 Uhr

Na dann lernen wir hier ja gegenseitig voneinander. Dankeschön!

Ich hätte da aber noch eine Theorie anzubieten:
Die Module, die in sites/all/modules liegen, sind schwerer als die in /modules/

Bei mir funktioniert das Modul nämlich auch mit g am Anfang ;)

gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

mit

Eingetragen von aschiwi (1113)
am 15.11.2007 - 11:53 Uhr

mit http://drupal.org/project/formfilter kannst du pro Formular (also auch pro Inhaltstyp) entscheiden, welche Möglichkeiten deine Benutzer sehen dürfen. Es gibt nur die Möglichkeit zwischen "dürfen sehen" und "dürfen nicht sehen", also wenn du nur eine Benutzerrolle hast, die bestimmte Sachen nicht sehen sollen, dann geht das gut. Was nicht geht, ist das verschiedene Benutzer verschiedene Sachen nicht sehen können.

Auf jeden Fall ist das Modul sehr praktisch, ich verwende es auf unserer Firmenwebsite um die Mitarbeiter nicht zu verwirren. Am Ende bleibt in meinem Formular nur noch der Titel, Textkörper und "Senden" Knopf, den Rest blende ich aus. Ich glaub das wäre was für dich.

Grüße
Anja

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das kann gut möglich

Eingetragen von tantenic (11)
am 15.11.2007 - 12:21 Uhr

@mhuebl
Das kann gut möglich sein.
Die Verzeichnisse kannte ich noch gar nicht.

Ich hätte mich ohne Deinen Tipp gar nicht an ein Modul rangewagt.
Drupal macht hier wirklich Spass.

Ich habe schon ein Formular erstellen können, wo man die Option pro Inhaltstyp setzen kann. Vergleichen mit der Pluginprogrammierung bei z.B. Wordpress ist das hier wirklich genial gelöst.

Nochmals Danke für die gute und schnelle Hilfestellung.

@mit
Schaue ich mir mal an.
Hört sich genau nach dem an, was ich suche.
Danke schön.

  • Anmelden oder Registrieren um Kommentare zu schreiben

@tantenic

Eingetragen von mhuebl (60)
am 15.11.2007 - 13:27 Uhr

@tantenic
Lege deine Module in den /sites/all/modules Ordner, gleiches gilt auch für deine Themes /sites/all/themes. Dann belässt du den Drupal Core in seinem Ausgangszustand und kannst besser updaten.
Den Sites Ordner verwendet man auch für Multisite-Installationen. siehe http://www.drupalcenter.de/handbuch/6083

@aschiwi
Danke für das Modul. Spart Tipparbeit :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, ich suche genau nach

Eingetragen von missingdot (145)
am 11.09.2009 - 14:13 Uhr

Hallo,

ich suche genau nach der Lösung. Leider bislang ohne Erfolg. Das Modul hier ist nicht mehr als download verfügbar. Gibt es was vergleichbares für Drupal 6?

Gruß,
Boris

-----------------------------
www.missingdot.de
Die Welt ist Drupal -- Blog im Aufbau

  • Anmelden oder Registrieren um Kommentare zu schreiben

ctm

Eingetragen von Nicolai Schwarz (1071)
am 11.09.2009 - 14:28 Uhr

Hab ich vorhin erst an anderer Stelle für solche Fälle empfohlen: http://drupal.org/project/ctm

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

ja, das war wohl auch für

Eingetragen von missingdot (145)
am 11.09.2009 - 14:35 Uhr

ja, das war wohl auch für mich. ;-)
aber das hilft mir hier leider nicht weiter. es geht mir darum, dass ich den Linktitel als Pflichtfeld haben möchte und am besten schon ausgeklappt.

das kann ich mit diesem modul ja nicht realisieren, oder?

gruß,
boris

-----------------------------
www.missingdot.de
Die Welt ist Drupal -- Blog im Aufbau

  • Anmelden oder Registrieren um Kommentare zu schreiben

Aha

Eingetragen von Nicolai Schwarz (1071)
am 11.09.2009 - 14:47 Uhr

Ok, habe das mit dem Pflichtfeld übersehen.
Aber, wenn das Problem noch nicht gelöst ist, warum hast du den einen Thread als gelöst gekennzeichnet und das Thema nicht dort weitergeführt?

Jedenfalls: Dafür kenne ich kein Modul. In dem Fall kannst du dir ein eigenes Modul schreiben, das das Formular ändert. Nach hook_form_alter googeln. Zum Start vielleicht: http://www.lullabot.com/articles/modifying-forms-5-and-6

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • 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
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 1 Woche 2 Tagen
  • Textboxen mit Tabelle
    vor 1 Woche 3 Tagen
  • Du sollst ja auch keine
    vor 1 Woche 3 Tagen
  • Theme
    vor 1 Woche 3 Tagen
  • Welches Theme benutzt du
    vor 1 Woche 3 Tagen
  • Mit Responsive Raster hatte
    vor 1 Woche 3 Tagen
  • Hallo Alex,um das Häkchen
    vor 1 Woche 4 Tagen
  • Modul view_unpublished
    vor 1 Woche 5 Tagen
  • Modul "override node options"
    vor 1 Woche 6 Tagen
  • Im Grunde ist dass ein
    vor 2 Wochen 1 Tag

Statistik

Beiträge im Forum: 250270
Registrierte User: 20478

Neue User:

  • Stevebok
  • Robertnobia
  • AltonRaf

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 4 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