我可以在三个不同的地方编写TypoScript:在模板中,有常量字段和设置字段,在每个页面中都有一个TSConfig字段.但是,似乎每个TypoScript命令都需要进入特定字段.大多数时候,我必须先尝试查找给定配置是进入模板设置还是进入根页面TSConfig.
为什么写TypoScript有三个不同的地方?他们每个人的用途是什么?
我试图通过TYPO3 CMS 6.0上的typoscript使用extbase插件.我使用了以下代码,我在网上重复了一遍:
10 = USER
10 {
userFunc = tx_extbase_core_bootstrap->run
pluginName = Sermons
extensionName = VmfdsSermons
switchableControllerActions {
Sermon {
1 = byLatestSeries
2 = list
3 = show
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这只会给我以下错误:
#1289386765: Could not analyse class:Tx_VmfdsSermons_Controller_SermonController maybe not loaded or no autoloader?
Run Code Online (Sandbox Code Playgroud)
在我看来好像tx_extbase_core_bootstrap->run还没有使用命名空间,因此试图加载一个Tx_VmfdsSermons_Controller_SermonController应该调用它时调用的类\TYPO3\VmfdsSermons\Controller\SermonController.有没有解决的办法?
"流体动力TYPO3"(如http://fedext.net/所述)应该理解什么?它对集成有什么好处?
TYPO3 6.x还有其他现代模板方法,这是最佳实践切换到现在吗?
我不了解目前的不同系统,我需要澄清一些.
问题的背景,我在寻找什么:
我有一些内容要在TYPO3网站的多个页面上显示.我可以将其插入到模板中,但我也希望在Rich Text Editor中可以编辑该内容.
所以我有了创建隐藏页面的想法,但我不知道如何将这些内容插入到模板中.
它需要selecttyposcript声明吗?
此外,作为后续问题,我可以添加一些内容,仅包含将此页面ID作为页面层次结构中的直接父级的页面.
我正在通过以下方式将JQuery加载到我的TYPO3页面中:
page.headerData.10.value = <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
我包括我的这样的JavaScript:
page.includeJS {
file20 = fileadmin/templates/myjq.js
}
Run Code Online (Sandbox Code Playgroud)
重点是,我需要首先加载JQuery.但TYPO3把它放在我的脚本之后.我怎么换掉它?
谢谢
我有一个流畅的模板,我称之为常用的代码片段(称为"部分"):
模板:
<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.我怎样才能做到这一点?
我使用Typo3 4.6表单向导在页面上创建了一个表单,但在页面上呈现为
<!-- Mail form inserted: [begin] -->
<fieldset class="csc-mailform">
<div class="csc-mailform-field">###LABEL### ###FIELD###</div>
</fieldset>
<!-- Mail form inserted: [end] -->
Run Code Online (Sandbox Code Playgroud)
...而不是显示表格.我对Typo3完全不熟悉.我如何让它工作?
我尝试将事件的开始日期与当前日期进行比较,以便仅显示下一个事件.这是我在eventRepository中的尝试:
public function findNext() {
$query = $this->createQuery();
$query->matching(
$query->greaterThanOrEqual('datum_beginn', new \DateTime('midnight'))
);
return $query->execute();
}
Run Code Online (Sandbox Code Playgroud)
但结果并不像预期的那样.这是结果查询:
SELECT events.* FROM events WHERE events.datum_beginn >= 1413669600 AND ...
Run Code Online (Sandbox Code Playgroud)
如您所见,DateTime被转换为时间戳.如何在查询中使用MySQL NOW()或正确使用DateTime?
我有假设的Zoo扩展,其中我Animal使用photo字段和FrontEnd(FE)插件与典型的CRUD操作建模.photo字段是典型的FAL FileReference,它在后端(BE)中使用常见的TCA IRRE配置完美地工作.
我能够成功将文件上传到存储,它在Filelist模块中可见,我可以在动物编辑期间在BE中使用它,无论如何我无法FileReference在我的FE插件中创建.
我目前的方法如下:
/**
* @param \Zoo\Zoo\Domain\Model\Animal $animal
*/
public function updateAction(\Zoo\Zoo\Domain\Model\Animal $animal) {
// It reads proper uploaded `photo` from form's $_FILES
$file = $this->getFromFILES('tx_zoo_animal', 'photo');
if ($file && is_array($file) && $file['error'] == 0) {
/** @type $storageRepository \TYPO3\CMS\Core\Resource\StorageRepository */
$storageRepository = GeneralUtility::makeInstance('\TYPO3\CMS\Core\Resource\StorageRepository');
$storage = $storageRepository->findByUid(5); // TODO: make target storage configurable
// This adds uploaded file to the storage perfectly
$fileObject = $storage->addFile($file['tmp_name'], …Run Code Online (Sandbox Code Playgroud) 我最近从TYPO3 7.6升级到8.7并发现使用
<![CDATA[ { ]]>
Run Code Online (Sandbox Code Playgroud)
逃脱流体中的花括号不再有效.
任何建议表示赞赏?
typo3 ×10
extbase ×5
fluid ×3
typoscript ×3
fal ×1
fedext ×1
file-upload ×1
forms ×1
formwizard ×1
javascript ×1
partial ×1
tsconfig ×1
typo3-6.2.x ×1
typo3-8.x ×1
typo3-flow ×1