(gelöst) neuen Termin direkt per Klick in Kalender
am 25.05.2013 - 08:08 Uhr in
Hallo,
ich möchte gerne Termine direkt über die Kalenderansicht (Monat) hinzufügen können.
in diesem Thread wurde das Thema schon mal für D6 behandelt.
Habe die dev-version für D7 leider noch nicht zum laufen bekommen.
Die Konfiguration von prepopulate ist wohl hier beschrieben, oder wie bzw. wo wird das Modul konfiguriert?
Ich bin mit meinem "Latein" am Ende.
Hat das schon jemand mit D7 genutzt?
Habe alle Ratschläge aus diversen Threads genutzt, aber leider ohne Erfolg... OK... ist auch noch die dev-version von prepopulate.
js-Datei mit folgenden Code im Root des Themes gelegt:
// JavaScript Document
/* add dubbleklick day */
$(document).ready(function() {
$('.calendar-calendar .single-day').dblclick(function() {
var year = $(this).attr('date').substring(0,4);
var month = $(this).attr('date').substring(5,7);
var day = $(this).attr('date').substring(8,10);
window.location = "/node/add/date?edit[field_datumsfeld][value][date]="+day+"."+month+"."+year;
});
});
in der .info-Datei des Themes ist die .js-Datei eingefügt
scripts[] = script.js
scripts[] = dayklick.js
Es gibt den Inhaltstyp "Termin" mit dem Maschienennamen "date" und das Datumsfeld "field_datumsfeld".
hier :http://drupal.org/node/228167 wird für D7 folgender Code empfohlen:
http://www.example.com/node/add/content?edit[body][und][0][value]=this is the body
Würde ja für meine Verwendung dann so aussehen?
window.location = "/node/add/date?edit[field_datumsfeld][und][0][value][date]="+day+"."+month+"."+year;
...oder was meint Ihr?
vielen Dank für hilfreiche Tipps
Thorsten
Nachtrag:
die Fehlerkonsole von Firefox meint : TypeError $is not a function (in Zeile 3: $(document).ready(function() {
)
- Anmelden oder Registrieren um Kommentare zu schreiben
Da fehlt der jQuery Umschlag,
am 25.05.2013 - 09:31 Uhr
Da fehlt der jQuery Umschlag, der die $-Funktion definiert (Ist bei Drupal 7 nötig).
(function ($){
. . . . . . . . //Deine jQuery Funktion hier einfügen
})(jQuery);
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo Werner,danke schon
am 31.12.2013 - 06:52 Uhr
Hallo Werner,
danke schon mal, das hilft aber leider noch nicht weiter.
Mein code sieht nun so aus:
// JavaScript Document
/* add dubbleklick day */
(function ($){
$(document).ready(function() {
$('.calendar-calendar .single-day').dblclick(function() {
var year = $(this).attr('date').substring(0,4);
var month = $(this).attr('date').substring(5,7);
var day = $(this).attr('date').substring(8,10);
window.location = "/node/add/date?edit[field_datumsfeld][und][0][value]="+day+"."+month+"."+year;
});
});
})(jQuery);
Da muß ich passen, da ich
am 25.05.2013 - 18:20 Uhr
Da muß ich passen, da ich mich mit dem Gebiet noch nicht beschäftigt habe. Meine Antwort war rein formal zu dem Thema der nicht gefundenen $-Funktion.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Ich weiß, der Thread ist fast
am 12.01.2016 - 11:51 Uhr
Ich weiß, der Thread ist fast drei Jahre alt, aber ich habe mich gerade mit dem gleichen Thema beschäftigt und es bis eben nicht hinbekommen (Drupal 7.41, Calendar 7.53, Prepopulate 7.20)
Bei mir hat die Änderung des Attributs "date" geholfen
(function ($){
$(document).ready(function() {
$('.calendar-calendar .single-day').dblclick(function() {
var year = $(this).attr('data-date').substring(0,4);
var month = $(this).attr('data-date').substring(5,7);
var day = $(this).attr('data-date').substring(8,10);
window.location = "node/add/kalender?edit[field_termin_von_bis][und][0][value][date]="+day+"."+month+"."+year;
});
});
})(jQuery);
Das Attribut heißt wohl nicht mehr "date" sondern wie ich im Quellcode gesehen haben "data-date". Vielleicht erzähl ich hier auch Mist, aber mir funktioniert es nun, dass sich auf Doppelklick die Maske zum Termin eintragen mit dem angeklickten Datum öffnet. Etwas unschön finde ich noch, dass als Enddatum des Termins immer der aktuelle Tag angezeigt wird, aber da les ich noch mal ein bisschen rein.
zumindest ein node/add aus
am 13.01.2016 - 08:49 Uhr
Hallo anneka,
cool, ist noch immer interessant für mich, dein Tipp löst zumindest ein node/add bei mir aus.
In der URL steht zwar das ausgesuchte Datum (node/add/date?edit[field_date][und][0][value][date]=12.01.2016), aber das Datumsfeld wird leider nicht befüllt.
Hast du noch eine Idee?
Viele Grüße
Thorsten
gelöst
am 13.01.2016 - 08:55 Uhr
Ha,... man sollte natürlich prepopulate aktiviert haben.
Vielen vielen Dank
es läuft...
Thorsten
neuen Termin direkt per Klick im Fullkalender
am 13.01.2016 - 10:15 Uhr
so geht es auch im Fullkalender, wenn man den Day-Klick in der View deaktiviert:
// JavaScript Document
/* add dubbleklick day */
(function ($){
$(document).ready(function() {
$('.fc-content .fc-day').dblclick(function() {
var year = $(this).attr('data-date').substring(0,4);
var month = $(this).attr('data-date').substring(5,7);
var day = $(this).attr('data-date').substring(8,10);
window.location = "node/add/date?edit[field_date][und][0][value][date]="+day+"."+month+"."+year;
});
});
})(jQuery);