heimrichhannot/contao-share

一个基于bootstrap的pdf打印、打印和社交分享功能的辅助模块。

安装: 906

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 7

分支: 0

开放问题: 0

类型:contao-module

1.12.4 2024-05-07 07:41 UTC

README

一个基于bootstrap的pdf打印、打印和社交分享功能的辅助模块。

特性

  • 新闻和日历支持
  • 向模块和文章添加聚合功能
  • 聚合选项
    • 打印PDF
    • 通过自定义模块模板打印或调用默认浏览器打印功能
    • ical事件
    • 邮件到
    • 反馈
    • Facebook分享
    • Twitter分享
    • Google+分享

用法

模块设置

将分享添加到您的模块调色板

{share_legend},addShare;添加到您的模型默认调色板。

示例

$dca = &$GLOBALS['TL_DCA']['tl_module'];
$dca['palettes']['newsreader'] = str_replace(
    '{image_legend',
    '{share_legend},addShare;{image_legend',
    $dca['palettes']['newsreader']
);
生成分享输出

要在您的模块中显示分享按钮,您需要将Settings->generate()的返回值添加到您的模板。

示例

// Module class: 

public function compile()
{
    ...
    $this->generateShare();
    ...
}

protected function generateShare()
{
    if ($this->addShare)
    {
        $objShare = new \HeimrichHannot\Share\Share($this->objModel, [Entity to print]);

        $this->template->share = $objShare->generate();
    }
    return null;
}

// Template file:

<?= $this->share ?>

将分享URL添加到模板

// Add this to the generateShare method from above, after calling generate():
if ($this->module->share_addTemplateLinks)
{
    $this->template->shareUrls = $objShare->generateShareUrls();
}

这将向模板添加一个数组,其中包含以下键,仅包含URL

  • 邮件到
  • facebook
  • twitter
  • linkedin
  • whatsapp

文章设置

从版本1.5开始,您也可以打印完整的文章。

  1. 设置一个新模型,其中启用分享功能(=已将addShare添加到模块调色板,模块类型无关紧要)。此模块将包含文章的设置。

  2. 在文章设置页面中检查“添加聚合”并选择之前的模块设置。

  3. 在您的文章模板中echo $this->share

自定义PDF文件名称

您的模块必须实现ModulePdfReaderInterface。使用getFileName()的返回值作为PDF文件名。不要添加.pdf,它将由模块本身添加。

1

打印页面

要针对您的自定义模块打印布局,URL必须包含带有模块ID值的print参数。(例如:?print=57)。默认打印链接会这样做,并将创建一个新标签页/窗口,在用户打印窗口后立即关闭它。要调试打印布局,请将pDebug=1参数添加到打印URL(例如:?print=57&pDebug=1)。

对于模板中不应打印的区域,在区域之前添加<!-- print::stop -->,之后添加<!-- print::continue -->

<!-- print::stop -->
DO NOT PRINT THIS!
<!-- print::continue -->

还可以通过在模块设置中的聚合选择中检查'printWithoutTemplate'来简单地调用浏览器打印窗口,以打印整个页面。