我正在使用TYPO3扩展feupload,它依赖于extbase.这是我第一次接触extbase.但问题是关于extbase的一般情况.
我希望TYPO3在查询中默认包含通常的"IN(当前页面)"pid检查,除非另有说明 - 但在extbase中似乎有所不同.或者至少在我的情况下,它不起作用.
在扩展中,有一个常量/设置设置,可以设置storagePid.这有效.但我们不希望为每个页面手动调整该参数.
persistence {
# cat=feupload/persistence; type=integer; label=Storage PID of records
storagePid =
}
Run Code Online (Sandbox Code Playgroud)
那么如何让extbase按预期自动获取当前页面的PID?
(子问题:我已经尝试在设置中设置plugin.tx_pluginname.persistence.storagePid.data = {page:uid},但这不起作用.TS看起来像什么工作?)
我在TYPO3 4.5.26上运行realURL 1.12.6
我习惯于使用realURL创建包含preVar的路径,也可以使用默认语言,例如www.example.com/de/seite/和www.example.com/en/page/
在一个案例中,这只是没有发生 - 或者我认为,只是有时候.在大多数情况下,我会访问www.example.com/seite/和www.example.com/en/page/
哪里可以改变?
PS:这是我的realurlconf的开头:
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1,
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => 1,
'enableUrlEncodeCache' => 1,
'respectSimulateStaticURLs' => 0,
//'postVarSet_failureMode'=>'redirect_goodUpperDir',
),
'redirects_regex' => array (
),
'preVars' => array(
array(
'GETvar' => 'L',
'valueMap' => array(
'de' => '0',
'en' => '1',
),
'valueDefault' => 'de',
'noMatch' => 'bypass',
),
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
),
),
Run Code Online (Sandbox Code Playgroud) CMS用户倾向于将任何内容粘贴到CMS文本编辑器中.为了防止网站被破坏 - 以及作为日志,因为TYPO3 没有非符文的编辑器(如markitup),我想至少有一些好的旧"强制纯文本粘贴"到位.
TYPO3的RTE有一个按钮"pastetoggle,pastebehaviour,pasteastext".但我没有设法配置它所以它总是活跃的.
此外,还有一个扩展名ad_rtepasteplain,但它在TYPO3 6.1中没有产生任何结果.
有没有一种方法可以为TYPO3 6.x实现粘贴为纯文本?
[编辑]我发现(对于用户TSConfig)
以及(对于页面TSConfig)
......我还没跑过.如果这是要走的路:是否有工作教程?
我使用包含1:1和1:n关系的extbase扩展构建器"kickstart"扩展.它会自动将字段类型设置为"内联",并在后端显示一个漂亮的IRRE UI.
但默认情况下,无法选择现有记录,只需创建新记录即可.

我找到了关于如何使用'foreign_selector'实现这一点的各种解释,但所有这些都非常粗略.该功能本身应该正常工作,请参阅https://forge.typo3.org/issues/43239
有人可以引导我通过这个或指向TER中的工作示例吗?一旦我开始工作,我就可以从示例中创建一个分步教程.
PS该字段的TCA配置由extension_builder以下生成:
'myfield' => array(
'exclude' => 1,
'label' => 'LLL:EXT:myextension/Resources/Private/Language/locallang_db.xlf:tx_myextension_domain_model_myitem.myfield',
'config' => array(
'type' => 'inline',
'foreign_table' => 'tx_myextension_domain_model_myfield',
'foreign_field' => 'myitem',
'maxitems' => 9999,
'appearance' => array(
'collapseAll' => 0,
'levelLinksPosition' => 'top',
'showSynchronizationLink' => 1,
'showPossibleLocalizationRecords' => 1,
'showAllLocalizationLink' => 1
),
),
),
Run Code Online (Sandbox Code Playgroud) 据我所知,有作为没有这样的东西f:link.file或v:link.file视图助手.
曾经有一个解决方案使用file.originalResource.publicUrl作为指向链接的值,如
<f:link.page pageUid="{file.originalResource.publicUrl}" target="_blank">
Run Code Online (Sandbox Code Playgroud)
我是对的,不再需要了吗?我得到了这个(使用ext:mask):
<f:link.page pageUid="{file.identifier}" target="_blank">
Run Code Online (Sandbox Code Playgroud)
返回相同的值,而originalResource.publicUrl不会出现f:debug.
但是file.identifier,例如fileadmin,存储路径中不存在.如何将其添加到viewhelper?
或者,目前推荐的TYPO3 7.6文件链接解决方案是什么?
在使用TYPO3 6.1.7上的扩展构建器构建的extbase扩展中,我没有通过Typoscript设置任何storagePid.
但是我在插件中设置了"Record Storage Page":

我希望它现在只能从这个页面获取记录.但事实并非如此,它只返回该表中的所有项目.
如何让扩展程序识别插件中的设置?或者(如果它应该开箱即用)我如何找出它没有的原因?
我在TYPO3 4.5站点中使用扩展构建器设置了一个extbase扩展,其中只包含控制器中的默认listAction.
现在我想添加一个新的Action,它不起作用.
我不需要(也就是说无法工作)flexform来选择控制器动作.
因为有一个字段"插件模式",我想我可以在这里手动输入操作:

并在ext_localconf.php中扩展插件配置:
Tx_Extbase_Utility_Extension::configurePlugin(
$_EXTKEY,
'Pluginname',
array(
'Controllername' => 'list,listfeatured',
),
);
Run Code Online (Sandbox Code Playgroud)
此外,在控制器中,我添加了一个新动作.
/**
* action listfeatured
*
* @return void
*/
public function listfeaturedAction() {
// do something
}
Run Code Online (Sandbox Code Playgroud)
但是,唉,行动根本没有被召唤.
我是否解释了字段"插件模式"错误?我错过了什么?
或者:我可以通过TS设置"后端"插件的操作吗?
标题听起来有点学术化实际上非常简单:我已经设置了一个TYPO3 6.1 extbase扩展,我已配备了调度程序任务.该任务应该导入CSV文件并将其保存到扩展的数据库字段中.
但是,如何告诉调度程序任务使用扩展模型等并将接收到的数据保存到持久层?
我已经看到了类似问题的答案:在调度程序任务中执行存储库函数,我认为它指向正确的方式,但我认为需要一个完整的示例来开始理解依赖注入的工作原理.
使用 Fluid f:format.dateviewhelper,我可以设置日期偏移量:
<f:format.date format="%d.%m.%Y">{item.Date}-3 days</f:format.date>
Run Code Online (Sandbox Code Playgroud)
不幸的是,使用内联符号(我需要一个条件)并不那么容易。我已经尝试过以下操作:
{f:format.date(date: item.Date-3 days, format: '%d.%m.%Y')}
{f:format.date(date: item.Date'-3 days', format: '%d.%m.%Y')}
{f:format.date(date: 'item.Date-3 days', format: '%d.%m.%Y')}
Run Code Online (Sandbox Code Playgroud)
其中没有一个返回修改日期。正确的语法是什么?
ddev有以下默认设置:
database: db
dbuser: db
password: db
Run Code Online (Sandbox Code Playgroud)
我认为应该可以为此提供定制值(我知道这没有多大意义,但仍然如此)。我一直在寻找这些设置config.yaml,但没有运气。
是否可以修改这些凭据并将其添加到 git 中?
typo3 ×9
extbase ×6
fluid ×2
typo3-6.1.x ×2
typo3-6.2.x ×2
ddev ×1
docker ×1
editor ×1
paste ×1
realurl ×1
rte ×1
tsconfig ×1
typo3-4.5 ×1
typo3-7.6.x ×1
typo3-7.x ×1