Mehrere Bilder in einem Artikel

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
Banapple
Beiträge: 12
Registriert: Di 7. Mär 2017, 10:33
Kontaktdaten:

Mehrere Bilder in einem Artikel

Beitrag von Banapple » Mo 27. Mär 2017, 12:30

Hallo,

ich möchte mehrere Bilder in einem Artikel darstellen.

Wenn ich über Style -> Vorlagen ein weiteres Modul "content_image" hinzufügen möchte, wird mir das zuvor eingefügte Bild einfach nur doppelt in dem Artikel angezeigt.
Das dazu gehörige "bearbeiten" Symbol ist zwar da, hat aber keinerlei Funktion.

Kann mir bitte jemand erklären, wie ich mehrere Bilder in einem Artikel darstellen kann? Wenn möglich nebeneinander, nicht untereinander.

Die Vorlage der picture_gallery hilft mir leider auch nicht weiter.

Grüße,

Banapple

Seelauer
Beiträge: 186
Registriert: So 22. Jan 2006, 21:03
Wohnort: Mal da, mal da
Kontaktdaten:

Re: Mehrere Bilder in einem Artikel

Beitrag von Seelauer » Mo 27. Mär 2017, 14:06

Servus,
Du hast in Deinem Folgemodul die Indizes von z. B. [1]
$imageSource = "CMS_IMG[1]";
$imageDescription = "CMS_IMGDESCR[1]";
$imageEditor = "CMS_IMGEDITOR[1]";
schon auch geändert ?
Guten Gruß
Seelauer.

McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Mehrere Bilder in einem Artikel

Beitrag von McHubi » Mo 27. Mär 2017, 19:09

Hallo Banapple,

wenn Du das gleiche Modul mehrfach einsetzen willst, ist der Index - wie Seelauer schon anmerkte - der Dreh- und Angelpunkt. Du musst hierfür aber nicht zwingend ein neues Modul anlegen, Du kannst das vorhandene auch anpassen und danach über den Artikelreiter "Konfiguration" den Index frei vergeben. Ersetze mal die Modul-Eingabe und -Ausgabe vollständig hiermit:
EINGABE

Code: Alles auswählen

echo 'Bildindex: <input size="1" type="int" name="CMS_VAR[100]" value="CMS_VALUE[100]"> (1-5)';
AUSGABE

Code: Alles auswählen

<?php

/**
 * description: standard image
 *
 * @package Module
 * @subpackage ContentImage
 * @author marcus.gnass@4fb.de
 * @copyright four for business AG <www.4fb.de>
 * @license http://www.contenido.org/license/LIZENZ.txt
 * @link http://www.4fb.de
 * @link http://www.contenido.org
 */

// assert framework initialization
defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');
$number="CMS_VALUE[100]";
// get image source from content type IMG with index 1
if($number==1 OR $number=="") $imageSource = "CMS_IMG[1]";
if($number==2) $imageSource = "CMS_IMG[2]";
if($number==3) $imageSource = "CMS_IMG[3]";
if($number==4) $imageSource = "CMS_IMG[4]";
if($number==5) $imageSource = "CMS_IMG[5]";
// get description as content type IMGDESCR with index 1
if($number==1 OR $number=="") $imageDescription = "CMS_IMGDESCR[1]";
if($number==2) $imageDescription = "CMS_IMGDESCR[2]";
if($number==3) $imageDescription = "CMS_IMGDESCR[3]";
if($number==4) $imageDescription = "CMS_IMGDESCR[4]";
if($number==5) $imageDescription = "CMS_IMGDESCR[5]";
// get editor as content type IMGEDITOR with index 1
// skip IMGEDITOR in frontend cause it displays the image too!
if (cRegistry::isBackendEditMode()) {
if($number==1 OR $number=="") $imageEditor = "CMS_IMGEDITOR[1]";
if($number==2) $imageEditor = "CMS_IMGEDITOR[2]";
if($number==3) $imageEditor = "CMS_IMGEDITOR[3]";
if($number==4) $imageEditor = "CMS_IMGEDITOR[4]";
if($number==5) $imageEditor = "CMS_IMGEDITOR[5]";
}

// build class containing all data necessary to display image
// therefor the image dimensions have to be determined
if (0 < strlen($imageSource)) {
    $clientConfig = cRegistry::getClientConfig(cRegistry::getClientId());
    $filename = str_replace($clientConfig["upl"]["htmlpath"], $clientConfig["upl"]["path"], $imageSource);
    list($imageWidth, $imageHeight) = getimagesize($filename);
    $image = new stdClass();
    $image->src = $imageSource;
    $image->alt = $imageDescription;
    $image->width = $imageWidth;
    $image->height = $imageHeight;
} else {
    $image = NULL;
}

// When in backend edit mode add a label so the author
// knows what to type in the shown field.
if (cRegistry::isBackendEditMode()) {
    $label = mi18n("LABEL_IMAGE");
} else {
    $label = NULL;
}

// use smarty template to output header text
$tpl = cSmartyFrontend::getInstance();
$tpl->assign('label', $label);
$tpl->assign('editor', $imageEditor);
$tpl->assign('image', $image);
$tpl->display('get.tpl');

?>
Damit kannst Du das Modul bis zu fünf Mal im gleichen Artikel verwenden, wenn Du allen einen eigenen Index zwischen 1 und 5 vergibst. Wenn Du mehr brauchst, erweitere einfach die Modul-Ausgabe. Die Anpassung kannst Du auch "im laufenden Betrieb" vornehmen, da als Standardwert für den Index die 1 verwendet wird, falls keine Angabe vorhanden ist. Und dieser Index war im ursprünglichen Modul der hardcodierte Wert.

VG,


Markus
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Mehrere Bilder in einem Artikel

Beitrag von rethus » Di 28. Mär 2017, 07:59

Versuch dieses Modul: http://forum.contenido.org/viewtopic.ph ... t=+dynamic

Hier kannst du in der Konfiguration des Artikels bequem in einem Textfeld die ID für das jeweilige Element eintragen.

Freu mich auf dein Feedback zu dem Modul.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Antworten