首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从TYPO3后端的TCE记录中生成PDF

从TYPO3后端的TCE记录中生成PDF
EN

Stack Overflow用户
提问于 2014-02-15 22:46:25
回答 1查看 118关注 0票数 0

我有一个站点,在Web->List视图中有一些表,我被要求在表单的末尾添加一个按钮,允许用户使用模板创建包含表单上数据的PDF文件。

我知道如何创建按钮,也知道如何创建PDF文件,但我不知道如何将表单的数据链接到类以生成PDF。

我不知道其他方法来做这个,即使有扩展(我没有找到任何东西)。这是我的方法:

我在表格上有个按钮:

当用户单击该按钮时,将打开一个新窗口,并动态创建文档。按钮上使用的代码如下:

代码语言:javascript
复制
jQuery("#create_pdf").click(function(){
  window.open("../typo3conf/ext/my_ext/lib/class.tx_myext_createPDF.php?uid='.$PA['row']['uid'].'");
});

这在模板中运行得很好,但我无法从class.tx_myext_createPDF.php访问数据库框架(例如$GLOBALS‘’TYPO3 3_DB‘),也无法检索数据。

我想要做的是从文件class.tx_myext_createPDF.php中使用uid从数据库获取记录的数据,以便在模板上使用它。

我知道这种方法很难看,但我想不出一个更好、更简单的方法来做到这一点。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-17 02:14:14

最后,我得到了以下代码:

代码语言:javascript
复制
jQuery("#create_pdf").click(function(){
    var pdf = jQuery("#select_pdf").val();
    if (pdf==null){
        alert("Please select an option.");
    } else {
        jQuery.getJSON(
            "../index.php",
            {
                eID:"myext",
                action:"createPDF",
                record:'.$PA['row']['uid'].',
                pdf: pdf
            },
            function(data) {
                if(data){
                    jQuery("#pdf_link").html(data);
                } else {
                    alert("Invalid Request.");
                }
            }
        );
    }
});

由于我需要TYPO3框架从数据库中获取数据,所以我决定使用eID Ajax功能。

不是动态地创建和获取文件,而是在服务器中创建文件并将链接返回给它。

这个方法运行得很好,也没有我以前的方法那么难看。

PS:jQuery("#select_pdf").val();指的是我为指定要使用的模板而添加的附加选择器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21804724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档