Für output Template oder...?
Eingetragen von t.sebesta (72)
am 28.08.2007 - 16:17 Uhr in
am 28.08.2007 - 16:17 Uhr in
So jetzt habe ich folgendes gemacht:
function dsfdb_all() {
// content variable that will be returned for display
$page_content = '';
$page_content = "<table class=\"info\" align=\"center\" ID=\"Table3\" width=\"100%\" border=\"0\">
<tr>
<td width=\"100%\" align=\"left\">
<table ID=\"Table1\" border=\"0\" RULES=\"ROWS\" cellpadding=\"5\">
<tr bgcolor=\"#bbbbbb\">
<td width=\"10\" align=\"right\" nowrap</td>
<td width=\"140\" align=\"left\" nowrap>Kategorie</td>
<td width=\"100\" align=\"right\">neue Einträge</td>
<td width=\"100\" align=\"right\">Änderungen</td>
</tr>
<!-- Namen -->
<tr>
<td><a href=\"names_survey.php?$SIDVAR\"><font class=\"blue\"><img src=\"./images/icon_name.gif\" alt=\"Namen\" align=\"right\" border=\"0\"></IMG></FONT></a></td>
<td align=\"left\"><a href=\"names_survey.php?$SIDVAR\"><font class=\"blue\">$LANG_LOKAL_TABLE_ROWHEAD1 [$AnzahlNames]</font></a></td>
<td align=\"right\"><a href=\"names_survey.php?$SIDVAR\"><font class=\"blue\">[$AnzahlNewImportNamesPersons]</FONT></a></td>
<td align=\"right\"><a href=\"names_survey.php?$SIDVAR\"><font class=\"blue\">[$AnzahlChangedNames]</font></a></td>
</tr>
....
<tr>
<td width=\"100%\" valign=\"bottom\">
<br>
$user_onSide
</td>
</tr>
-->
</table>
$YalstSiteAssessment";
if ($page_content == '') {
// no content from a week ago, let the user know
$page_content = "No events occurred on this site on this date in history.";
}
return $page_content;
}
funktioniert wunderschön.
Dies sollte aber vermutlich nicht der Sinn der Sache sein.
Wie bekomme ich den Inhalt von $page_content jetzt in ein template? Oder habe ich andere Möglichkeiten? Wie rufe ich das template dann auf und kann ich eine eigene *.css dafür einbinden?
Sicher alles Anfängerfragen, aber Anfang ist ja bekanntlich schwer?
Gruß
Thomas
PS: es ist einfach eine Tabelle in der Auswertungen der externen Datenbank übersichtlich zusammengestellt werden.
- Anmelden oder Registrieren um Kommentare zu schreiben
Der Tipp ist recht gut
am 02.09.2007 - 17:42 Uhr
Der Tipp ist recht gut gemeint lieber Chis, aber das Problem ist ja, dass ich dort (vermutlich in Unkenntnis) keine rechten Ansatzpunkt gefunden habe. Ich bräuchte einen genaueren Einstiegspunkt (mehr nicht) :) - oder so in der Art
"ich würd' ein Template draus machen und das binde ich dann mittels ..... ein".
So in etwa.
Gruß
Thomas
Theme function
am 02.09.2007 - 19:44 Uhr
Der ganze output gehört in eine themeable Function:
function theme_name-deines-moduls()
Dann können Benutzer deines Moduls diese Funktion überschreiben und den Output (xhtml) ihren Wünschen entsprechend anpassen.
Die Font Tags solltest du aber schon in deinem Modul Code weglassen. Die sind bääh ;-)
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
Ja, damit kann ich was
am 02.09.2007 - 20:04 Uhr
Ja, damit kann ich was anfangen. Ich nehme an, dass ich (in der Zwischenzeit habe ich das Calender-Modul angesehen) die Funktionen (es werden nämlich viele) in eine mein_modul.theme packe und eine style.css hinzufüge?
Ich bin/war mir nur nicht wirklich klar über den Unterschied .theme und einem template?
Wohl ein Anfängerproblem.
Das die Font-Tags bää sind ist mir klar. Die stammen aus der alten Entwicklung (dort waren sie auch nicht gerade das gelbe vom Ei) :)
Gruß
Thomas
Theme und Templates
am 03.09.2007 - 10:02 Uhr
Ja, damit kann ich was anfangen. Ich nehme an, dass ich (in der Zwischenzeit habe ich das Calender-Modul angesehen) die Funktionen (es werden nämlich viele) in eine mein_modul.theme packe und eine style.css hinzufüge?
Ich bin/war mir nur nicht wirklich klar über den Unterschied .theme und einem template?
Nicht ganz. Das Calender-Modul included die Datei *.theme. Das ist einfach PHP und hat nichts mit Drupal zu tun. Wie die includete Datei benannt ist und welche Endung sie hat, ist vollkommen egal. Das sie in diesem Fall auf '.theme' endet trägt eher zur Verwirrung bei. Es gibt nämlich tatsächlich Drupal Theme Dateien, die mit '.theme' enden müssen. Das sind Themes die nicht mit einer Template Engine arbeiten, sondern allen Code in einer Datei haben. Schau die mal das Chameleon-Theme an. Dort ist das so.
Wir reden aber von der PHPTemplate Engine.
Der Unterschied zwischen einem Theme und einem Template ist folgender:
Ein Theme ist ein Verzeichnis unterhalb von '/themes' mit mindestens einer .css Datei und einer page.tpl.php. Das ist ein Template. Alle *.tpl.php sind Templates für einen bestimmten Bereich einer Seite.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
Gut, dann eine Bitte,
am 03.09.2007 - 10:30 Uhr
Gut, dann eine Bitte,
unter http://www.developer.dsfdb.org/?q=dsfdb/Overview
seht ihr die derzeitige Umsetzung.
Das sind Zusammenfassungen einer externen Datenbank in einer Übersicht und ich habe dazu analog dem Calender-Modul die einzelnen Datenreihen in mein_modul.theme als PHP-Funktionen verpackt und lasse sie mittels einer mein_modul.css formatiert anzeigen.
Jede Datenreihe wird über ein eigenens Modul eingebracht, das mit einem Grund_Modul zusammenarbeitet.
Es existieren derzeit folgende Module:
dsfdb - als Grundmodul
dsfdb_medien
dsfdb_namen
dsfdb_personen
dsfdb_pseudonyme
dsfdb_serien
dsfdb_werke
die Module für dsfdb_reihen
dsfdb_verlage
dsfdb_awards und
dsfdb_links
fehlen noch, sollen aber grundsätzlich gleich funktionieren.
Die Aufteilung in veschiedene Module habe ich desshalb gewählt, weil man die einzelnen Bereiche, je nach Bedarf einzeln zuschalten können soll und weil außerdem, weil alles in einem Modul zusammengepackt ist, es ein seeeeehr großes Modul werden würde. Jedes Modul liefert die Daten und Bearbeitungsmöglichkeiten für seinen Datenbereich und die sind in Summe jeweils sehr umfangreich.
Die Frage daher (als Anfänger):
Ist die Vorgangsweise drupal-konform und lässt sich die Übersicht wie derzeit vorhanden auch über ein template verwictklichen und wäre das der bessere Weg.
Zur Information:
unter
http://www.dsfdb.org/datenbank.php?sid=
sieht man die Originale-Version und bei Bedarf die weiterführenden Links. Die Seite(n) soll(en) im Grund so wie sie ist/sind Drupal-fähig gemacht werden und sich optisch also als Gesamtwerk präsentieren. Ich will nämlich die in Drupal vorhandenen Synergien bezüglich Benutzerverwaltung und -rechte, RSS-Feeds usw. nutzen und nicht nochmal das Rad neu erfinden müssen und dafür scheint mir Drupal an sich recht gut geeignet - bis jetzt. Allerdings möchte ich auch Module machen, die nicht nur bei mir laufen, sondern jedem die Möglichkeit geben die Datenbank auf seine gewünschte Weise zu nutzen. Dazu sollte aber schon der Beginn passen :)
Gruß
Thomas
PS: Vielen Dank für die Geduld mit mir
Modul für externe Daten
am 03.09.2007 - 10:43 Uhr
Ein Modul zu veröffentlichen, welches mit externen Daten arbeitet ist m.E. nicht sinnvoll. Ein anderer Benutzer hat ja nicht dieselben Daten.
Es sei denn du programmierst so etwas wie Views für externe Daten. Keine Ahnung ob das möglich ist.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
Die Daten werden vorhanden
am 03.09.2007 - 10:56 Uhr
Die Daten werden vorhanden sein, da der Benuztzer entweder die externe Datenbankstruktur mitgeliefert bekommt und damit entweder local oder ebenfalls öffentlich damit arbeiten kann (sei es um eine Datensammlung für zB Krimis zusammen zu stellen statt für phantstische Literatur oder als externe Quelle für Datenlieferung mittels Importfunktionen an dsfdb.org) oder im anderen Fall online auf die Daten von dsfdb.org zugreifen wird (um eine Seite zu gestalten, die auf den vorhanden Daten aufsetzt). Das wird das Meisterstück sein, dass das Ding interessant machen wird (für Literaturfreunde).
Ich möchte nur jetzt im Anfangsstadium nicht schon grundsätzliche Fehler machen und dann nach Monaten draufkommen, dass ich das Ding nochmals umproggen müsste.
Gruß
Thomas