[GELÖST] bestimmtes bild auf bestimmter seite

Hilfe zu Modulen und Tags
Post Reply
User avatar
antiheld2000
Forum Members
Forum Members
Posts: 236
Joined: Thu Jan 31, 2008 9:23 am

[GELÖST] bestimmtes bild auf bestimmter seite

Post by antiheld2000 »

hi,

ich frage mich, wie ich jeder seite ein bestimmtes bild zu ordnen kann. ich meine, ich möchte in einem ordner 10 bilder hinterlegen und auf seite 1 soll bild 1 aus dem ordner erscheinen auf seite 2 bild 2 und so weiter. oder aber, noch besser, seite abx soll bild abx.jpg enthalten und seite hgi soll bild hgi.jpg enthalten. versteht man was ich meine?

dank und gruss
anti
Last edited by antiheld2000 on Tue Feb 12, 2008 1:19 pm, edited 1 time in total.
NaN

Re: bestimmtes bild auf bestimmter seite

Post by NaN »

Dürfte nicht so schwer sein.
Das Seitenalias lässt sich ganz einfach via SMARTY ansteuern.
Lass Dir mal mit {get_template_vars} die Templatevariablen anzeigen. Dort dürfte sowas wie page_alias drin stehen. (Bin mir grad nicht sicher wie es genau heißt. Könnte auch page_name sein.)
Im Inhalt (oder Template) der Seite schreibst Du dann nur .
Und die Bilder speicherst Du dann im gewünschten Ordner jeweils unter dem Namen des Seitenalias.
LeisureLarry

Re: bestimmtes bild auf bestimmter seite

Post by LeisureLarry »

Wenn Dir ein einfacher Austausch der Bilder reicht, würde ich die Lösung von NaN benutzen. Wenn Du hingegen Einfluss auf komplette Tags benötigst, kannst Du ja mal mein benutzerdefiniertes Tag ausprobieren:

Code: Select all

global $gCms;

$pageinfo =& $gCms->variables['pageinfo'];
$page_content_id = $pageinfo->content_id;
$page_content_alias = $pageinfo->content_alias;
$page_content_menutext = $pageinfo->content_menutext;
$content_id_hierarchy = $pageinfo->content_id_hierarchy;

$globalContentOperations =& $gCms->GetGlobalContentOperations();

if ($globalContentOperations->CheckExistingHtmlBlobName("bild_" . $page_content_menutext)) {
$blobName = "bild_" . $page_content_menutext;
} else {
$hm =& $gCms->GetHierarchyManager();

$hierarchy = explode('.', $content_id_hierarchy);
$parent_content_id = $hierarchy[0];

$parnode =& $hm->getNodeById($parent_content_id);
$parcontent =& $parnode->GetContent();

if ($globalContentOperations->CheckExistingHtmlBlobName("bild_" . $parcontent->mMenuText)) {
$blobName = "bild_" . $parcontent->mMenuText;
} else {
$blobName = "bild_startseite";
}
}

$globalContent =& $globalContentOperations->LoadHtmlBlobByName($blobName);

$headerContent = $globalContent->content;
$headerContent = str_replace('<p>', '', $headerContent);
$headerContent = str_replace('</p>', '', $headerContent);

print $headerContent;
Zur Benutzung halt noch dieses Tag in Deinem Template einbinden, also mittels des festgelegten Namens in geschweiften Klammern und für jeden Menüpunkt, der ein neues Bild erhalten soll, einen globalen Contentblock mit dem Namen bild_menüpunkt anlegen. Für die Startseite ist der Name bild_startseite.
User avatar
antiheld2000
Forum Members
Forum Members
Posts: 236
Joined: Thu Jan 31, 2008 9:23 am

Re: bestimmtes bild auf bestimmter seite

Post by antiheld2000 »

erstmal vielen dank für die denkanstösse. ich bin nun noch einmal ein wenig in mich gegangen und zu folgendem schluss gekommen. es müsste immer eine css klasse umgeschrieben schrieben werden. ich bin nun recht neu im cmsms und weiss nicht genau wie ich das umsetzen müsste ich versuche mal einen ansatz zu schreiben. wäre klasse, wenn mir jemand noch helfen kann, das zu "taggen"

Code: Select all

<?
echo "<style> \n";
echo ".additional_navi { \n";
echo "background:url("
# page-alias ermitteln
$page_alias
$image_nach_alias = "images/".$page_alias.".jpg";
if (is_file($image_nach_alias)) {
	echo $image_nach_alias;
} else {
	# fallback bild
	echo "images/fallback.jpg";
}
echo ") no-repeat; \n";
echo "} \n";
echo "</style> \n";
?>
LeisureLarry

Re: bestimmtes bild auf bestimmter seite

Post by LeisureLarry »

So lange der Code im Head Deines Templates eingebunden wird, denke ich mal, daß der Anstoß so OK ist.

Code: Select all

global $gCms;
$pageinfo =& $gCms->variables['pageinfo'];
$page_content_alias = $pageinfo->content_alias;
Den Code am Anfang anfügen, um den Alias zu ermitteln.
User avatar
antiheld2000
Forum Members
Forum Members
Posts: 236
Joined: Thu Jan 31, 2008 9:23 am

Re: bestimmtes bild auf bestimmter seite

Post by antiheld2000 »

Code: Select all

global $gCms;
$pageinfo =& $gCms->variables['pageinfo'];
$page_content_alias = $pageinfo->content_alias;

$image_nach_alias = "images/visuals/".$page_content_alias.".jpg";
echo "<!-- ".$image_nach_alias." -->";
if (!is_file($image_nach_alias)) {
	$image_nach_alias = "images/visuals/fallback.jpg";
}
echo '
<style type="text/css">
<!--
div#additional_navi { background:url('.$image_nach_alias.'); }
-->
</style>
';
Last edited by antiheld2000 on Tue Feb 12, 2008 8:11 pm, edited 1 time in total.
Post Reply

Return to “Module und Tags”