我对powermail 2.x扩展程序有疑问。
我的实际要求是,我有一个表单(自定义扩展程序),通过它我可以使用邮政编码搜索某些地方。因此,一旦用户提交了值(例如邮政编码),网站将被重定向到页面,我将该邮政编码下的所有可用位置列为链接。当用户点击该链接时,网站将被重定向到另一个我配置了powermail 2.x扩展名的页面。我要实现的是,基于点击的链接(我将通过链接传递place_id
,每个地方都有一些会员类型)。我想在单选按钮中显示一组成员类型(从另一个表中获取)使用来自url的参数)。这个项目也应该在预览和邮件中。
我们可以使用$ GLOBALS [' TYPO3_CONF_VARS'] [' EXTCONF'] [' powermail'] [' PM_FieldHook&#39 ;]在powermail 1.6中?
我们如何在powermail 2.x ??
中实现相同的功能任何帮助都会被挪用?
答案 0 :(得分:2)
最后,我自己设法解决了这个问题。
你所要做的就是,
在powermial表单中添加一个新的复选框字段,在扩展选项卡中,您可以指定类似于lib.products的typoscript变量。
lib.products = CONTENT
lib.products {
table = pages
select {
pidInList = xxx
}
renderObj = COA
renderObj {
10 = COA
10 {
10 = TEXT
10.dataWrap = {field:title}[\n]
}
}
}
如果您希望在powermail字段中创建自定义字段类型,上面的代码将在前端生成动态单选按钮。
tx_powermail.flexForm.type.addFieldOptions.new = Name of the field
tx_powermail.flexForm.type.addFieldOptions.new.dataType = 1 (If it is an array)
之后添加以下的typoscript代码
plugin.tx_powermail.view {
partialRootPath >
partialRootPaths {
10 = EXT:powermail/Resources/Private/Partials/
20 = EXT:extension/Resources/Private/Partials/
}
}
并创建一个模板文件EXT:extension/Resources/Private/Partials/New.html
。在该文件中,您可以包含字段(复选框单选按钮或选择框)。
之后
$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Extbase\SignalSlot\Dispatcher');
$signalSlotDispatcher->connect(
'In2code\Powermail\Controller\FormController',
'formActionBeforeRenderView',
'HEV\Extension\Controller\FormController',
'customfucntion',
FALSE
);
我们必须实现powermail 2.X
中提供的信号槽并在
中/**
* @param \In2code\Powermail\Domain\Model\Form $form
* @param \In2code\Powermail\Controller\FormController $pObj
*/
public function manipulateMailObjectOnCreate($form, $pObj) {
$sectionNr = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP("SID");
if ( !isset( $sectionNr ))
return ;
foreach ( $form as $forms ){
foreach( $forms->getPages() as $key => $pages){
foreach ( $pages->getFields() as $fields ){
switch ( $fields->getType() ){
case "new":
$fields->setMandatory(TRUE);
$fields->setCreateFromTyposcript('lib.products');
break;
}
}
}
}
}