LISE fielddef Content Pages stores id -> frontend id2title ?

Have a question or a suggestion about a 3rd party addon module or plugin?
Let us know here.
Post Reply
eus
Forum Members
Forum Members
Posts: 40
Joined: Fri Jan 16, 2009 12:56 pm

LISE fielddef Content Pages stores id -> frontend id2title ?

Post by eus »

Hi,

Does anyone know how i can get (for example) the menutag or title from content pages in the LISE summary template (if you choose field content pages it gives a dropdown of all pages and stores the id of that page). That's perfect but a then want a field shown from that page in the listing like title or menutitle.

Is there a core function for this or do i have to make an udt and sign it back with smarty ?

Thnx
Jeff
Power Poster
Power Poster
Posts: 961
Joined: Mon Jan 21, 2008 5:51 pm

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by Jeff »

Look at

Code: Select all

{page_attr}
eus
Forum Members
Forum Members
Posts: 40
Joined: Fri Jan 16, 2009 12:56 pm

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by eus »

Hi,

Ik know page_attr but that's an option for getting content out of the current page. Not what i need.

Example in summary lise template... something like this

{foreach ...}
{$pageidfield from lise} - {other $fieldfromlise}<br>
{/foreach}

will show for example in the frontend

39 - title1
41 - title2
52 - title3

to

{foreach ...}
{get menu title from cms page via $pageidfield} - {other $fieldfromlise}<br>
{/foreach}

So i want the numbers replaced by the menudescription of pageid 39 etc..
Jeff
Power Poster
Power Poster
Posts: 961
Joined: Mon Jan 21, 2008 5:51 pm

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by Jeff »

Did you actually read the help for the tag?
eus
Forum Members
Forum Members
Posts: 40
Joined: Fri Jan 16, 2009 12:56 pm

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by eus »

Of course ... http://docs.cmsmadesimple.org/tags/cmsms-tags/page_attr

But that is for the page itself not in a foreach loop. There was no option like {page_attr pageid=39 key="extra1"} or i am missing something.

It's only for LISE -> summary template in combination with Contentpages when you want some page information in the foreach loop.

I solved it this simple way to add a pointer array in the template.

UDT example menutext
=========
$db = cmsms()->GetDb();
$query = "select content_id,content_name, content_alias, menu_text from cms_content where template_id = 35";
$result = $db->Execute($query);
$menutext= Array();
while ($result && $row = $result->FetchRow())
{
$menutext[$row['content_id']] = $row['menu_text'] ;
}
$smarty->assign('menutext', $menutext);
=========

{menutext} creates array $menutext['cmspageid'] = "the menutext from that page. The "where" in the sql above is only specific for me.

So it's just a fix with only one db call.

Open the LISE summary template and add {menutext} (or any name you want) on top. You can also assign the content_alias or content_name etc.

In my case the "content pages" field named "categorie".

Then change the field where the page id is stored (Content Pages) from {$item->categorie} to {$menutext[{$item->categorie}]}.
Now it shows the menutext from that pageid in the summary template.


Example...

{foreach from=$items item=item}
<span class="verslag-title">
<a href="{$item->url}" title="{$item->title}">{$menutext[{$item->categorie}]} - {$item->title}</a>
</span>
... etc
{/foreach}

So this works for me.

It's only for LISE -> summary template in combination with Contentpages when you want some page information.

I think i can mark this as solved ... ok ?
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by velden »

In CMSMS 2.x this tag has the 'page' parameter. You can use the page ID.

It's in the help of the tag in the CMSMS installation.
eus
Forum Members
Forum Members
Posts: 40
Joined: Fri Jan 16, 2009 12:56 pm

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by eus »

Hi,

Yes you're right i missed that one..

(optional) page (int|string) - An optional page id or alias to fetch the content from. If not specified, the current page is assumed.

{page_attr key="title" page="39"} works but ...

It hasn't some page fields i needed like menu_text. But it's usable for other solutions. In a foreach loop it wil call 20x the db (with 20 entries). In my solution only one so i keep the simple workaround.

Thanks for the help
pedes
Power Poster
Power Poster
Posts: 840
Joined: Tue Jan 27, 2009 11:47 am

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by pedes »

I have the same problem...
I have the page ID coming from the LISE content-pages field definition.

But I would like to have the alias of the page
{page_attr key="alias" page="39"} or
{page_attr key="page_alias" page="39"}
is not working

How can I get the alias from a page if I have the page ID ?

Thanks for any help
Kind regards
Peter
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by velden »

Could you provide an example of what exactly you would like to accomplish? Maybe someone comes up with another approach/solution.
pedes
Power Poster
Power Poster
Posts: 840
Joined: Tue Jan 27, 2009 11:47 am

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by pedes »

I'm using LISE.
Here I have a a field definition 'content pages'.
This output the content pages id. But I need the alias for that id.

I have in LISE a list of videos (youtube number, title and discription).
Some video's need to be show on the same content page others on other content pages. There for I have the selection content page, so I can tell on what page they belong to.
I use also the category definition to tel where they can be post (on what page), in the page template i call the LISE instance whith the catgory als the alias from that page.

it is hard to explain on text
So to be short... ;)
I have list of youtube movies that need to show on pages, some pages will have 1 movie others will have 3 or more movies, so in the LiSE summary I need to group them en show them on the correct page.

Kind regards
Peter
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by velden »

I think I would try to find another approach (use the data you do get by default).

But this UDT might be useful (didn't test it very well):

Code: Select all

if (isset($params['page_id'])) {
  $page_id = $params['page_id'];
} else {
  echo 'page_id parameter must be set';
  return false;
}

if (isset($params['assign'])) {
  $assign = $params['assign']; 
} else {
  echo 'assign parameter must be set';
  return false;
}

$alias = false;
$hm = cmsms()->GetHierarchyManager();
$node = $hm->find_by_tag('id',$page_id);
if ($node) $alias = $node->get_tag('alias');
$smarty->assign($assign,$alias);
Example usage:

Code: Select all

{get_alias page_id=10 assign=palias}
alias: {$palias}<br>
I'm a little worried about efficiency when calling this UDT numerous time to get the same alias many times.
Jeff
Power Poster
Power Poster
Posts: 961
Joined: Mon Jan 21, 2008 5:51 pm

Re: LISE fielddef Content Pages stores id -> frontend id2tit

Post by Jeff »

I am not seeing the reason why you need the page alias.
pedes wrote:I'm using LISE.
Here I have a a field definition 'content pages'.
This output the content pages id. But I need the alias for that id.

I have in LISE a list of videos (youtube number, title and discription).
Some video's need to be show on the same content page others on other content pages. There for I have the selection content page, so I can tell on what page they belong to.
I use also the category definition to tel where they can be post (on what page), in the page template i call the LISE instance whith the catgory als the alias from that page.

it is hard to explain on text
So to be short... ;)
I have list of youtube movies that need to show on pages, some pages will have 1 movie others will have 3 or more movies, so in the LiSE summary I need to group them en show them on the correct page.

Kind regards
Peter
Post Reply

Return to “Modules/Add-Ons”