CMS_IMGEDIT - Bilder verkleinern

Gesperrt
chrisonline
Beiträge: 18
Registriert: Mi 29. Mär 2006, 19:24
Kontaktdaten:

CMS_IMGEDIT - Bilder verkleinern

Beitrag von chrisonline »

Ich verwende den Platzhalter "CMS_IMGEDIT[1]" in meinem Modul. Die Funktionalität dieses Platzhalters sollte bekannt sein. Klickt man auf den Image-Button, kann auf der Folgeseite ein Bild selektiert werden. Bestätigt man die Auswahl, gelangt man zurück zur Seite die man editieren möchte. Dort erscheint nun auch das ausgewählte Bild in Originalgrösse.

Nun zu meiner Frage. Ich möchte sicherstellen, dass das eingefügte Bild eine vordefinierte Grösse nicht übersteigt. Wo muss ich da genau ansetzen um eine entsprechende resize-Funktion einzubauen?

Gruss, Chris
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Wenn ich mich recht erinnere, bietet der Upload-Bereich eine so genannte "Chain"-Funktionalität über die man zusätzlichen Manipulationsfunktionen bei einem Upload integrieren kann.

Wie das funktioniert ... mal im Forum suchen...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
chrisonline
Beiträge: 18
Registriert: Mi 29. Mär 2006, 19:24
Kontaktdaten:

Beitrag von chrisonline »

Hallo HerrB

Ich bin fündig geworden was das verkleinern von Bildern im Upload-Bereich angeht. (http://www.contenido.org/forum/viewtopi ... load+chain). Ich möchte die Bilder aber an unterschiedlichen Stellen in unterschiedlichen Grössen verwenden. Deshalb möchte ich nicht bereits beim Upload der Bilder diese auf eine vordefnierte Grösse verkleinern, sondern zum Zeitpunkt wenn im IMG-EDIT Platzhalter ein Bild ausgewählt und in die zu editierende Seite eingefügt wurde.

Gruss, Chris
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Form, wie Du es Dir gerade vorstellst, gibt es warscheinlich noch nix. Als Ansatz könntest Du Dir den Code aus dem Modul Illustration oder Artikelliste Advanced ansehen.

Das ist dann auch ein Modul-Request, keine Weiterentwicklung von Contenido. Verschoben.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
phpchris
Beiträge: 438
Registriert: Fr 28. Mai 2004, 16:07
Kontaktdaten:

Beitrag von phpchris »

FÜge die Grafik mit dem Wysiwyg-Editor ein.
Das kannst du Sie an den ecken packen und verkleinern (HTML).

Damit verkleinerst du nicht wirklich die Grafik, aber dafür die Ausgabe!
Maribeauli

Beitrag von Maribeauli »

phpchris hat geschrieben:FÜge die Grafik mit dem Wysiwyg-Editor ein.
Das kannst du Sie an den ecken packen und verkleinern (HTML).

Damit verkleinerst du nicht wirklich die Grafik, aber dafür die Ausgabe!
Das ist, leider, eine der schlechtesten Lösungen überhaupt.
Das das scalieren im Browser wird die Dateigröße nicht kleiner,
mach das bei 3, 4, ... Bildern (jpg, 24Bit RGB, 300dpi, 1028x728)
und wunder dich dann warum die Seite zu quälend langsam aufbaut.

(Es soll auch heute noch User geben die mit Moden/ISDN/DSL-Light im Internet unterwegs sind)

Einen Einsatzfall gibt es für diese Möglichkeit:
Wenn auf einer Seite die gleiche Grafik in unterschiedlichen Größen an unterschiedlichen Stellen plaziert werden muß.
Da der Name der Grafik gleich ist wird sie nur einmal vom Browser geladen und entsprechend den Anweisungen intern scaliert.
phpchris
Beiträge: 438
Registriert: Fr 28. Mai 2004, 16:07
Kontaktdaten:

Beitrag von phpchris »

Das war mir schon klar, dass die Dateigröße sich nicht verändert.

Eine andere Möglichkeit wäre es, das Illustrations-Modul anzupassen.
Das würde ich aber auch nur tun, wenn ich nicht allzuviele Bilder pro Seite unterbringen will...
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Na ja und das Illustrations-Modul speichert das Bild in CMS_VAR/CMS_VALUE, d.h. nur einmal pro Kategorie. Einmal pro Seite kann man es nur wählen wenn jede Seite über ein Template verfügt (insofern bin ich mit dem Ding nicht wirklich glücklich).

Besser ist es schon, CMS_IMG zu verwenden und - wenn man sich nicht im Edit-Mode befindet - anhand des Pfades und der Bildnamens den Serverpfad zum Bild zu ermitteln und mit den vorhandenen Resize-Funktionen das Bild dynamisch vergrößert auszugeben.

Wäre ein schönes Modul... Könnte man sogar als Standard-Bild-Modul betrachten (mit der Option "Resize" oder "Resize wenn größer als").

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
chrisonline
Beiträge: 18
Registriert: Mi 29. Mär 2006, 19:24
Kontaktdaten:

Anpassung / Erstellung von Platzhaltern

Beitrag von chrisonline »

Ja genau so stelle ich mir das vor. Wobei das Bild eigentlich ja auch schon im Edit-Mode resized dargestellt werden sollte (WYSIWYG-Prinzip). Da ich Contenido erst seit kurzem kenne, stellen sich bei mir noch ein paar Fragen genereller Art:

1. Wann ist ein Modul im Edit-Mode? Bzw. wie kann ich das überprüfen?
Beim Platzhalter CMS_LINKEDIT scheint die Überprüfung mit einem Check auf $edit zu erfolgen. Doch wo wird diese Variable gesetzt? Ist das der gängige Weg zu überprüfen ob man sich im Edit-Mode befindet?

Code: Alles auswählen

/**
 * CMS_LINKEDIT
 */
if ($edit) {
    $editbutton = '<a href="'.$sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_LINK&typenr=$val").'"><img src="'.$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"].'but_editlink.gif" border=0></a>';
    $editbutton = addslashes($editbutton);
$editbutton = addslashes($editbutton);
    $tmp = $editbutton;
} else {
$tmp = "";
}
2. In welchen Dateien ist der entsprechende Code für die Funktionalität von CMS_IMG implementiert? Bzw. wo muss die resize-Funktionalität genau eingebaut werden? Zum einen gibt es da den DB-Eintrag in der Tabelle con_type. Zum andern bin ich auf die die Datei contenido\includes\include.CMS_IMG.php gestossen. Ich nehme an das ganze spielt irgendwie zusammen. Aber wie genau?

Mir ist einfach noch nicht ganz klar wie ich z.B. selber einen Platzhalter schreiben bzw. wie in diesem Fall den bestehende Platzhalter CMS_IMG anpassen kann... Für Ratschläge bin ich sehr dankbar!

Gruss, Chris
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Anpassung / Erstellung von Platzhaltern

Beitrag von Halchteranerin »

chrisonline hat geschrieben:Ist das der gängige Weg zu überprüfen ob man sich im Edit-Mode befindet?
ja. :)
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Deswegen:
Als Ansatz könntest Du Dir den Code aus dem Modul Illustration oder Artikelliste Advanced ansehen.
Zunächst guckst Du Dir ein normales Bild-Modul an - daraus ergibt sich, dass das CMS_IMG einfach den Web-Pfad zum Bild speichert.

Nun musst Du diesen zerlegen und durch den Server-Pfad zum Bild ersetzen. Dies übergibst Du an die Resize-Funktion und voliá, fertig ist der Lack.

Im Prinzip wird es genauso im Artikellisten Advanced-Modul für eingebettete Bilder gemacht (nicht den Code für CMS_IMG nehmen, da Du hier den Wert nicht aus der DB ermitteln musst, sondern bereits geliefert bekommst - und zwar so, als hätte jemand im HTML ein Bild via img-Tag definiert).

Dazu kommt noch ein Input-Bereich, in dem die maximale Größe des Bildes definiert werden kann. Und natürlich kannst Du auch im Edit-Modus bereits das veränderte Bild anzeigen. Wichtig ist nur das CMS_IMGDESC darunter, damit man auch ein Bild auswählen kann (siehe Standard-Bildmodul).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

also ein modul mit genau dieser funktionalität gibt es hier: http://www.contenido.org/forum/viewtopi ... ht=picture

gruss,
andreas

ps: aus meiner sicht sollte aus erwähnten gründen die verkleinerung erst bei gebrauch vorgenommen werden und nicht bereits beim upload.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Gesperrt