FLOW3提供了一种方便的方法来通过URL中的ID传递实体,并在控制器操作的参数中自动实例化它们:
class PostController extends \TYPO3\FLOW3\MVC\Controller\ActionController {
public function editAction(Post $post) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
但是你有复选框的用例怎么样,每个复选框代表一个特定的对象?将它们自动实例化也很方便:
<input type="checkbox" name="tags[]" value="1" />
<input type="checkbox" name="tags[]" value="2" />
...
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉FLOW3将$tags变量自动实例化为一个Tag对象数组?就像是:
public function setTagsAction(Post $post, /** @var Model\Tag */ array $tags) {
$post->setTags($tags);
}
Run Code Online (Sandbox Code Playgroud) 我有一个流畅的模板,我称之为常用的代码片段(称为"部分"):
模板:
<f:render partial="fbLikeBox" arguments="{settings}"/>
Run Code Online (Sandbox Code Playgroud)
部分fbLikeBox.html:
<div id="fb-root"></div><script src="http://connect.facebook.net/xxxxxxxx"></script>
<fb:like href="{settings.baseURL}/details/?guide_uid={audioguide.uid}">
</fb:like>
Run Code Online (Sandbox Code Playgroud)
如您所见,我需要将{settings}和{audioguide}数组中的值传递给partial.我怎样才能做到这一点?
我经常使用 Extbase DebugUtility ( Tx_Extbase_Utility_Debugger::var_dump($object))。它显示每个属性的附加数据,尤其是“修改”标志 - 见截图。
如何从我的控制器 (updateAction) 中访问这个“元属性”?我试过$object->getProperty->isModified和其他组合,无济于事。

我试过了:
我想我已经疯了.
使用Virtaal似乎我无法创建文件(或者我是愚蠢的?).此外,当我打开教程.po并尝试保存时,Virtaal崩溃了.
使用PoEdit我可以创建一个新项目,但在完成后他会抛出一个错误:
Poedit没有在扫描目录中找到任何文件.目录中的条目可能不正确.更新目录失败.点击"更多>>"了解详情.
在Open Language Tools TransEditor中,我创建了一个新项目,但我无法创建任何新的行/翻译.
我也试过LocFactory Editor.当我启动它时,我得到了
无法创建任何文档
在菜单中我也找不到像New File这样的东西.
那是什么?我是否愚蠢地xliff使用xliff编辑器创建文件?我应该谷歌xliff创作者还是什么?
xliff文件.我正在为一个网站编写TYPO3扩展程序.由于我使用的是Extbase Framework,因此我有一个Repository类(Tx_Extbase_Persistence_Repository),我连续执行两个SQL查询:
$query1 = $this->createQuery();
$query1->statement($sql1);
$res1 = $query1->execute();
$query2 = $this->createQuery();
$query2->statement($sql2);
$res1 = $query2->execute();
Run Code Online (Sandbox Code Playgroud)
双方$res1和$res2包含Tx_Extbase_Persistence_QueryResult.现在我想返回合并后的结果,我不知道如何完成.返回原始数组不是一个选项,因为我依赖于QueryResult类的函数,我也想避免组合sql(UNION,JOIN).我已经尝试过了:
$myResult = $this->objectManager->create('Tx_Extbase_Persistence_ObjectStorage')
foreach($res1 as $obj) {
$myResult->attach($obj);
}
//foreach $res2
Run Code Online (Sandbox Code Playgroud)
..但这会抛出一个错误("could not determine the child object type")
那么你如何正确地结合两个Tx_Extbase_Persistence_QueryResult?
编辑:
通过组合,我的意思是代替两个单独的QueryResults我想要只包含两个结果$query1以及$query2.遗憾的是,SQL-UNION或JOIN不是一个选项.
我正在通过作曲家捆绑一个Web应用程序.在我的配置部分中,定义了框架(TYPO3 Flow)所需的供应商目录:
"config": {
"vendor-dir": "Packages/Libraries",
"bin-dir": "bin"
},
Run Code Online (Sandbox Code Playgroud)
现在我有一个自定义包,它不是来自Packagist,而是来自Github.需要将此包检出到Packages/Application/Vendor.PackageName.所以我尝试使用target-dir:
"repositories": [{
"type": "package",
"package": {
"version": "dev-master",
"name": "vendor/package",
"source": {
"url": "https://github.com/mycompany/mypackagerepo.git",
"type": "git",
"reference": "master"
},
"target-dir": "Packages/Application/Vendor.Package",
}
}],
"require": {
"typo3/flow": "2.0.*",
"vendor/package": "dev-master"
}
Run Code Online (Sandbox Code Playgroud)
从Github克隆工作正常,但现在检查包
Packages/Libraries/vendor/package/Packages/Application/Vendor.Package
Run Code Online (Sandbox Code Playgroud)
这意味着vendor-dir和target-dir被连接在一起.
对于单个包,如何完全覆盖vendor-dir?谢谢你的帮助.
我有一个网站,例如:mysite.com在TYPO3中使用TemplaVoila作为模板引擎.我希望将网站的移动版本实现m.mysite.com为相同的TYPO3安装.
这怎么可能 ?
TYPO3 CMS是一个开源内容管理系统,TYPO3 Flow是一个基于PHP的应用程序框架,那么TYPO3 CMS和TYPO3 Flow之间有任何关系.请帮我找个答案.
提前致谢.
我在流体模板中有一个选择字段,并且需要 optionLabelField 的两个属性。我该如何处理?这不起作用:
<f:form.select property="person" id="person" options="{persons}" optionLabelField="prename name" />
Run Code Online (Sandbox Code Playgroud)
谢谢,皮特
typo3-flow ×9
php ×5
typo3 ×5
extbase ×3
fluid ×2
composer-php ×1
forms ×1
git ×1
html ×1
orm ×1
osx-lion ×1
partial ×1
translation ×1
typo3-6.2.x ×1
typoscript ×1
xliff ×1