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

Wohin mit custom php ?

Eingetragen von dopedwizard (75)
am 25.01.2010 - 12:53 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi,

Ich habe mir Node_comment installiert, und dort ueber ein text feld bei comments eine frage fuer die user eingerichtet welche sie ueber radio buttons beantworten koennen

Wuerdest du dieses Buch weitermepfehlen ?
* Ja
* Nein

So das funktioniert auch wunderbar, jetzt moechte ich aber auf dem main node, also dem fuer das die comments geschrieben werden anzeigen wieviel % mit Ja gestimmt haben. Habe mir gedacht sollte ja gar kein problem sein habe mir ein php script gemacht das funktionieren sollte, tut es aber nicht :( hatte es in die node-mode.php.tpl gepackt gehabt.

<?php
echo $nid; //just to check... This returns the node id
   
$myquery = "SELECT  count (*) FROM  `my_database`.`content_type_comment` where (`field_name_if_customer_return_value` = 'yes') and `field_parent_id_target' = $nid)";
   
   
$link = mysql_connect('localhost', 'user', 'xxxxxxxx');
    if (!
$link) {
        die(
'Could not connect: ' . mysql_error());
    }

 

   
mysql_select_db("mydatabase", $link);

   
$result = mysql_query($myquery, $link);
   
   
   
    echo
"How many said YES: " . $results;
  

   
mysql_close($link);
   
?>

Jetzt ist die frage was mache ich falsch?
Wo sollten eigene Code snippets hin?
Muss dafuer ein eigenes modul erstellt werden oder gibt es eine "einfachere " loesung?

Vielen Dank
Wiz

‹ Countdown anzeigen Core Search Module und Paging ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Vorab

Eingetragen von Nicolai Schwarz (1071)
am 25.01.2010 - 13:45 Uhr

Ich kenne Node_comment nicht, aber hast du vorab mal per print_r($node); überprüft, ob deine gesuchten Daten vielleicht schon Teil von $node sind? Ist in anderen Fällen (etwa CCK) ja auch so.
In jedem Fall müsstest du meines Wissens nicht extra eine Datenbankverbindung aufbauen, das müsste Drupal schon erledigt haben. Du kannst dann die Drupal-Syntax (Database abstraction layer) nutzen, um darauf zuzugreifen - siehe etwa http://michaelosmith.com/node/5

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok, aber das was du jetzt

Eingetragen von dopedwizard (75)
am 25.01.2010 - 15:26 Uhr

Ok, aber das was du jetzt geposted hast ist ja dafuer da das ich es in den content packe richtig? Also meinst du ich sollte ein neues field erstellen und dieses per tpl datei dort hinpacken wo ich es auf der seite haben will? Dies wuerde daber dazu fuehren das jedesmal wenn eine neuer "main node" angeleght wird jemand diesen code manuel einfuegen muesste. Gibt es keine moeglichkeit das ganze direkt in die tpl datei einzufugen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schon richtig

Eingetragen von Nicolai Schwarz (1071)
am 25.01.2010 - 15:40 Uhr

Du hast das schon an die richtige Stelle gepackt. Dafür ist die node-mode.php.tpl da. Ich habe nur in Frage gestellt, ob die Datenbankabfrage extra notwendig ist - und wenn, dann sollte sie anders aussehen.
Lass dir einfach mal in der node-mode.php.tpl die $node ausgeben, und schau nach, ob das Modul die Daten dort bereits hinterlegt hat; dann könntest du sie nämlich ohne erneute Datenbankabfrage ausgeben.

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok bin leider im moment

Eingetragen von dopedwizard (75)
am 25.01.2010 - 17:04 Uhr

Ok bin leider im moment unterwegs, werde es mir heute abend einmal angucken, glaube aber nicht das die anzahl der Ja angezeigt wird, da diese ja nur ein text feld sind welches als radio button dargestellt wird. In der datenabank sind dann diese felder mir ihren nodes "verbunden" welchen dann wiederum mit dem main node verbunden sind das heisst alle comments haben eine eigene nid welche dann wieder mit der main nid verbunden sind. Wenn es hilft koennte ich heute abend auch einen screenshot von der datenbank einstellen.

Eventuell hilft eine kleine beschreibung von node_comment:
Node Comment ist ein ersatz fuer das comment system, welches nodes als comments nutzt. D.h. das comment system ist deaktviert und jeder comment ist ein node welcher dan mit dem "main" node verbunden ist.

Vielen Dank auf jedenfall schonmal das du dich damit befasst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

So hier ist ein Screenshot

Eingetragen von dopedwizard (75)
am 26.01.2010 - 10:40 Uhr

So hier ist ein Screenshot der Datenbank.

Screen shot 2010-01-26 at 10.23.51 AM copy

1) ist die id der Node auf der die Frage mit der antwort option ist.
2) ist die id der Node mit der diese Node verbunden ist
3) ist der eintrag der gezählt werden soll

Also alle ja in 3) die mit node z.B. verbunden sind sollen gezählt und dann auf der website ausgegeben werden. Die antwort währe bei node 14 also 2 und um dies als % auszugeben müsste diese Zahl dann durch die komplette anzahl von antworten die mit 14 asoziert getilt und dann *100 genommen werden.

Mh und das ist im moment wo ich hänge.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Voting API

Eingetragen von Kars-T (1473)
am 26.01.2010 - 10:48 Uhr

Hi,

ich sehe hier große Probleme, da du wohl über keine API gehst. Meine Empfehlung wäre, das du nicht versuchst, das allein zu lösen, sondern auf der Grundlage der reichhaltigen API von und um Drupal. Voting API wäre bestimmt was für dich. Und "Ja/Nein" Module sollte es auch schon eine Menge geben. Vorteil ist, das du mehr Sicherheit hast, in der Planung und gegen Angriffe und du Module wie Views benutzen kannst, da VotingAPI zB eine Anbindung hat.

"Einfach so" etwas ins Template zu schreiben, ist zwar auch eine meiner lieblingsübungen, ist aber nicht wirklich zu empfehlen. Du tust damit Logik in die Theming Schicht. Die Logik könntest du zB. in eine Preprocess Function tun und damit ermöglichen, das dein Theme auch wirklich von Themern bearbeitet werden kann, da die kaum PHP vorfinden. Das geht dann auch in den Bereich API.

Schau doch nochmal in das Handbuch auf drupal.org. Es lohnt sich!

---

Viele Grüße,

Kars-T
XING | comm-press

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für deine Antwort,

Eingetragen von dopedwizard (75)
am 26.01.2010 - 11:19 Uhr

Danke für deine Antwort, wie gesagt mein hauptproblem ist das ich nicht wirklich weiss wo php code bei drupal überhaupt hingehört, und wie so etwas anzugehen ist. Ich denke hier hast du mir zumindest schon mal einen schubs in die richtige Richtung gegeben. Das problem das ich bei den modulen immer sehe ist das sie eventuell nicht weiter geführt werden bzw das sie halt nicht in die nächsten version übernommen werden. Aber generell sollte man sich also ein modul suchen das praktisch das macht was man haben möchte, und dieses dann anpassen?!

  • Anmelden oder Registrieren um Kommentare zu schreiben

So kurz mal ist das doch

Eingetragen von Kars-T (1473)
am 26.01.2010 - 12:07 Uhr

So kurz mal ist das doch recht schwierig zu beantworten.

Schau mal hier: http://drupal.org/contributors-guide

Drupal besteht aus einem Kern und auf diesen setzen Module auf. "Never hack core" ist die Devise. Du kommst im allgemeinen an alles ran und brauchst nie die Basis zu verändern.

Du schreibst also Modul. Diese Module bieten Templates als Dateien oder Module. Die Moduel können auch sog. Hooks zur Verfügung stellen oder benutzen, über die du Daten manipulieren kannst oder ganze Funktions Teile. Das ist alles vom Prinzip her wie Objekt Orientiertes Programmieren.

Also so ganz allgemein kann man sagen: PHP kommt in Module. Du kannst von dort auch Variablen für die Templates manipulieren oder ergänzen. Die Themes sollten nur "spezielles" PHP und auch Syntax benutzen. Das steht aber auch alles auf d.o

---

Viele Grüße,

Kars-T
XING | comm-press

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nein sicher wird das schwer

Eingetragen von dopedwizard (75)
am 26.01.2010 - 12:50 Uhr

Nein sicher wird das schwer zu erklären sein ^^. Das man "core" nicht hacked ist mir schon aufgefallen, allerdings hatte ich halt angenommen da es ja mein eigenenes tmepalte ist das ich mich dort auch mit php auslassen kann. Bin allerdings schnell darauf gestossen das dem wohl nicht so ist. Leider ist es schwer herauszufinden wie man es denn wirklich machen soll... Ich werde mir deinen oberen link mal in ruhe durchlesen, und hoffe dann etwas lich am ende es tunnels zu sehen im moment sitzt der frust relativ dicht, da ich mir halt über einem Monat mir mein gesammtes projekt ausgemahlt habe und jetzt natürlich etwas überfordert bin als nicht coder, aber ich bin nicht dafür bekannt aufzugeben :)

Vielen Dank auf jedenfall.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Lernkurve für Drupal

Eingetragen von Kars-T (1473)
am 26.01.2010 - 12:55 Uhr

Die Lernkurve für Drupal ist anfangs wirklich Steil. Du könntest PHP auf in die template.php deines Themes schreiben. Aber was du da machen willst, sieht mehr nach einem Modul aus und in die template.php würde ich eher empfehlen themening Funktionen zu schreiben, als etwas komplexes.

Wenn ich mir deinen Source ansehe, dann solltest du dir auch die Datenbank Abstraktionsschicht nochmal anschauen.

http://api.drupal.org/api/group/database/6

---

Viele Grüße,

Kars-T
XING | comm-press

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja wie gesagt im moment sehe

Eingetragen von dopedwizard (75)
am 26.01.2010 - 13:15 Uhr

Ja wie gesagt im moment sehe ich nur das ich viel lesen muss ^^. Ich muss dazu sagen das bis vor 4 Monaten ich gerade mal etwas Joomla theme veränderungen gemacht habe und das wars, also ich habe keinen coder background und habe mir in den letzten monaten html, css angelesen und fange nun mit php/sql/javascript an, und um es nicht zu leicht zu machen schmeiss ich gleich noch drupal rein lol.

Denn joomla ist auf dauer nicht das was ich nutzen möchte, sondern drupal, und ich habe beschlossen das ich meine Seite erst online stelle wenn sie genau so ist wie ich sie haben will. Was wie du schon sagtest im momentan auf dem weg die lernkurve hinauf ist.

  • 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 1 Woche 1 Tag
  • Hey danke
    vor 1 Woche 2 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Stunden
  • Da scheint die Terminologie
    vor 2 Wochen 10 Stunden
  • Kannst doch auch alles direkt
    vor 2 Wochen 4 Tagen
  • In der entsprechenden View
    vor 2 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 4 Tagen
  • gelöst
    vor 5 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

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 10 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