Seite 1 von 1

Mehrere Bilder in einem Artikel

Verfasst: Mo 27. Mär 2017, 12:30
von Banapple
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

Re: Mehrere Bilder in einem Artikel

Verfasst: Mo 27. Mär 2017, 14:06
von Seelauer
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 ?

Re: Mehrere Bilder in einem Artikel

Verfasst: Mo 27. Mär 2017, 19:09
von McHubi
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

Re: Mehrere Bilder in einem Artikel

Verfasst: Di 28. Mär 2017, 07:59
von rethus
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.