eZ Publish中链接的动态网址和标题

时间:2013-07-19 07:50:53

标签: url hyperlink ezpublish

我在菜单中使用此代码:

{def $menu = treemenu( $module_result.path, false(), array( 'folder', 'article', 'page', 'listing', 'blog' ), 1, 2, true )}
{if $menu}
    <a href={$module_result.path[1].url_alias|ezurl} class="leftnavtop{cond(eq($current_node.node_id, $module_result.path[1].node_id), 'ON', '')}">{$module_result.path[1].text|shorten(24)|wash()}</a>
    {foreach $menu as $key => $item}
        <a class="{concat('leftnav', cond($item.level|eq(1), '2', ''), cond($item.is_selected, 'ON', ''))}" href={$item.url_alias|ezurl()}>{$item.text|shorten(32)|wash()}</a>
    {/foreach}
{/if}

此链接名称取自“short_name”,url也来自“short_name”。

是否可以更改一点代码,因此我从“name”获取链接名称,并将url保留为“short_name”。

名称:链接名称

短名称:url example

最终解决方案:链接名称(但请访问www.mysite.com/url-example)

希望我解释得很好。

我尝试了一些解决方案,但我没有运气。

提前致谢

2 个答案:

答案 0 :(得分:0)

我通常不会使用treemenu()生成我的菜单,因此我不知道您是否可以访问data_map中的$item。但是,我会尝试这样做:

{def $menu = treemenu( $module_result.path, false(), array( 'folder', 'article', 'page', 'listing', 'blog' ), 1, 2, true )}
{if $menu}
    <a href={$module_result.path[1].url_alias|ezurl} class="leftnavtop{cond(eq($current_node.node_id, $module_result.path[1].node_id), 'ON', '')}">{$module_result.path[1].text|shorten(24)|wash()}</a>
    {foreach $menu as $key => $item}
        <a class="{concat('leftnav', cond($item.level|eq(1), '2', ''), cond($item.is_selected, 'ON', ''))}" href={$item.url_alias|ezurl()}>{$item.data_map.name.content|wash()}</a>
    {/foreach}
{/if}

就像我说的那样,我不确定你是否可以从data_map访问$item,但如果你这样做,你应该能够通过它获得真实的名字。

答案 1 :(得分:0)

您是否尝试在课堂描述中修改网址和名称模式? 您可以使用<short_name|name>将第一个非空白字段用作节点网址或名称。