我有一个网站,其中包含Web->列表视图中的一些表格,我需要在表单末尾添加一个按钮,允许BE用户使用表单上的数据创建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_DB']),我无法检索数据。
我想要做的是从文件class.tx_myext_createPDF.php中使用uid从数据库中获取记录的数据,以便在模板上使用它。
我知道这种方法很丑陋,但我无法找到更好,更简单的方法来做到这一点。有什么建议?
答案 0 :(得分:0)
最后我最终得到了这段代码:
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();
是指我添加的另一个选择器,用于指定要使用的模板。