Modul-Entwicklung
Wirklich alle Informationen kopieren, die zu einem Node gehören
Eingetragen von Peter Majmesku (656) am 04.10.2010 - 03:38 Uhr inHallo,
ich möchte gerne Produkte aus meinem Übercart-Shop kopieren. Das geht mit folgender Funktion:
<?php
function clone_node($nid)
{
global $user;
$node = node_load($nid);
$node->nid = NULL;
$node->name = $user->name;
$node->created = 0;
node_save($node);
drupal_goto('node/'. $node->nid . '/edit');
}
?>Wenn meine Produkte allerdings Auktionen sind, so werden die Auktionsinformationen (wie z.B. Auktionsende) nicht mitkopiert. Hat jemand von euch eine Idee, wie man sicherstellen kann, dass auch wirklich alles aus dem Ursprungsnode mitkopiert wird?
- j
Wie kann ich in meinem Modul ein Bild einbinden?
Eingetragen von Kjartan (3) am 30.09.2010 - 18:01 Uhr inHallo,
es tut schon fast weh so eine primitive Frage zu stellen ... ich schreibe gerade ein etwas aufwendigeres System in ein Drupal Modul um (meine erste Drupal Erfahrung).
Ich scheitere momentan kläglich am einfügen eines Bildes!
Mein Modul ist in: sites/all/modules/booking/booking.modul
Mein(e) Bilder sind in: sites/all/modules/booking/images/bild.png
Habe schon probiert mit ...
[gelöst]FormAPI - State für Rendering?
Eingetragen von mad-din (94) am 28.09.2010 - 20:12 Uhr inHi Leute,
ich bastel gerade an einem kleinen Modul, dass ein Formular über hook_form_alter() ein wenig anpasst. Unter anderem soll der Wert eines Inputfelds vorbestimmt werden. Das mache ich mit hook_form_alter() so:
$form['namedestextfeldes']['#value'] = t('vorbelegter Wert');CKEditor greift nicht bei modulbasiertem Contenttypen
Eingetragen von torsten.schneider (19) am 28.09.2010 - 15:34 Uhr inHallo 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
- Anmelden oder Registrieren um Kommentare zu schreiben
Gallerix im Panel Probleme [gelöst]
Eingetragen von Uwis84 (6) am 26.09.2010 - 13:33 Uhr inHallo liebe Drupal-Gemeinde,
ich verwende als Fotogallerie Gallerix, und möchte diese in einem Panel anzeigen lassen.
Das funktioniert soweit ganz gut, doch wenn ich auf eines der Fotos klicke und in den Single-Photo-Modus komme, fehlt der Link zurück zu dem All-Photos-modus. Hat jemand von euch eine Ahnung, woran das liegen kann?
- Anmelden oder Registrieren um Kommentare zu schreiben
- Weiterlesen
CCK-Modul Felder "verknüpfen"
Eingetragen von Kaffeebecher (23) am 22.09.2010 - 12:33 Uhr inHallo zusammen,
ich habe ein CCK-Modul erstellt und möchte noch eine Erweiterung reinbauen. Ich habe ein Feld, das ich auf unbegrenzt anlege. Jetzt möchte ich die Felder quasi "verbinden". Ich möchte eigentlich nur innerhalb eines Feldes auf das Array eines anderen Feldes zugreifen. Über $element gelange ich anscheinend nur zu den Informationen in eben diesem Feld.
Form "button" AHAH - Wie kann die Validierung begrentzt werden?
Eingetragen von the-sandman (36) am 21.09.2010 - 01:51 Uhr inHallo liebe DrupalCenter-Gemeinschaft,
ich melde mich mit meinen Problemen wirklich nur sehr selten und auch nur dann, wenn ich selbst tagelang erfolglos nach einer Lösung gesucht habe. Und nun ist es mal wieder so weit. Die Lösung könnte durchaus recht trivial sein und ich seh den Wald vor lauter Bäumen nicht mehr.
Mein Problem ist folgendes:
Selenium: Wieso kann das Tool nicht jeden XPath nachvollziehen?
Eingetragen von Peter Majmesku (656) am 20.09.2010 - 23:06 Uhr inHallo,
- Anmelden oder Registrieren um Kommentare zu schreiben
- Weiterlesen
[gelöst] dynamische formularfelder in db_query aufrufen
Eingetragen von torsten.schneider (19) am 20.09.2010 - 18:28 Uhr inHallo zusammen,
ich möchte einen neuen Nodetyp [Spieltag] anlegen, der folgende Informationen aufnehmen kann:
- Titel, Body (also über Standardnode)
- zusätzlich zwei Felder: Saison & Spieltag.
[Gelöst] Update-Funktion in Modul/Install-Datei wird ignoriert
Eingetragen von codeherr (73) am 19.09.2010 - 20:11 Uhr inUm das geänderte Schema einer neuen Version meines Moduls zum laufen zu bringen, habe ich der Install-Datei die Funktion
function meinmodul_update_6001
hinzugefügt. Es ist die erste Implementierung von hook_update_n, vorher war keine drin. In der Tabelle {system} ist denn auch bislang der Wert von schema_version gleich "0".

Neue Kommentare
vor 3 Wochen 5 Tagen
vor 3 Wochen 5 Tagen
vor 3 Wochen 5 Tagen
vor 3 Wochen 5 Tagen
vor 3 Wochen 5 Tagen
vor 3 Wochen 6 Tagen
vor 3 Wochen 6 Tagen
vor 4 Wochen 1 Tag
vor 4 Wochen 1 Tag
vor 4 Wochen 4 Tagen