为privatemsg制作收件箱块 -- 7 领域 和 blocks 领域 和 privatemsg 领域 drupal 相关 的问题

Make an Inbox block for privatemsg


0
vote

问题

中文

问题

我想制作一个块用于从用户打印消息。

我已经有一个代码片段打印了我最后5条消息,但我想添加更多的信息,如作者和日期。

代码片段

  global $user;  $query = _privatemsg_assemble_query('list', $user, 'inbox');  $list = array(); $count=0; foreach ($query->execute() as $thread) {   if ($count <=5) {     $list[] = l($thread->subject, 'messages/view/'. $thread->thread_id);     $count++;   } else {      break;   } }  if ($list) {    print theme('item_list', array('items'=>$list)); }    else { echo '<p>You still have no message yet</p>'; }   
英文原文

Question

I would like to make a block for printing messages from the user.

I already have a snippet of code which print me the last 5 messages, but I want to add more information like the author and the date.

Snippet of code

global $user;  $query = _privatemsg_assemble_query('list', $user, 'inbox');  $list = array(); $count=0; foreach ($query->execute() as $thread) {   if ($count <=5) {     $list[] = l($thread->subject, 'messages/view/'. $thread->thread_id);     $count++;   } else {      break;   } }  if ($list) {    print theme('item_list', array('items'=>$list)); }    else { echo '<p>You still have no message yet</p>'; } 
        
 
 

回答列表

0
 
vote

使用 print_r($thread); 在您的代码中给出了这个。

  stdClass Object (     [thread_id] => 2     [subject] => Testing     [last_updated] => 1443004733     [has_tokens] => 0     [is_new] => 0     [last_reply_to_mid] => 2     [participants] => user_187,user_298 )   

下面给出了参与者名称的数组。

      $participants = $thread->participants;     $msg_users = explode(",",$participants);     $prefix = 'user_';      $authors = array();     foreach ($msg_users as $msg_user) {         if (substr($msg_user, 0, strlen($prefix)) == $prefix) {         $msg_user = substr($msg_user, strlen($prefix));         $msg_user_names = user_load($msg_user)->name;         $authors[] = $msg_user_names;     } }   

和下面的东西给出了日期。

  print date("Y-m-dTH:i:s", $thread->last_updated);   

我相信你可以解决这个问题。

ps。我已经想要这个确切的事情,所以感谢片段:)

 

Using print_r($thread); in your code gives this.

stdClass Object (     [thread_id] => 2     [subject] => Testing     [last_updated] => 1443004733     [has_tokens] => 0     [is_new] => 0     [last_reply_to_mid] => 2     [participants] => user_187,user_298 ) 

The below gives an array of the participants names.

    $participants = $thread->participants;     $msg_users = explode(",",$participants);     $prefix = 'user_';      $authors = array();     foreach ($msg_users as $msg_user) {         if (substr($msg_user, 0, strlen($prefix)) == $prefix) {         $msg_user = substr($msg_user, strlen($prefix));         $msg_user_names = user_load($msg_user)->name;         $authors[] = $msg_user_names;     } } 

And something like the below gives the date.

print date("Y-m-d\TH:i:s\Z", $thread->last_updated); 

I'm sure you can work out what to based on that.

ps. I've wanted this exact thing so thanks for the snippet :)

 
 
 
 
0
 
vote

niall墨菲几乎总结了op想要的一切,但我正在寻找能够获得消息的 body 。所以对于那些正在寻找解决机构的人(或与线程有关的其他东西),这就是我发现的。

这个答案被证明是一个很棒的开始: https://drupal.stackexchange.com//220672/61171 < / a>

如上所述,您可以使用 privatemsg_lthread_load()函数加载整个线程/消息数组,并获得您需要的所有内容。

所以我使用OP示例中的代码来获取线程ID和循环我加载了以下内容:

  $threadArray = privatemsg_thread_load($thread->thread_id, $account = NULL, $start = NULL, $useAccessDenied = FALSE);   

您可以整理到满足您的需求。但无论如何,现在如果你这样做:

  print_r($threadArray)   

您将看到整个线程阵列并拾取所需的内容。例如才能获得身体,只要去:

  $body = $threadArray['messages'][$thread->thread_id]->body;   
 

Niall Murphy pretty much summed up everything the OP wanted, but I was looking for the ability to also get the body of the message. So for those who are looking for a solution to get the body (or something else related to the thread), here's what I found.

This answer proved to be a great start: https://drupal.stackexchange.com/a/220672/61171

As described there, you can use the privatemsg_thread_load() function to load the entire thread/message array and get pretty much everything you need.

So I used the code in the OP's example to get the thread id and in the loop I loaded the thread with this:

$threadArray = privatemsg_thread_load($thread->thread_id, $account = NULL, $start = NULL, $useAccessDenied = FALSE); 

You can tidy that up to fit your needs. But anyway, now if you do:

print_r($threadArray) 

you will see the whole thread array and pick up what you need. For example to get the body, just go:

$body = $threadArray['messages'][$thread->thread_id]->body; 
 
 

相关问题

1  Ubercart订单完成不适用于支持  ( Ubercart order completion not working propperly ) 
我完成了订单的问题。完成后,我被重定向到填充的checkoutpane,并且购物车不会空。 在电子邮件模板上工作时,我在我的 10:00 AM to 3:00PM0 中犯了错误,所以邮件没有工作。令我惊讶的是,我被重定向到我制作的"谢谢" 页面,购物车是emty!我修复了电子邮件模板重定向再次停止工作。 日志报告: ...

0  如何使用Facetapi奖金重写方框项标签?  ( How do i rewrite a facet item label using facetapi bonus ) 
我正在查看 facet api奖金模块在重写部分中的代码示例面部通过回调函数 function HOOK_facet_items_alter(&$build, &$settings) { if ($settings->facet == "YOUR_FACET_NAM...

0  如何发送明文电子邮件?  ( How do i send plaintext email ) 
我一直在使用 drupal_mail() 和mimemail的组合来发送HTML格式的电子邮件;它正在运作正常。但是,在某些情况下,我也需要能够发出明文电子邮件,而不是一个空的HTML模板,而是一个完全原始的,明文消息。 我无法弄清楚如何禁用这些消息的Mimemail,同时将Mimemail留给其他信息。 如何执行此...

2  在分层刻面显示中显示父项  ( Show parent items in hierarchical facet display ) 
分类术语如下所示: Parent category 1 - Child category 1 - Child category 2 Parent category 2 - Child category 3 - Child category 4 "空关法行为" 设置为"不显示面部" 。 "扁平层次结构" 关...

2  我应该使用哪个php / mysql版本?  ( Which php mysql version should i use ) 
我们计划将Drupal 6(使用MySQL 5.5x和PHP 5.x)站点更新到Drupal 7. 我应该选择哪个版本的PHP和MYSQL? ...

1  如何将Google Scholar Meta标记添加到自定义内容类型?  ( How do i add google scholar meta tags to a custom content type ) 
我使用Drupal 7,我有自定义内容类型命名为"期刊" 我希望将Google Scholar Meta标签添加到"日志" 节点。 像这样: <meta name="citation_journal_title" content="Journal Name"> <meta name="citation_au...

1  我如何设置Drupal,因此人们可以在使公开开发之前合作  ( How can i set up drupal so people can collaborate on content development prior t ) 
我有一个小网站,从模块的角度来看,我想保持尽可能简单。 除了显示内容之外,该网站的主要目的是促进协作创作和发布:文章,产品更新和案例研究。 为了实现这一目标,我希望个别贡献者能够创建&amp;在公开发布之前编辑内容(只是清楚,我不是在这里寻找并发编辑)。 这个看似简单的要求让我陷入僵尸,因为未发布的内容似乎无法通...

1  ajax呼叫后的设置  ( Settings after ajax call ) 
我有一个页面,包含在自定义主题函数(模板)中形成的大量产品(带商业表单)。 我通过ajax更新它们,但更新产品的形式不起作用。我Googled,它是因为 Drupal.settings javascript表单需要更新。我试图以我的Ajax回调函数这样做。 $javascript = drupal_add_...

0  在哪里设置包装模块的CONFIN $表单输入的HTML?  ( Where do i set the html that wraps a modules config form inputs ) 
我正在将一个模块从一个站点传送到另一个站点。除模块表单中一切都很好(我设置设置,上传图像等)。在原始网站上,这很好地包裹在一个表中,每个部分是一行,但在我的新网站上,表单元素刚刚放在另一个之后,垂直出现。尽管我几乎逐字复制了模块.tpl和.module文件。 我是德鲁佩尔的新手,所以我有点努力。有人会知道它在哪里(...

0  我的一些网站的页面正在从其他目录中检索.css文件  ( Some of my sites pages are retrieving the css files from a different directory ) 
我一直在在我的本地机器上主题页面页面。这一切都很好,但现在我已经将更改推向了远程服务器,并查看该站点正在尝试从错误的目录中检索.css文件。 在我的本地机器上,这很好。在远程计算机上,似乎Drupal正在尝试从网站检索.css文件: @import url("http:/mysite.com/sites/all/...

0  如何为曝光过滤器中的视图中的字段设置默认值(预先填充)?  ( How can i set default value prepopulate for field in views exposed filter ) 
我试图使用从 ...

0  获取hook_form_form_id_alter使用#ajax回调  ( Getting hook form form id alter to work with ajax callback ) 
注意:这里有一些信息可能是无关的,因为我从更广泛的问题开始。我仍然认为上下文可能有助于帮助,所以我留下了细节。随着跳过代码和问题,并回来进行细节。 详细信息 我有一个具有布尔字段的节点表单,以及包含多值字段收集字段的多值字段收集字段,其中包含Boolean字段。由于这没什么意义,让我试着将它图表。 (当然还有其他字...

2  如何为有机组帖执行Facebook样式通知? [关闭]  ( How to implement facebook style notifications for organic group posts ) 
关闭。这个问题需要更多聚焦。它目前不接受答案。 想要改进这个问题?更新问题,以便仅通过编辑此帖子。 关闭 1年前。 ...

1  如何更改规则操作变量?  ( How can i alter rules action variable ) 
我有一个自定义规则操作,它返回一个值为动作变量。 我使用以下代码 return array('array_added' => $item); 如何进一步改变此变量? ...

1  在可排序表列上显示两个排序图标  ( Display both sort icons on sortable table columns ) 
我正在使用drupal的主题表函数来构建自定义表。 我的表上的所有列都是可排序的。我想直观地表明它们是通过在列标题中放置升序和下降的排序图标来排序。 要指示哪种排序是活动的,我想仅显示一个图标,对应于当前排序(升序或降序)。 这是我有的: 这是我想要的: 如何完成此操作? 到目前为止,我所获得的最接近的是...

3  以编程方式创建节点  ( Programmatically creating a node ) 
我正在尝试使用cron作业创建内容,其中包含仅包含标题和正文的自定义节点类型;内容类型是MyContent(用于参数缘故)。 我正在尝试使用实体API模块,因为显然它应该更简单。 从示例工作,我写下了以下代码。 $values = array( 'type' => 'mycontent', 'ui...

0  重定向到外部URL将外部URL添加到当前URL  ( Redirect to external url adds external url to current url instead ) 
我正在使用wampserver,我正在尝试将访问者重定向到外部URL(反过来最终将它们发送回我的Drupal-site上的另一个页面)。 我的网站在Wampserver上称为localhost / test,我使用 drupal_goto(www.example.com, array( 'external' ...

1  如何禁用模块警告“用户警告:文件系统中缺少以下模块”仅在update.php上可见?  ( How to disable module warning user warning the following module is missing fro ) 
使用update.php时,我有警告。使用时,此警告不可见:润滑CC所有 用户警告:文件系统中缺少以下模块: AAA。有关如何解决此问题的信息,请参阅文档 页。在_drupal_trigger_error_with_delayed_logging()(第1128行) C: www arlande.nl...

1  如何将WebForm分析数据导出到Excel表?  ( How can i export webform analysis data to excel sheet ) 
屏幕截图: 问题: 我想将所有 Analysis datas导出到 excel sheet 。 我正在使用drupal Option 1 Option 2 Option 3 0 和 Option 1 Option 2 Option 3 1 。 ...

1  视图批量操作跳过确认  ( Views bulk operations skip confirmation ) 
我已经为vbo定义了自定义操作。 function expense_action_info() { return [ 'expense_finalize_action' => [ 'type' => 'node', 'label' => t('Approve and final...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.