我有一个站点,在Web->List视图中有一些表,我被要求在表单的末尾添加一个按钮,允许用户使用模板创建包含表单上数据的PDF文件。
我知道如何创建按钮,也知道如何创建PDF文件,但我不知道如何将表单的数据链接到类以生成PDF。
我不知道其他方法来做这个,即使有扩展(我没有找到任何东西)。这是我的方法:
我在表格上有个按钮:

当用户单击该按钮时,将打开一个新窗口,并动态创建文档。按钮上使用的代码如下:
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从数据库获取记录的数据,以便在模板上使用它。
我知道这种方法很难看,但我想不出一个更好、更简单的方法来做到这一点。有什么建议吗?
发布于 2014-02-17 02:14:14
最后,我得到了以下代码:
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();指的是我为指定要使用的模板而添加的附加选择器。
https://stackoverflow.com/questions/21804724
复制相似问题