Bilderbeschreibung

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

Bilderbeschreibung

Beitrag von masch »

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 »

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 »

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: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Beitrag von Oldperl »

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 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.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 »

@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