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

Es gibt bestimmt bessere Lösungen

Eingetragen von fh (153)
am 17.02.2010 - 10:36 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,

ich möchte ein Modul schreiben, welches einige Besonderheiten bieten soll, aber trotzdem so weit wie möglich mit Drupal Funktionen arbeiten soll.

Dann möchte ich mal versuchen das Modul zu beschreiben:
Es geht um eine Gallery, welche nur auf zwei Mausevents mittels jQuery reagiert, mit dem "hover" wird das angewählte Bild doppelt so gross angezeigt, mit "click" nochmal doppelt so gross(also 4x).
So weit so gut...

Nun habe ich mit PHP einige wahrscheinlich unsaubere Codes erzeugt und glaube dass man einiges auch noch mit Drupal Funktionen anstatt mit PHP lösen könnte. Was ich aber nicht möchte, ist; die einzelnen Bilder in der files Tabelle ablegen, die Bilder sollen nur zur jeweiligen Kategorie, also einem einzigen Node verknüpft sein.

Lange Rede - kurzer Sinn. Ich zeige einfach mal alles auf. Danke euch jetzt schon für Ratschläge, Verbesserungen und die Hilfe. Ich bin um jede Meinung froh!

-- CODE IST IN LINK zur Zipdatei (mein nächster Eintrag) --

Wenn jemand das Modul gerne ausprobieren möchte, ich sende es gerne über E-Mail zu. Es ist lauffähig und funktioniert mittlerweile recht gut und sauber.

Meine wichtigsten Fragen zum Modul sind folgende:
kann ich die POST-Werte auch anders reinholen, anstatt mit $_FILES[], auch wenn ich keine Nodes oder Tabelleinträge für die Bilder in Drupal möchte, sondern nur in meiner eigenen Tabelle?

Wahrscheinlich habe ich auch noch einige Sachen in die falschen Hooks gepackt :-(

Der hook_init benutze ich um bei jedem starten der Galerie, die Variable für den Seitenstatus wieder auf das Bild 0 zu setzen. Von diesem Punkt aus kann man dann hoch und runter blättern.

Gruss und nochmals Danke im voraus

Fredi

‹ Modul für Immobilienimport hook_menu: cacheproblem wenn dynamisch generiert ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Tipp

Eingetragen von stBorchert (6003)
am 17.02.2010 - 13:23 Uhr

Hallo.
Du möchtest
1) imagecache zur Erstellung der Bilder verwenden,
2) Coder installieren und verwenden und
3) (optional) den Quelltext in Dateien packen, hier anhängen und die Code-Blöcke wieder entfernen.

Das macht das Ganze weitaus übersichtlicher und leserlicher.

Achso, dann möchtest Du Dir noch anschauen, wie man aus einem Modul heraus css-Dateien lädt.

 Stefan

--
Sei nett zu Deinem Themer!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Stefan, Danke erstmal

Eingetragen von fh (153)
am 17.02.2010 - 14:14 Uhr

Hallo Stefan,

Danke erstmal für den Blick darauf.

Zitat:

1) imagecache zur Erstellung der Bilder verwenden,

Du meinst hier das Modul imagecache? Ich möchte das eigentlich ohne weiteres Modul machen, denn es werden sowieso immer nur die Bilder der aktiven Seite angezeigt. Ursprung ist, dass ich eine Ausgabe erstellen möchte die kaum RAM benötigt. Aber ich les mir gern mal den gnenauen Sinn von Imagecache durch.

Zitat:

2) Coder installieren und verwenden

Ein guter Tipp :-), hätte ich eigentlich eher beachten können.

Zitat:

3) (optional) den Quelltext in Dateien packen, hier anhängen und die Code-Blöcke wieder entfernen.

Ich hole das gleich nach, muss noch einen funktionierenden Link zur Verfügung stellen...

CSS:
In dem Fall ist es die bessere Wahl, wenn ich die CSS vom Modul aus verfügbar mache, eigentlich logisch. Die js Datei habe ich ja auch mit drupal_add_js eingebunden, ich denke du meinst dass beim css das drupal_add_css() gut wäre.

Besten Dank erstmal, ich werde das umstellen und den Downloadlink jeweils aktualisieren.(kommt gleich)

Fredi

EDIT: Nachtrag
- die CSS habe ich geändert. Ein Fehler der Umbenennung von bestehenden Images musste ich auch noch verbessern, sollte jetzt passen.

zip.download

  • Anmelden oder Registrieren um Kommentare zu schreiben

Review

Eingetragen von stBorchert (6003)
am 17.02.2010 - 14:08 Uhr
fh schrieb

Du meinst hier das Modul imagecache? Ich möchte das eigentlich ohne weiteres Modul machen, denn es werden sowieso immer nur die Bilder der aktiven Seite angezeigt. Ursprung ist, dass ich eine Ausgabe erstellen möchte die kaum RAM benötigt. Aber ich les mir gern mal den gnenauen Sinn von Imagecache durch.

Imagecache nimmt Dir die Verkleinerung der Bilder ab und kümmert sich dann auch gleich um die "Verwaltung" der Bilder. Somit reicht es von Deiner Seite her, im Modul ein oder zwei default-presets für imagecache zu definieren und dann die Bilder per theme('imagecache', ...) einzubinden/anzuzeigen.

fh schrieb

ich denke du meinst dass beim css das drupal_add_css() gut wäre.

Ja. Mich hats ein wenig bei folgendem Konstrukt gegruselt:

fh schrieb

<?php
/* Einfuegunen von fh */
function phptemplate_mygallery() {
return
'<link type="text/css" rel="stylesheet" media="all" href="'. base_path() . path_to_theme() .'/mycss/mycss.css" />';
}
?>

Und hier die einzige veränderte Zeile in der node.tpl.php:

<?php
print phptemplate_mygallery();
?>

 Stefan

--
Sei nett zu Deinem Themer!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke :-)

Eingetragen von fh (153)
am 17.02.2010 - 14:33 Uhr

Hallo Stefan,

ich konnte mir das Schmunzeln auch nicht mehr verkneifen, ab der Einbindung der CSS.
Na ja, das ist jetzt behoben. Es wird für mich noch einiges zu lernen geben, vor allem was die ganzen Aufrufe und Operationen von Drupal betrifft.
Das wird nun mal jedem sein Los sein, wenn Drupal verstanden werden will. Spass macht es trotzdem, oder gerade deswegen.

Manchmal bin ich einfach nur blind für das Naheliegende. Jetzt werde ich versuchen deine Vorschläge um zu setzen und habe auch daran gedacht, dass ich die Bildgrössen im Modul selber verändere...

Bei diesen Modulen möchte ich vor allem Drupal besser verstehen, deshalb der Verzicht auf mögliche Einbindungen von Hilfsmodulen.

Mit Views und cck wäre das ja in kürzester Zeit aufgebaut, doch möchte ich auch verstehen "Warum" etwas funktioniert.
Ich weiss deine Hilfe sehr zu schätzen.

Gruss
Fredi

  • Anmelden oder Registrieren um Kommentare zu schreiben

kleine Bemerkung am Rande,

Eingetragen von stebeg (463)
am 17.02.2010 - 15:33 Uhr

kleine Bemerkung am Rande, vielleicht hast es ja schon gemacht:

Solltest du für dein Modul, wie dir empfohlen wurde, andere Module wie z. Bsp. ImageCache benutzen, dann solltest du in deiner info-Datei auch festlegen, dass diese Module aktiviert sein müssen, also ungefähr so:

; $Id: dein_modul.info,v 1.0.0.
name = Dein Modul
description = Deine Beschreibung.
dependencies[] = anderes_modul
core = 6.x

  • Anmelden oder Registrieren um Kommentare zu schreiben

resize eingebaut ...

Eingetragen von fh (153)
am 19.02.2010 - 14:56 Uhr

Hallo zusammen,

die Angabe mit den dependencies[]... kenne ich, bin trotzdem dankbar für jeden Tipp.

ich habe nun das resize der Bilder eingebaut mit der Funktion image_resize(), das funktioniert sehr gut mit jpg und gif - png muss ich noch testen. Dann werde ich auch die Variable "validations" an das file_move() übergeben müssen, damit nicht plötzlich *.bmp und weiteres angegeben wird, ist mir gerade vorher passiert.

Dazu möchte ich auch noch die Grösse vor dem Resize überprüfen, wenn die Grösse kleiner als 240px in der Höhe hat, gebe ich am besten eine Meldung aus. Jetzt bin ich immerhin bei gut 18kb pro Bild, was bei einer Seitenanzeige von z.B. 20 Bildern gut 360kb ausmacht, der RAM-Bedarf wird da wohl höher sein wegen der Komprimierung usw.
Morgen stelle ich im Verlauf des Tages nochmal eine neue zip auf den angegebenen Link(oben). Werde es dann gerne mitteilen, sobald die neue Version oben ist und vor allem auch läuft.

Die Denkanstösse sind wirklich unbezahlbar!! Echt nett von euch...

Gruss
Fredi

P.S. habe mit dem coder-Modul alle Meldungen ausgemerzt.

EDIT:
Das Modul läuft nun einigermassen, beim Link zum Download habe ich noch einige wichtige Angaben gemacht.
Die nächsten Tage möchte ich das Modul auf der selben Domain wie der Link installieren. So kann man das auch auf der Site austesten. Mehr wenn es soweit ist...

P.S. Wenn mir jemand bei den englischen Texten helfen möchte, bin um Verbesserungen sehr froh. Vielleicht könnte ich mich mit anderen Arbeiten revanchieren?!? Bitte am liebsten über den Kontakt hier melden, oder eine E-Mail an info1@my-webshop.ch

Nochmal den Link zum Download mygallery

Ach ja:
Der Speicherverbrauch mit z.B. 30 Images pro Seite liegt unter dem Verbrauch von Aufrufen der Verwaltung(16MB auf Testumgebung) oder sonstigen Aufrufen. Wird die Gallery gestartet, so werden nur noch etwa 11 - 12MB benötigt.
Das Modul ist einzig vom "upload" Modul abhängig, welches bei Drupal integriert ist.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Broken Link

Eingetragen von r4s6 (1383)
am 19.02.2010 - 13:09 Uhr
fh schrieb

Nochmal den Link zum Download mygallery

Hier kann ich leider nichts ausser deiner 404-Seite finden.

Gruss Roger

Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen (1. Posting vom Thema) <==> das erleichtert das finden von Lösungen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Richtiger Link zur zip-Datei

Eingetragen von fh (153)
am 19.02.2010 - 15:03 Uhr

Hallo Roger,

entschuldige und danke für den Hinweis.
Ich habe den Link oben jetzt korrigiert, habe nicht beachtet dass mir pathauto den Pfad wieder ändert, wenn ich den Eintrag bearbeite. Der Link sollte jetzt für die nächsten paar Jahre stimmen.

Gruss
Fredi

Hier nochmal als Text,
http://drupalvideo.frediundlilli.ch/content/download-beispiel-modul-myga...

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 28 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