在Plone中显示新闻项创建者或所有者全名

在Plone中显示新闻项创建者或所有者全名,plone,plone-4.x,Plone,Plone 4.x,我试图在列表中显示每个新闻项目的全名。目前我只有用户id昵称 在现有的.pt文件中是否有一种简单的方法来显示创建者或所有者的全名而不是昵称 该页面也必须适用于匿名用户。我的意思是-这个页面必须是公开的 一些细节: 此示例取自 此示例取自,您可以从以下代码中获得很多启发: 您可以从以下代码中获得很多灵感: 最好的。谢谢最好的。谢谢在@mathias回答之前,我已经准备好了一半。它基本上是相同的,但指向一个类似的用例,并警告性能,所以我无论如何都要发布:pI在@mathias回复之前准备好一半。它

我试图在列表中显示每个新闻项目的全名。目前我只有用户id昵称

在现有的.pt文件中是否有一种简单的方法来显示创建者或所有者的全名而不是昵称

该页面也必须适用于匿名用户。我的意思是-这个页面必须是公开的

一些细节:

此示例取自


此示例取自

,您可以从以下代码中获得很多启发:


您可以从以下代码中获得很多灵感:


最好的。谢谢最好的。谢谢在@mathias回答之前,我已经准备好了一半。它基本上是相同的,但指向一个类似的用例,并警告性能,所以我无论如何都要发布:pI在@mathias回复之前准备好一半。它基本上是相同的,但指向一个类似的用例,并警告性能,所以我还是发布了:p
<div class="container-fluid news-list-container"
     tal:define="news_items python:context.getFolderContents(contentFilter={'portal_type':['News Item'], 'sort_on': 'Date', 'sort_order': 'descending',});
                 Batch python:modules['Products.CMFPlone'].Batch;
                 b_size python:4;
                 b_start python:0;
                 b_start request/b_start | b_start;
                 batch python:Batch(news_items, b_size, int(b_start), orphan=0);"
     tal:condition="news_items">

  <div class="news-list-items">

    <tal:items tal:repeat="news_item batch">

      <!-- News item -->
      <div class="row news-item"
           tal:define="news_object python:news_item.getObject();
                       news_date python:news_object.getField('modification_date').getAccessor(news_object)();
                       news_title python:news_object.getField('title').getAccessor(news_object)();
                       news_description python:news_object.getField('description').getAccessor(news_object)();
                       news_image python:news_object.getField('image').getAccessor(news_object)();
                       news_url python:news_object.absolute_url();
                       news_creators python:news_object.getField('creators').getAccessor(news_object)(); .... ...
<tal:fullname define="membership context/portal_membership;
                      info python:membership.getMemberInfo(user.getId());
                      fullname info/fullname">
    You are are <span class="name" tal:content="fullname" />
</tal:fullname>
    <tal:name tal:condition="item_creator"
        tal:define="author python:context.portal_membership.getMemberInfo(item_creator)">
      <span i18n:translate="label_by_author">Posted by
      <a href="#"
         title="Read more posts by this author"
         tal:attributes="href string:${context/portal_url}/author/${item_creator}"
         tal:content="python:author and author['fullname'] or item_creator"
         tal:omit-tag="not:author"
         i18n:domain="scrawl"
         i18n:name="author"
         i18n:attributes="title author_title">
        Bob Dobalina
      </a>
      </span>
    </tal:name>
@memoize
def userid2fullname(self, userid):
     pm = api.portal.get_tool('portal_membership')
     memberinfo = pm.getMemberInfo(userid)
     return memberinfo and memberinfo['fullname'] or userid