Bilderbeschreibung

Gesperrt
masch
Beiträge: 104
Registriert: Do 8. Jan 2009, 10:29
Kontaktdaten:

Bilderbeschreibung

Beitrag von masch » Do 29. Jan 2009, 10:19

Hallo,

also nun bin ja ja richtig begeistert von contenido. Bis dato habe ich vor allem die Bildergalerie als auch die Mehrsprachigkeit unter dem Aspekt Gestaltung als kleines Manko angesehen.

Vielleicht ist es doch mal ganz hilfreich eine etwas erweiterte Hilfe auf die Beine zu stellen als die paar Seiten im PDF 8)

Wurscht im Moment, da ich immer begeisterter bin.
Nun meine Frage respektive auch als Vorschlag für künftige Versionen

unter Dateiverwaltung kann man ja den Medien also in dem Falle hier Bildern, Beschreibungen zuweisen. Das ist unabhängig davon ob man nun die Originalbildergalerie, Lightbox oder Slimbox verwendet.

Der Punkt Medienname ist gerade bei der Vorschau super. Es muss doch möglich sein, auch ein Medienname2 und Medienname3 verwenden zu können.

als Definition kann man ja in der Tradition fortfahren und {MEDIANAME1} usw. verwenden.

WO und an welcher Stelle genau kann ich das erweitern um Medienname2 und Medienname3?

masch
Beiträge: 104
Registriert: Do 8. Jan 2009, 10:29
Kontaktdaten:

Beitrag von masch » Do 29. Jan 2009, 12:08

das macht richtig Spass sich so durchzuwuseln und die kleinen Details zusammenzutragen :lol:

so bin ich bei 4.6. auf den Thread gestossen
http://4fb.net/viewtopic.php?t=15659&hi ... e206d87ed7

ich war eben erstaunt festzustellen, das MEDIANAME tatsächlich nicht in der Standardbildergalerie in der Ausgabe verwendet wird.

gibt es als Schnelllösung die Möglichkeit zB die "interne Notizen" zu verwenden? Oder werden diese in anderen Funktionen verwendet? Wenn die Ja, wie ist der Parametername? - {xyz}

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag von OliverL » Do 29. Jan 2009, 14:27

Bin zwar nicht Oldperl aber dennoch mal meine hilfe.


Der Link ist alt.
früher war es so jetzt (4.8.x) nicht mehr. Jetzt gibt es die Tabelle "con_upl_meta".

Alles ungetestet direkt aus meinem Kopf:

so... ergänze diese Funktion nach function ig_getImageDescription:

Code: Alles auswählen

function ig_getImageInfos($idupl, $sRow) {

	global $cfg, $cfgClient, $db, $client, $lang;
	$sRow = strtolower($sRow);
	
	if( in_array( $sRow, array('medianame','description','keywords','internal_notice','author','created','modified','modifiedby','copyright') ) ) {
		$cApiClient= new cApiClient($client);
		$language_separator= $cApiClient->getProperty('language', 'separator');
		if ($language_separator == "") {
			//Sanity, if module used in client without set client setting
			$language_separator= "§§§";
			$cApiClient->setProperty('language', 'separator', $language_separator);
		}
		if (is_numeric($idupl)) {
			//ID is a number 
			$query= "SELECT description FROM " . $cfg["tab"]["upl"] . " WHERE idupl = " . $idupl;
		}
		else {
			//ID is a string
			$path_parts= pathinfo($idupl);
			$upload = $cfgClient[$client]['upl']['frontendpath'];
			$len= strlen($upload);
			$pos= strpos($idupl, $upload);
			$dirname= substr($path_parts['dirname'], $pos + $len) . '/';
			$query= "SELECT b.$sRow FROM " . $cfg["tab"]["upl"] . " AS a LEFT JOIN " . $cfg["tab"]["upl_meta"]	. " AS b ON (idupl) WHERE (a.dirname = '" . $dirname . "') AND (a.filename='" . $path_parts['basename'] . "') AND (a.filetype='" . $path_parts['extension'] . "')";
		}
		$db->query($query);
		return ($db->next_record() ? htmlspecialchars(urldecode($db->f($sRow))) : false );
	}
}

Dann nach $oImageTpl->set("s", "DESCRIPTION", $description); je nach dem was du davon brauchst:

Code: Alles auswählen

	$oImageTpl->set("s", 'MEDIANAME', ig_getImageInfos($sImageToDisplay, 'medianame') );
	$oImageTpl->set("s", 'DESCRIPTION', ig_getImageInfos($sImageToDisplay, 'description') );
	$oImageTpl->set("s", 'KEYWORDS', ig_getImageInfos($sImageToDisplay, 'keywords') );
	$oImageTpl->set("s", 'INTERNAL_NOTICE', ig_getImageInfos($sImageToDisplay, 'internal_notice') );
	$oImageTpl->set("s", 'AUTHOR', ig_getImageInfos($sImageToDisplay, 'author') );
	$oImageTpl->set("s", 'CREATED', ig_getImageInfos($sImageToDisplay, 'created') );
	$oImageTpl->set("s", 'MODIFIED', ig_getImageInfos($sImageToDisplay, 'modified') );
	$oImageTpl->set("s", 'MODIFIEDBY', ig_getImageInfos($sImageToDisplay, 'modifiedby') );
	$oImageTpl->set("s", 'COPYRIGHT', ig_getImageInfos($sImageToDisplay, 'copyright') );
Dannach kannst du z.B.:
{MEDIANAME}
{DESCRIPTION}
{KEYWORDS}
{INTERNAL_NOTICE}
{AUTHOR}
{CREATED}
{MODIFIED}
{MODIFIEDBY}
{COPYRIGHT}



mfg OliverL

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Beitrag von Oldperl » Do 29. Jan 2009, 14:40

OliverL hat geschrieben:Bin zwar nicht Oldperl aber dennoch mal meine hilfe
Ach du bist nicht ich? :roll: :lol:

Hast das aber gaaaaaaaaanz prima erklärt, hät ich nicht besser machen können. 8)

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag von OliverL » Fr 30. Jan 2009, 09:41

@oldperl:
8) bezogen auf den css-img-border Beitrag

@masch:
ab Con. 4.8.8 gibt es CEC-Schnittstellen für die Datei-Details.
s. http://forum.contenido.org/viewtopic.php?t=22494


mfg OliverL

Gesperrt