如何自定义糖3d彩吧论坛管理器

这是另一个访客帖子 Cédric Mourizard 来自Elite Sugarcrm合作伙伴 宣传.  CEDRIC是Sugar 3d彩吧论坛经理的公认专家。

关于Sugar Community Stalwart的一些最新问题, Francesca shiekh., 我们将解决有关如何处理最初在Sugar 6中引入的3d彩吧论坛管理器的疑问。

普通的 Use Case

在本文中,我们希望解决此常用用例来自定义3d彩吧论坛管理器。在随后开会时,您希望能够生成一个有吸引力的摘要文档,其中列出了所有会议详细信息所包含的所有会议详情列表列表的那些被邀请或参加的人员列表。

我们将定制3d彩吧论坛管理者,以便我们可以 打印会议摘要 对于任何会议记录,都将所有联系人和邀请用户列出。

了解3d彩吧论坛管理器并扩展它

Sugar使用两个重要的第三方库作为3d彩吧论坛管理器实现的一部分。请注意,糖7.6.2.1用途 Tinymce. 3.5.8和 TC3d彩吧论坛. 4.6.013.  这些不是这些库的最新版本。

Sugar3d彩吧论坛 API的体系结构描述于 Developer Guide.  它可以以通常的方式定制 creating your custom 在糖下的特殊位置代码's 风俗 目录。我们需要创建一个文件 自定义/模块/会议/ sugarpdf / sugarpdf.pdfmanager.php 我们可以实现我们的逻辑以添加会议的相关记录信息:

<?php

require_once 'include/Sugarpdf/sugarpdf/sugarpdf.pdfmanager.php';

class MeetingsSugarpdfPdfmanager extends SugarpdfPdfmanager

{

    public function preDisplay()

    {

        parent::preDisplay();

        $previewMode = false;

        if (!empty($_REQUEST['pdf_preview']) && $_REQUEST['pdf_preview'] == 1) {

            $previewMode = true;

        }

        if ($previewMode === false) {

            // Select links to add

            $linksToLoad = array('contacts', 'users');

            foreach ($linksToLoad as $linkName) {

                /** @var Meeting $this->bean */

                $this->bean->load_relationship($linkName);

                $linkedBeans = $this->bean->$linkName->getBeans();

                // Prepare data

                $linkedData = array();

                foreach ($linkedBeans as $linkedBean) {

                    $linkedData[] = PdfManagerHelper::parseBeanFields($linkedBean, true);

                }

                // Assign data to template

                $this->ss->assign($linkName, $linkedData);

            }

        }

    }

}

现在我们可以使用3d彩吧论坛管理器基于3d彩吧论坛管理器创建我们的3d彩吧论坛模板,该3d彩吧论坛管理器可以在“管理”面板中找到:

<h1>Meeting Summary</h1>

Topic: {$fields.name}

Description: {$fields.description}

{if isset($contacts) and $contacts|@count gt 0}

<h2>Contact Guests</h2>

<table style="width: 100%;" border="0">

<tbody>

<tr>

<td><strong>Name</strong></td>

<td>Email</td>

<td>Phone</td>

</tr>

<!-- {foreach from=$contacts item="contact"} -->

<tr>

<td>{$contact.full_name}</td>

<td>Email {$contact.email1}</td>

<td>{$contact.phone_work}</td>

</tr>

<!--  {/foreach} --></tbody>

</table>

{/if} {if isset($users) and $users|@count gt 0}

<h2>User Guests</h2>

<table style="width: 100%;" border="0">

<tbody>

<tr>

<td><strong>Name</strong></td>

<td>Email</td>

<td>Title</td>

</tr>

<!-- {foreach from=$users item="user"} -->

<tr>

<td>{$user.full_name}</td>

<td>{$user.email1}</td>

<td>{$user.title}</td>

</tr>

<!-- {/foreach} --></tbody>

</table>

{/if}

嘿!当我将此代码复制并粘贴到 Wysiwyg编辑器它没有'看起来不一样!这里发生了什么?

你是对的!默认情况下,TinyMCE将在每一行上添加HTML P标签。避免使用文件可以通过创建配置来调整配置 自定义/包含/ tinymcefaultConfig.php

<?php

$defaultConfig = array(

    'forced_root_block' => '',

);

想要了解糖中的有关TinyMCE配置的更多信息吗?不要犹豫,读世界着名 糖开发人员指南 section on 修改TinyMCE编辑器!

您自己的模板的提示

当您考虑创建新模板时,您可以遵循其中一些提示:

  • 使用HTML注释标记添加 聪明 操作员您想要的
  • 内联风格 而不是CSS声明
  • 请记住,pdf. 生成使用 当前用户选择的语言

不要忘记执行一个 快速修复和重建 为应用程序提供自定义。

享受新的3d彩吧论坛摘要 for your meetings!

匿名的
父母
没有数据
评论
  • $ core_v2_ui.getresizedimagehtml($ compual.user.avatarurl,44,44,44,“%{border ='0px',alt = $ compougin.user.displayname,resizemethod ='zoomandcrop'}”)
    $ core_v2_ui.userpresence($ comminy.user.id) $ compount.user.displayname. 超过2020年前
    此评论正在审核。
孩子们
没有数据