Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Tipps & Tricks ›

Hilfe bei Migration Eigenentwicklung -> Drupal

Eingetragen von C-tecx (27)
am 01.11.2014 - 18:07 Uhr in
  • Tipps & Tricks
  • Drupal 7.x

Hallo zusammen,

ich brauche mal eure Hilfe. Ich bin noch nicht ganz so lange mit Drupal am arbeiten daher weiß ich nicht wie ich folgendes Problem angehen kann. Ich führe eine Internetseite / Community die von mir in PHP und MySQL entwickelt wurde. Es geht im groben darum Aufgaben zu lösen wie z. B. "Wieviel ist 5 + 5" usw. Die Seite hat derzeit über 400 angemeldete Benutzer und ich möchte die komplette Seite gerne in Drupal übertragen. Das Problem der Datenbankmigration schiebe ich erst einmal nach hinten mir gehts hauptsächlich um folgende Frage. Wie realisere ich in Drupal folgende Aufgabenstellung?

Ich möchte ein Node haben welches einen Aufgabentext "wieviel ist 5 + 5" und ein Textfeld enthält. Wenn ich in das Textfeld "7" eingebe soll eine Fehlerausgabe und wenn ich "10" eingebe eine Ausgabe dass das Ergebnis richtig ist kommen. Bei dem angemeldeten Benutzer soll bei richtiger Eingabe die jeweilige Aufgabe als "bereits gelöst" angezeigt werden. In meiner aktuellen DB ist es derzeit so, dass ich einen Benutzer habe mit den Spalten "Aufgabe 1, Aufgabe 2 etc." Sofern jemand das Formular abgesendet hat prüft PHP mit einer SQL Abfrage ob die Eingabe mit dem richtigen Passwort stimmt und wenn ja wird bei dem Benutzer die Spalte "Aufgabe xy" auf "true" gesetzt. So jetzt mal im ganz groben dargestellt. Wie realisiere ich soetwas in Drupal? Mit Webforms? Mit Views? Mit Hookentwicklung? Ich brauch nun keine komplette Anleitung aber so ein Schubser in die richtige Richtung wräre super. Aktuell weiß ich nicht wie ich da anfangen soll.

Um es etwas deutlicher zu machen, es geht um diese Seite: Hacking-Challenges

Vielen Dank schonmal!

‹ [gelöst] Webform über Ajax laden Verknüpfte Inhaltstypen?! ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Schaue dir Modulentwicklung an

Eingetragen von ronald (3855)
am 01.11.2014 - 21:19 Uhr

Je nach bisherigem Programmierstil, wirst du weite Teile weiterverwenden können.

Allerdings kommst du nicht drum herum, dich intensiv in Drupal einzuarbeiten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mmhh davon bin ich

Eingetragen von C-tecx (27)
am 02.11.2014 - 14:46 Uhr

Mmhh davon bin ich ausgegangen, dass ich mich intensiv einarbeite. ;-) Mir würde für den Anfang schon reichen, wie ich ein Eingabefeld in einem Inhaltytyp platziere welches bei richtiger Eingabe eines von mir definieten Wertes ein "richtig" oder "falsch" ausgibt. Also eine Art Passwortabfrage. Wie kann ich sowas am besten realisieren? Muss ich das selbst entwickeln also über eine eigene page.tpl? oder wie geht man sowas an?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Theming und Funktion sind bei Drupal getrennt

Eingetragen von ronald (3855)
am 02.11.2014 - 19:51 Uhr

wenn du etwas gestalten willst, machst du dies über Templates und CSS, wenn du eine Funktion realisieren willst, mit einem Modul.

Deine Aufgabe könnte ggf. vom Voting-Modul erledigt werden. Dazu müsste sich jedoch jemand äußern, der mit diesem Modul Erfahrung hat.

Ob du eine content.tpl oder ein eigenes CSS brauchst, ist Geschmacksache.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da es sich bei deinem

Eingetragen von SteffenR@drupal.org (2262)
am 02.11.2014 - 23:30 Uhr

Da es sich bei deinem Aufgabenstellungen ja hauptsächlich um quizähnliche Fragen handelt, könntest du hier auch auf der https://www.drupal.org/project/quiz Modul zurückgreifen.

EIne Alternative wäre hier vielleicht auch das Framework http://h5p.org/ für dich interessant - ist sehr viel mehr auf Rich media ausgelegt als bspw. das quiz Modul.
Dies bietet neben normalen Multiple / Singlechoice Fragen auch noch diverse andere Möglichkeiten (Imagemaps, Videos, Drag&Drop Tests etc.).
Ein Drupalmodul hierfür gibt es bereits https://www.drupal.org/project/h5p.

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Steffen: Vielen Dank für die

Eingetragen von C-tecx (27)
am 03.11.2014 - 14:18 Uhr

@Steffen: Vielen Dank für die Infos. Das Quiz-Modul gefällt mir beim flüchtigen ansehen nicht so gut. Das h5p Framework dafür umso mehr. Damit lässt sich sicherlich eine ganze Menge machen. Für meine Frage aber "erst einmal" zu viel.

@Ronald: Mit CSS hat meine Aufgabenstellung eigentlich nichts zu tun. Das Theming ist zweitrangig. Dennoch danke für deine Antwort.

Um es nochmal etwas verständlicher zu machen. So sieht meine Seite jetzt aus:

oben ist eine Inputbox. Wenn ich eine Lösung eingebe die falsch ist kommt die entsprechende Fehlermeldung. Ansonsten erscheint die Meldung dass das Passwort richtig ist. Das Script weiß, dass ich als angemeldeter Benutzer die Aufgabe bereits gelöst habe. Des weiteren wird angezeigt, dass die Aufgabe bereits von 287 Usern gelöst wurde. Weiter unten "Aller Anfang ist leicht" kommt die eigentliche Aufgabe. Aber das soll hier nicht das Thema sein. Die Aufgabe lässt sich einfach mit einem WYSIWYG Editor eintragen. Für mich ist interessant wie ich den oberen Block mit der Passwortabfrage umsetze. Ich hoffe es ist nun etwas verständlicher geworden.

---------------------Edit-----------------------
Also ich habe es jetzt mal folgendermaßen gelöst. Ich habe einen eigenen Inhaltstyp "Aufgabe" angelegt und eine eigene node--aufgabe.tpl.php erstellt und in dieser folgenden Code eingegeben.

 
<div class="content"<?php print $content_attributes; ?>>
    <?php
     
// We hide the comments and links now so that we can render them later.
     
hide($content['comments']);
     
hide($content['links']);
     
//print render($content);
     
if (isset($_POST["submit"])) {
                if (isset(
$_POST["inputPassword"]) && $_POST["inputPassword"] == "Test") {?>

<div class="alert alert-dismissable alert-success">
<button class="close" type="button" data-dismiss="alert">×</button>
<strong>Well done!</strong> You successfully read <a class="alert-link" href="#">this important alert message</a>.
</div>
<?php
               
}
                else {
?>

<div class="alert alert-dismissable alert-danger">
<button class="close" type="button" data-dismiss="alert">×</button>
<strong>Oh snap!</strong> <a class="alert-link" href="#">Change a few things up</a> and try submitting again.
</div>
<?php
               
}
            }
   
?>

<form class="form-horizontal" method="post">
  <fieldset>
    <legend>Legend</legend>
    <div class="form-group">
      <label class="col-lg-2 control-label" for="inputPassword">Password</label>
      <div class="col-lg-10">
        <input class="form-control" id="inputPassword" name="inputPassword" type="password" placeholder="Password">
      </div>
    </div>
    <div class="form-group">
      <div class="col-lg-10 col-lg-offset-2">
        <button class="btn btn-primary" type="submit" name="submit">Submit</button>
      </div>
    </div>
  </fieldset>
</form>
  </div>

Somit habe ich nun bei jedem Node vom Typ Aufgabe eine Form mit dahinterliegender Passwortabfrage. Nicht wundern ich spiele gerade mit dem Bootstrap Framework daher die ganzen Divs. So sieht das ganze dann aus.

Das finde ich prinzipiell schon ganz gut aber bin ich damit auf dem richtigen Weg, dass ich den ganzen Code in der node.tpl hinterlege oder macht man sowas für gewöhnlich mit einer Modulprogrammierung?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das ist ein recht komplexes Gebilde

Eingetragen von ronald (3855)
am 03.11.2014 - 14:33 Uhr

das sicher mit Drupal realisierbar ist, aber einiges an Arbeit erfordert.

Ich würde nicht unbedingt mit dem schwierigsten Segment anfangen ;-)

Diese "challenges" erforden wahrscheinlich ein bisschen eigenes Coding. Wie gesagt, Quiz und ähnlichse habe ich keine eigene Erfahrung.
Da lohnt es sich sicher, einen zweiten Blick zu werfen, ehe du ein eigenes Modul entwickelst.

Die nächste Frage, die bei einem Projekt dieser Größenordnung relevant sein könnte, ist: lohnt es sich vielleicht, das Ganze gleich auf Basis Drupal 8 zu entwickeln?

Dort ändert sich einiges, was wiederum Umstellungsaufwand in drei oder vier Jahren nach sich zöge.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ACHTUNG

Eingetragen von ronald (3855)
am 03.11.2014 - 14:38 Uhr

Mit der Codierung im Template umgehst du Drupal.
Nicht nur, dass das nicht "sauber" ist, sondern die Pflege wird sehr schwierig.

Du solltest das Grundprinziim der Trennung von Darstellung, Inhalt und Funktion beibehalten.

Wenn du ein Formular malen lassen willst, nutze die Form-API.

Das mag heute funktionieren, aber schon in Kürze wirst du es bereuen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Seattle professional chauffeurs
  • Drupal 7 Forum Beitrag mit Bilder einstellen
  • erfahrung mit dem Modul script manager
  • Verständnisfrage private_files in Drupal
  • [erledigt]MP3 in Drupal 10 einbinden
  • HTML oder JS Code wird nicht ausgeführt
  • Posts von einem Inhaltstyp in einen anderen verschieben
  • Mysql Ver 8.0.41 zu MariaDB 10.11.11
  • DrupalCamp Ruhr 12. / 13. September in Essen!
  • [gelöst]Zugriff auf inhaltstyp für angemeldete Benutzer wird verweigert
  • Word DOC Export Modul/Funktion gesucht
  • W3CSS Paragraphs Views
Weiter

Neue Kommentare

  • dinmikkith schrieb JavaScript
    vor 1 Woche 1 Tag
  • Ex- und Import nutzen
    vor 1 Woche 3 Tagen
  • cut&paste lässt sich automatisieren
    vor 1 Woche 4 Tagen
  • geht, soweit mir bekannt, nur
    vor 1 Woche 4 Tagen
  • Inkompatibilität zwischen MySQL u. MariaDB sowie SQL-Basiswissen
    vor 1 Woche 4 Tagen
  • JavaScript gehört in Drupal
    vor 1 Woche 5 Tagen
  • JavaScript gehört in Drupal
    vor 1 Woche 5 Tagen
  • Ich würde mich an die beiden
    vor 3 Wochen 2 Tagen
  • @dinmikkith leider
    vor 3 Wochen 3 Tagen
  • Da gibt's schon was. Ich
    vor 3 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250018
Registrierte User: 20330

Neue User:

  • WinfredAccom
  • antidetect-browser25
  • freundbs

» Alle User anzeigen

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