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

Frage zu Eingabeformaten...[gelöst]

Eingetragen von Anonymous (0)
am 25.04.2009 - 11:20 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,

ich habe mich jetzt doch etwas schlauer lesen können und möchte meine Frage hier nochmal versuchen verständlich einzustellen.
Ich schreibe an einem Modul, das eigentlich nichts weiter als einen Titel (Text) und einen Body aus HTML und Text enthält.

Nun zu meinem Problem:
Nachdem ich alles nötige erstellen konnte, auch das Formular und ein eigener Inhaltstyp erstellt habe (nicht geerbt) und dazu die *.install Datei für die DB auch funktioniert, komme ich einfach nicht mehr weiter.

Meine Idee war dass ich einen Google-Map Code (einer öffentlichen Map) mitsamt dem HTML-Markup in einen Artikel einstelle, dies funktioniert auch wenn ich den Code in eine Page oder Story stelle, nur bei meinem eigenen Datentypen kriege ich es nicht hin, die Eingabe mit dem Filter "Full-HTML" zu verwenden.

Kann mir jemand vielleicht einen Denkanstoss geben, das wäre wirklich sehr hilfreich...

Das Modul besteht momentan aus folgenden Inhalten, Fehler sind gut möglich und dieses Beispiel ist auch noch nicht ganz vollständig.

Erstmal die "normale" *.info wo das "mapdrei" angemeldet wird bei Drupal.

Dann die *.install:

<?php
// $Id$


function mapdrei_install() {
  drupal_install_schema('mapdrei');
}


function mapdrei_uninstall() {
  drupal_uninstall_schema('mapdrei');
}

function mapdrei_schema() {
  $schema['mapdrei'] = array(
    'description' => t("Make a Map with the public Google Map."),
    'fields' => array(
      'nid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'description' => t('The Map {node}.nid')
      ),
      'vid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'description' => t('The Map {node_revisions}.vid')
      ),
      'maptext' => array(
        'type' => 'text',
        'not null' => TRUE,
        'description' => t('Code from the Map.')
      ),
    ),
    'primary key' => array(nid),
    'unique keys' => array(
      vid => array('vid')
    ),
  );
  return $schema;
}

Die *.module

<?php
// $Id$


function mapdrei_perm() {
  return array('create mapdrei entry', 'delete mapdrei entry', 'edit mapdrei entry', 'view mapdrei entry');
}



function mapdrei_access($op, $node, $account) {
  switch ($op) {
    case 'create':
      // Anonymous users cannot post even if they have the permission.
      return user_access('create mapdrei entry', $account) && $account->uid ? TRUE : NULL;
    case 'update':
      return user_access('edit mapdrei entry', $account) || (user_access('edit mapdrei entry', $account) && ($node->uid == $account->uid)) ? TRUE : NULL;
    case 'delete':
      return user_access('delete mapdrei entry', $account) || (user_access('delete mapdrei entry', $account) && ($node->uid == $account->uid)) ? TRUE : NULL;
    case 'view':
      return user_access('view mapdrei entry') == TRUE;
  }
}






function mapdrei_menu() {
  $items['admin/settings/mapdrei'] = array(
    'title' => 'Map Drei',
    'description' => 'Konfigurieren der Map drei',
    'page_callback' => 'drupal_get_form',
    'page_arguments' => array('mapdrei_admin_settings'),
    'access_arguments' => array('administer site configuration'),
    'type' => MENU_NORMAL_ITEM,
    'file' => 'mapdrei.admin.inc'
  );
  return $items;
}


function mapdrei_node_info() {
  return array(
    'mapdrei' => array(
      'name' => 'Mapdrei',
      'module' => 'mapdrei',
      'description' => t('Create a Map'),
      'has_title' => TRUE,
      'title_label' => t('Title'),
      'has_body' => TRUE,
      'body_label' => t('Mapcode'),
      'min_word_count' => 5,
      'locked' => FALSE
    )
  );
}



function mapdrei_form($node) {
  $type = node_get_types('mapdrei', $node);
  $form['title'] = array(
    '#type' => 'textfield',
    '#title' => t('Google Map'),
    '#required' => TRUE,
    '#default_value' => $edit['title'],
    '#weight' => -5,
    '#maxlength' => 100
  );
  $form['gtext'] = array(
    '#type' => 'textarea',
    '#title' => t('write or paste the Code'),
    '#default_value' => $edit['gtext'],
    '#rows' => 7,
    '#required' => TRUE,
  );
  return $form;
}

Und hier die admin.inc.php, ich glaube hier müsste wohl noch etwas anders gemacht werden?!?

<?php
// $Id$



function mapdrei_admin_settings() {
  node_set_types('mapdrei', 'MapDrei');
  $options = node_get_types('names');
  $form['mapdrei_node_types'] = array(
  '#type' => 'hidden',
    '#title' => t('Please activate the checkbox for a new Google public map'),
    '#default_value' => variable_get('mapdrei_node_types', array('mapdrei', 2)), //Hier noch ev. etwas ändern...
    '#description' => t(''),
    '#value' => drupal_get_form('mapdrei_entry_form', $form)
    );
    return $form;
}

Das Problem ist einfach, dass ich die Map nicht richtig (Markup wird vom filtered-HTML entfernt???)
angezeigt bekomme, weil anscheinend der Filter "filtered-HTML" angewendet wird, was mache ich da falsch??

Oder anders gefragt; wäre es besser, ich würde den HTML-Markup getrennt einfügen und Felder für Namen, Längen- und Breitengrad, Abo-Key usw. einzeln anlegen würde??

Vielen Dank für eure Hilfe, wäre wirklich nett wenn mir jemand wenigstens die Funktion oder Variablen nennen könnte, die fehlen oder falsch sind...

Gruss

Fredi

P.S. ich musste die Kommentare zur Funktionsbeschreibung leider entfernen, diese wurden falsch dargestellt!

‹ Eigenes Modul auf der Startseite anzeigen Form API in D5 ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

zu kommentaren <code><?php

Eingetragen von dawehner (2639)
am 25.04.2009 - 12:07 Uhr

zu kommentaren

<code>
<?php
// foobar
?>

Damit geht es doch. Nu gut auf zu deinem Problem:

<?php

function mapdrei_form($node) {
 
$type = node_get_types('mapdrei', $node);
 
$form['title'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Google Map'),
   
'#required' => TRUE,
   
'#default_value' => $edit['title'],
   
'#weight' => -5,
   
'#maxlength' => 100
 
);
 
$form['gtext_filter']['gtext'] = array(
   
'#type' => 'textarea',
   
'#title' => t('write or paste the Code'),
   
'#default_value' => $edit['gtext'],
   
'#rows' => 7,
   
'#required' => TRUE,
  );
 
$form['gtext_filter']['format'] = filter_form(FILTER_FORMAT_DEFAULT);
  return
$form;
}
?>

s.h. z.B. http://api.drupal.org/api/function/comment_form/6

--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.

  • Anmelden oder Registrieren um Kommentare zu schreiben

danke...:-)

Eingetragen von minou (nicht überprüft) (0)
am 25.04.2009 - 15:47 Uhr

Hallo,

vielen Dank für den Code, genau das habe ich gesucht und kam einfach nicht weiter.
das werde ich bestimmt nicht wieder vergessen :-)

Noch zu den "Kommentaren", ich meinte damit die Funktionskommentare:

/**
*
*/

Gruss

Fredi

  • Anmelden oder Registrieren um Kommentare zu schreiben

ah stimmt da war eiin

Eingetragen von dawehner (2639)
am 25.04.2009 - 18:58 Uhr

ah stimmt da war eiin Bug.

Vlt könnte man hier den Geshi Filter installieren.
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super...

Eingetragen von minou (nicht überprüft) (0)
am 27.04.2009 - 09:45 Uhr

Hallo,

ich habe den Code nun eingebaut und siehe da; ich bekomme wirklich das Formular für die Eingabetypen angezeigt.
Es ist mir bewusst, dass man eigentlich keine Markup oder sonstige Codes in die Eingabe einbeziehen sollte, aber da die Anfahrt gewöhnlich ein Artikel vom Admin selber ist sollte es mit der Sicherheit keine allzu grossen Hürden geben.
Es geht mir erstmal darum, mehr Routine mit Drupal zu bekommen...

Du hast mir echt sehr geholfen!

Danke und Gruss

Fredi

  • 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?
Weiter

Neue Kommentare

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

Statistik

Beiträge im Forum: 250234
Registrierte User: 20455

Neue User:

  • JoMek
  • Znogsnernoimb
  • ByteScrapers

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