heimrichhannot / contao-share
一个基于bootstrap的pdf打印、打印和社交分享功能的辅助模块。
Requires
- php: ~5.6 || ^7.1 || ^8.0
- ausi/slug-generator: ^1.1
- contao-community-alliance/composer-plugin: ~2.4 || ~3.0
- contao/core-bundle: ^3.5.1 || ~4.1
- heimrichhannot/contao-request: ^1.1
- kigkonsult/icalcreator: ^2.22
Suggests
- mpdf/mpdf: ^7.0
This package is auto-updated.
Last update: 2024-09-07 08:33:10 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
- 邮件到
文章设置
从版本1.5开始,您也可以打印完整的文章。
-
设置一个新模型,其中启用分享功能(=已将addShare添加到模块调色板,模块类型无关紧要)。此模块将包含文章的设置。
-
在文章设置页面中检查“添加聚合”并选择之前的模块设置。
-
在您的文章模板中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'来简单地调用浏览器打印窗口,以打印整个页面。