我正在使用wkhtmltopdf 0.12.2.1来创建发票等等.
我需要在pdf的每个页面上显示折叠标记.如果内容大于1,如何在每个页面上使用javascript重复它们?
这是我的基本标记
<!DOCTYPE html>
<html>
<head>
<title>PDF Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body id="pdf-page">
<div class="marks">
<div class="mark mark-top mark-left"></div>
<div class="mark mark-top mark-right"></div>
<div class="mark mark-middle mark-left"></div>
<div class="mark mark-bottom mark-left"></div>
<div class="mark mark-bottom mark-right"></div>
</div>
<div id="print-area">
<div id="letter-head"></div>
<div id="subject-line">Subject</div>
<div id="document-content">
....
....
....
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
它看起来基本上就像Image
首先,我使用的是 SilverStripe 3.2 RC1。
\n\n如果您单击网格字段项,我需要修改它的显示字段。为了实现此目的,我正在修改“GridFieldDetailForm”字段,如下所示
\n\n$bundleGridForm = $bundleGridConfig->getComponentByType(\'GridFieldDetailForm\');\n\n$detailFormFields = FieldList::create(\n TabSet::create(\n \'Root\',\n Tab::create(\n \'Haupt-Inhalt\',\n CheckboxSetField::create(\n \'ManyMany[AvailableVariations]\',\n \'Verf\xc3\xbcgbare Variationen\',\n $HELP-NEEDED-HERE->VariationItems()->map()->toArray()\n )\n )\n )\n);\n\n$bundleGridForm->setFields($detailFormFields);\nRun Code Online (Sandbox Code Playgroud)\n\n正如您所看到的,我只想显示一个 CheckboxSetField 并且作为源,$HELP-NEEDED-HERE->VariationItems()->map()->toArray()我想使用当前选定/单击的项目的关系 (VariationItems)。
问题是我不知道如何获得这种关系,因为 $this 当然引用了我的网格字段所在的类,而不是单击的项目。
\n\n也许handleItem()函数是我所需要的,因为它返回GridFieldDetailForm_ItemRequest类,我可以在其中调用getRecord()函数。但所有这一切都假设我从网格字段中获取使用handleItem()函数的请求,并且我绝对不知道如何获取该记录。
\n\n对于任何帮助,我将非常感激。
\n\n此致
\n我正在尝试提交在控制器扩展中创建的表单.提交后,它会抛出一个错误
可悲的是,我不知道为什么或如何解决这个问题,而不会失去验证中的构建等等.
我可以手动将表单操作更改为"doSectionForm",而不是我将收到表单数据但已丢失所有验证.
这是我的代码的摘录.
<?php
class SectionsPageControllerExtension extends DataExtension {
private static $allowed_actions = [
'SectionForm'
];
public function SectionForm($id = null) {
$fields = FieldList::create(
HiddenField::create('SectionFormID')
->setValue($id)
);
$required = RequiredFields::create();
$actions = FieldList::create(
FormAction::create('doSectionForm', 'Absenden')
);
$form = Form::create($this->owner, 'SectionForm', $fields, $actions, $required);
// $form->setFormAction($this->owner->Link() . 'doSectionForm');
return $form;
}
}
public function doSectionForm($data) {
echo '<pre>';
print_r($data);
}
}
Run Code Online (Sandbox Code Playgroud)