[solved / opgelost ]page alias vinden met content ID

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
HarmO
Power Poster
Power Poster
Posts: 251
Joined: Thu Jan 26, 2012 3:22 pm

[solved / opgelost ]page alias vinden met content ID

Post 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...
Last edited by HarmO on Tue Oct 13, 2015 9:39 am, edited 1 time in total.
Kind regards,
HarmO
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: page alias vinden met content ID

Post by Rolf »

Je zou dit met de {cms_selflink} tag kunnen doen.
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
HarmO
Power Poster
Power Poster
Posts: 251
Joined: Thu Jan 26, 2012 3:22 pm

Re: page alias vinden met content ID

Post 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:
  • abc
    • def
      • page 1
    • page 2
  • xyz
    • page 3
    • page 4
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...
Kind regards,
HarmO
HarmO
Power Poster
Power Poster
Posts: 251
Joined: Thu Jan 26, 2012 3:22 pm

Re: page alias vinden met content ID

Post 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)}
Kind regards,
HarmO
HarmO
Power Poster
Power Poster
Posts: 251
Joined: Thu Jan 26, 2012 3:22 pm

Re: [solved / opgelost ]page alias vinden met content ID

Post by HarmO »

Werkt enkel als je het page-url veldje niet gebruikt.
:-[
Kind regards,
HarmO
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: [solved / opgelost ]page alias vinden met content ID

Post 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}
pedes
Power Poster
Power Poster
Posts: 840
Joined: Tue Jan 27, 2009 11:47 am

Re: [solved / opgelost ]page alias vinden met content ID

Post 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
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: [solved / opgelost ]page alias vinden met content ID

Post 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>}
Post Reply

Return to “Dutch - Nederlands”