[Workaround] Dynamischer UDT nach $page_alias

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

[Workaround] Dynamischer UDT nach $page_alias

Post by antiheld2000 »

Hi,

ich würde gerne in einem Template $page_alias abhängige UDTs aufrufen. Also wenn ich z. B. auf der Seite mit dem Alias "hirnstrom" bin, dann sollte folgender UDT aufgerufen werden: {roentgenbild-hirnstrom} bzw. {roentgenbild-$page_alias}. Ist dies möglich? Wenn ja, wie?

Gruß
anti
Last edited by antiheld2000 on Wed Mar 10, 2010 8:33 am, edited 1 time in total.
uniqu3

Re: Dynamischer UDT nach $page_alias

Post by uniqu3 »

UDT für Page alias findest du hier: http://wiki.cmsmadesimple.org/index.php ... _tags_here

Alias UDT:

Code: Select all

global $gCms;
global $smarty;

$manager =& $gCms->GetHierarchyManager();

$var = 'alias';
if( isset($params['assign']) && $params['assign'] != '' )
{
  $var = $params['assign'];
}
$result = "NO RESULT";
$thisPage = $gCms->variables['content_id'];
$currentNode = &$manager->sureGetNodeById($thisPage);
while( isset($currentNode) && $currentNode->getLevel() >= 0 )
{
    $currentContent =& $currentNode->getContent();
    $result = $currentContent->Alias();
    $currentNode =& $currentNode->getParentNode();
}
$smarty->assign($var,$result);

Code: Select all


Template aufruf:
{alias assign="alias"}
             
		{if $alias == "home"}
		the content to show
		{elseif $alias == "other page"}
                other content
                {else}
                default content
                {/if}
cyberman

Re: Dynamischer UDT nach $page_alias

Post by cyberman »

@antiheld2000

Ich weiß ja nicht, wie viele UDTs du planst, aber IMHO wäre es einfacher, den Page-Alias als Parameter zu übergeben und diesen via PHP switch / case auszuwerten, also eher so {roentgenbild page=$page_alias} - guckst du hier

http://wiki.cmsmadesimple.org/index.php ... ed_Tags/de

@uniqu3

Keine Ahnung, warum dieser UDT noch im Wiki ist, denn der Seiten-Alias kann eigentlich immer via {$page_alias} aufgerufen oder abgefragt werden - da muss man das Rad nicht zwei Mal erfinden ;).
User avatar
antiheld2000
Forum Members
Forum Members
Posts: 236
Joined: Thu Jan 31, 2008 9:23 am

Re: Dynamischer UDT nach $page_alias

Post by antiheld2000 »

@ cyberman

generell gebe ich dir recht, jedoch sollen im udt seitenspezifisch mehrere imagemaps ausgegeben werden. auf sieben verschiedenen seiten je 7 komplexe imagemaps. diese werden sehr umfangreich und dürfen auf keinen fall durch einen wysiwyg oder so etwas abgeändert werden. ich habe angst, dass bei eingabe als globale inhaltsblöcke das ganze zerschossen wird.
cyberman

Re: Dynamischer UDT nach $page_alias

Post by cyberman »

Ähmm, an welcher Stelle hab ich was von Globalen Inhaltsblöcken gesagt ::)?

Und die Image-Maps könntest du dir auch im UDT aus separaten Dateien via include() laden, damit er nicht so groß wird ...

PS: In der Administration kann man übrigens die Verwendung von WYSIWYG für die GCBs deaktivieren ;).
User avatar
antiheld2000
Forum Members
Forum Members
Posts: 236
Joined: Thu Jan 31, 2008 9:23 am

Re: Dynamischer UDT nach $page_alias

Post by antiheld2000 »

du hast davon nichts gesagt, aber ich habe dran gedacht ;)

mit deaktiviertem wysiwyg ist auch nicht das optimale… ach, ich bin verwirrt…

habe gerade festgestellt, dass ich viel zu kompliziert gedacht habe, denn ich habe nun einfach in das template einen zweiten contentblock ohne wysiwyg eingefügt. also manchmal…

danke euch zwei beiden.
uniqu3

Re: [Workaround] Dynamischer UDT nach $page_alias

Post by uniqu3 »

@cyberman

Ah danke wusste ich gar nicht, das kommt davon wenn Mann etwas verwendet und nicht weiter liest :-)
cyberman

Re: Dynamischer UDT nach $page_alias

Post by cyberman »

antiheld2000 wrote: du hast davon nichts gesagt, aber ich habe dran gedacht ;)
Ich merk schon, dass du eine gewisse Affinität zu den GCB's hast  ;D ...
uniqu3 wrote: Ah danke wusste ich gar nicht, das kommt davon wenn Mann etwas verwendet und nicht weiter liest :-)
Auch auf die Gefahr hin, mich zu wiederholen - der mitgelieferte Tag {get_template_vars} ist 'ne dolle Sache ;).

Wenn man genau hinschaut, verbergen sich da noch 'ne ganze Menge andere nützliche Sachen, die per default schon vorhanden sind.
Post Reply

Return to “Module und Tags”