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

CKEditor greift nicht bei modulbasiertem Contenttypen

Eingetragen von torsten.schneider (19)
am 28.09.2010 - 14:34 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,

aus dem Drupal Entwickler Handbuch stammt der folgende Code, welcher ein Modul zur Erstellung eines Node-Typ "Joke" generiert:

<?php
// $Id$

/**
* @file
* Stellt den Node-Typ "joke" bereit.
*/

/**
* Implementierung von hook_node_info().
*/
function joke_node_info() {
  // Wir geben ein Array zurück, weil ein Modul mehrere Node-Typen
  // definieren kann. Wir definieren nur einen Node-Type: 'joke'.
  return array(
    'joke' => array(
      'name' => t('Joke'), // Erforderlich.
      'module' => 'joke',  // Erforderlich.
      'description' => t('Tell us your favorite joke!'), // Erforderlich.
      'has_title' => TRUE,
      'title_label' => t('Title'),
      'has_body' => TRUE,
      'body_label' => t('Joke'),
      'min_word_count' => 2,
      'locked' => TRUE
    )
  );
}

function joke_menu_alter(&$callbacks) {
  // Hat der Benutzer die Berechtigung 'Inhalte verwalten' nicht,
  // wird das Menüelement 'joke' durch Setzen des Zugriffscallbacks
  // auf FALSE deaktiviert.
  if (!user_access('administer nodes')) {
    $callbacks['node/add/joke']['access callback'] = FALSE;
    // Zugriffsargumente müssen aufgehoben werden, weil Drupal sonst
    // user_access()als Standardzugriffscallback verwendet.
    unset($callbacks['node/add/joke']['access arguments']);
  }
}

/**
* Implementierung von  hook_perm().
*/
function joke_perm() {
  return array('create joke', 'edit own joke', 'edit any joke', 'delete own joke', 'delete any joke');
}

/**
* Implementierung von  hook_access().
*/
function joke_access($op, $node, $account) {
  $is_author = $account->uid == $node->uid;
  switch ($op) {
    case 'create':
      // Zulassen, wenn die Benutzerrolle die Berechtigung 'create
      // joke' hat.
      return user_access('create joke', $account);

    case 'update':
      // Zulassen, wenn die Benutzerrolle Berechtigung 'edit own joke'
      // hat und Autor ist oder wenn die Benutzerrolle die
      // Berechtigung 'edit any joke' hat.
      return user_access('edit own joke', $account) && is_author ||      user_access('edit any joke', $account);
    case 'delete':
      // Zulassen, wenn die Benutzerrolle die Berechtigung 'delete
      // own joke' hat und Autor ist oder die Benutzerrolle die
      // Berechtigung 'delete any joke' hat.
      return user_access('delete own joke', $account) && $is_author ||       user_access('delete any joke', $account);
  }
}

/**
* Implementierung von  hook_form().
*/
function joke_form($node) {
  // Fragt Metadaten für diesen Node-Typ ab
  // (für die Labels von Titel und Body).
  // Wir haben sie in joke_node_info() definiert.
  $type = node_get_types('type', $node);

  $form['title'] = array(
    '#type' => 'textfield',
    '#title' => check_plain($type->title_label),
    '#required' => TRUE,
    '#default_value' => $node->title,
    '#weight' => -5,
    '#maxlength' => 255,
  );
  $form['body_filter']['body'] = array(
    '#type' => 'textarea',
    '#title' => check_plain($type->body_label),
    '#default_value' => $node->body,
    '#required' => TRUE
  );
  $form['body_filter']['filter'] = filter_form($node->format);
  $form['punchline'] = array(
    '#type' => 'textfield',
    '#title' => t('Punchline'),
    '#required' => TRUE,
    '#default_value' => isset($node->punchline) ? $node->punchline : '',
    '#weight' => 5
  );
  return $form;
}

....
}

Auf dieser Basis habe ich ein Contenttypemodul angelegt und musste leider feststellen, dass der CKEditor das textarea-formfeld nicht erkennt. Bei Blick in den Quellcode habe ich festgestellt, dass die ckeditor.js nicht aufgerufen wird - im Header der Seite. Weiss jemand warum das nich aufgerufen wird und wie ich das ändern kann? Eigentlich erfolgt der Aufruf über die page.tpl.php (<?php print $scripts; ?>). Bei den Core - und den über CCK angelegten Contenttypen funktioniert der CKEditor einwandfrei.

Danke und viele Grüße,
Torsten

Nachtrag: Das Problem wird auch hier beschrieben: http://drupal.org/node/857920

‹ [gelöst]FormAPI - State für Rendering? [Gelöst] Update-Funktion in Modul/Install-Datei wird ignoriert ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Tagen 18 Stunden
  • Hey danke
    vor 3 Tagen 12 Stunden
  • Update: jetzt gibt's ein
    vor 4 Tagen 7 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 1 Tag
  • Da scheint die Terminologie
    vor 1 Woche 1 Tag
  • Kannst doch auch alles direkt
    vor 1 Woche 6 Tagen
  • In der entsprechenden View
    vor 1 Woche 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 6 Tagen
  • gelöst
    vor 4 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» 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 14 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