Page 1 of 1
[solved / opgelost ]page alias vinden met content ID
Posted: Mon Oct 12, 2015 4:25 pm
by HarmO
Hi vrienden,
Ik ben bezig met een website met CMSMS 1.11.13. en gebruik de ECB module (extended content blocks) voor de pageselector.
Nu krijg ik wel de pagina ID terug van ECB en om een link te maken is dat geen probleem, maar ik wil de rootparent checken m.b.v. simple smarty. hiervoor heb ik echter de $page-alias nodig.
Ik veronderstel dat ik een UDT moet aanmaken met stukje code dat $gCms->GetPageAliasFromContentID gebruikt, om de pagina alias terug te vinden, maar echt veel info vindt ik hier niet over terug.
Wie kan me helpen?
PS: ja ik heb deze site nog niet geupdate naar 1.12.x omdat sommige modules het in 1.12.x gewoon niet meer doen anders...
Re: page alias vinden met content ID
Posted: Mon Oct 12, 2015 4:38 pm
by Rolf
Je zou dit met de {cms_selflink} tag kunnen doen.
Re: page alias vinden met content ID
Posted: Tue Oct 13, 2015 9:24 am
by HarmO
Hey Rolf, bedankt voor de feedback!
Ik heb dit even gechecked, maar zie de oplossing niet.
Ik zal mijn probleem even verduidelijken.
ik heb volgende boomstructuur:
Als ik in page 1 via de ECB page selector page 4 selecteer, dien ik te weten of page 4 onder hoofdstuk xyz of abc valt (en omgekeerd) om vervolgens a.d.h.v. een case selector mijn template aan te passen.
Simple smarty heeft de functie get_root alias die mij in staat zou stellen om dit te achterhalen adh van pagina alias.
Code: Select all
$cgsimple->get_root_alias([$alias],[$assign])
Mijn probleem, ik heb de contentID gekregen via de ECB page selector, maar ik heb dus de page alias nodig.
Ik zie niet hoe de {cms_selflink} -tag mij de page alias bezorgt...
Re: page alias vinden met content ID
Posted: Tue Oct 13, 2015 9:38 am
by HarmO
Ok, ik heb een oplossing gevonden.
Hopend dat dit correct werk voor alle pagina's:
Code: Select all
{$cgsimple->get_root_alias({cms_selflink href=$selectedpage}|pathinfo:$smarty.const.PATHINFO_FILENAME)}
Re: [solved / opgelost ]page alias vinden met content ID
Posted: Mon Dec 07, 2015 10:31 am
by HarmO
Werkt enkel als je het page-url veldje niet gebruikt.

Re: [solved / opgelost ]page alias vinden met content ID
Posted: Mon Dec 07, 2015 3:02 pm
by velden
Ik vond deze code nog ergens in een UDT.
ZELF TESTEN
Weet niet of ie werkt. Waarschijnlijk beetje afgeleid van één of andere core functie of uit de CGSimpleSmarty module.
Naam UDT:
get_root_alias_by_id
Code: Select all
if (isset($params['id'])) {$id = $params['id'];} else {return;}
$gCms = cmsms();
$hm = $gCms->GetHierarchyManager();
$stack = array();
$node = $hm->find_by_tag('id',$id);
while( $node && $node->get_tag('id') > 0 ) {
$stack[] = $node;
$node = $node->getParent();
}
if( count($stack) == 0 ) return;
$alias = $stack[count($stack)-1]->get_tag('alias');
if( isset($params['assign'])) {
$smarty->assign($params['assign'],$alias);
return;
}
return $alias;
Gebruik:
Code: Select all
{get_root_alias_by_id id=28}
of
{get_root_alias_by_id id=28 assign=rootalias}
rootalias: {$rootalias}
Re: [solved / opgelost ]page alias vinden met content ID
Posted: Fri Dec 11, 2015 6:56 am
by pedes
Hoe kan ik ook de alias vinden met de content id?
Ik heb via de UDT van Velden de root_alias.
Doe ik dat via een Simple smarty functie?
Ik heb dus de content id, maar ik wil de friendly url hiervan.
Mvg,
Pete
Re: [solved / opgelost ]page alias vinden met content ID
Posted: Sat Dec 12, 2015 1:56 pm
by velden
pedes wrote:Hoe kan ik ook de alias vinden met de content id?
...
Ik heb dus de content id, maar ik wil de friendly url hiervan.
...
Zoek je de alias of de friendly url? Dat is namelijk wat anders.
Friendly url is makkelijk via {cms_selflink href=<content id>}