标签: typo3-extensions

尝试在 TYPO3 中通过 Composer 安装我自己的扩展

我的第一步是TYPO3 CMS...composer但是我无法安装我自己的发行包。尝试:

composer require stsa/hellotypo3
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

[InvalidArgumentException]                                                                                           
 Could not find a version of package stsa/hellotypo3 matching your minimum-stability (stable). Require it with an explicit version constraint allowing its desired stability.
Run Code Online (Sandbox Code Playgroud)

我已经TYPO3 9.5.1通过 Composer 安装并(用于测试)安装了第 3 方扩展,mask例如composer require mask/mask. 它工作完美。

这是我composer.json的分发扩展,我已将其上传到packgist. json 文件是有效的,但必须有某物。错误的 ..

{
    "name": "stsa/hellotypo3",
    "type": "typo3-cms-extension",
    "description": "FLUID Templates & TypoScript",
    "homepage": "https://www.hello.de/",
    "keywords": [
        "TYPO3",
        "CMS",
        "extension"
    ],
    "authors": [
        {
            "name": "Stsa", …
Run Code Online (Sandbox Code Playgroud)

typo3 composer-php typo3-extensions typo3-9.x

7
推荐指数
2
解决办法
6616
查看次数

如何从FlexForm获取价值到控制器[Typo3]

这是我在这里的第一个问题所以你好!对于我的问题:我正在练习一个非常简单的Extbase Extension并使用FlexForm来获得三个公式字段.其中一个被称为"代码",应该转到EmbedderController.php,然后转到查看器List.html.

我尝试了很多并检查了我能找到的所有教程.但不知何故,我真的不明白如何将FlexForm值"代码"放入我的控制器中.无论我做什么,我都没有得到任何价值或空页.

这是我的FlexForm:Embedder.xml

<T3DataStructure>
        <meta type="array">
                <langChildren>0</langChildren>
                <langDisable>1</langDisable>
        </meta>
        <ROOT>
                <type>array</type>
                <el>
                        <settings.code>
                                <TCEforms>
                                        <label>Video Code</label>
                                        <config>
                                                <type>input</type>
                                                <size>20</size>
                                                <max>30</max>
                                                <eval>trim</eval>
                                        </config>
                                </TCEforms>
                        </settings.code>
                        <settings.width>
                                <TCEforms>
                                        <exclude>1</exclude>
                                        <label>Breite in Pixel</label>
                                        <config>
                                                <type>input</type>
                                                <size>10</size>
                                                <max>10</max>
                                                <eval>trim</eval>
                                        </config>
                                </TCEforms>
                        </settings.width>
                        <settings.height>
                                <TCEforms>
                                        <exclude>1</exclude>
                                        <label>Höhe in Pixel</label>
                                        <config>
                                                <type>input</type>
                                                <size>10</size>
                                                <max>10</max>
                                                <eval>trim</eval>
                                        </config>
                                </TCEforms>
                        </settings.height>
                </el>
        </ROOT>
</T3DataStructure>
Run Code Online (Sandbox Code Playgroud)

这是我的EmbedderController.php

<?php
namespace HhuMediathek\Hhumediathek\Controller;

/**
 * EmbedderController
 */
class EmbedderController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {

        /**
         * embedderRepository
         *
         * @var \HhuMediathek\Hhumediathek\Domain\Repository\EmbedderRepository
         * @inject
         */
        protected …
Run Code Online (Sandbox Code Playgroud)

typo3 extbase typo3-extensions

6
推荐指数
1
解决办法
4898
查看次数

TYPO3 访问受限页面 - 登录后重定向

对于受限页面、登录和重定向,是否有任何实际的最佳实践?

我找到了很多示例,但都是针对较旧的 TYPO3 / felogin /.... 版本(没有站点配置)

我有以下场景:

我有几个受限页面和一个登录页面(felogin)

我希望能够将深层链接(例如按邮件发送)到受限页面 - 如果用户未登录,则应显示登录表单 - 成功登录/注册后,应显示深层链接页面。

我使用 TYPO3 9.5 并在站点配置中添加了 403 处理来显示我的登录页面的内容。

这一步工作正常 - 显示登录页面。

我在 felogin 插件中配置了 referrer 和 GET/POST 重定向,但这些都不起作用。

有没有人举个例子,我如何在成功登录/注册后重定向到原始调用(受限)页面?

谢谢

基督教

typo3 typo3-extensions felogin typo3-9.x

6
推荐指数
1
解决办法
1081
查看次数

TYPO3 TCA在后端对象保存后执行挂钩

如果通过后端保存对象,我想操作一些值并执行自定义函数。我通过谷歌搜索发现我必须在ext_localconfphp中指定这一点:

$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass']['extkey'] = 'Vendor\\Extension\\Hook\\TCEmainHook';
$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass']['extkey'] = 'Vendor\\Extension\\Hook\\TCEmainHook';
Run Code Online (Sandbox Code Playgroud)

此外,我在扩展/Classes/Hook/TCEmainHook.php中创建了以下类

<?php
namespace Vendor\Extension\Hook;

class TCEmainHook {
public function processCmdmap_postProcess(
    $command, $table, $id, $value, 
    TYPO3\CMS\Core\DataHandling\DataHandler &$pObj) {
       echo '<pre>';
           var_dump($command);
       echo '<pre>';
       die();
    }
}
Run Code Online (Sandbox Code Playgroud)

但无论我尝试以下哪个选项,在保存对象后我都会得到一个空的后端框架:

$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass']['NXS\\NxsReferenzen\\Hook\\TCEmainHook'] = 'EXT:nxs_referenzen/Classes/Hook/TCEmainHook.php';
$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass'][''] = 'NXS\\NxsReferenzen\\Hook\\TCEmainHook';
$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass'][''] = 'EXT:nxs_referenzen/Classes/Hook/TCEmainHook.php:\NXS\\NxsReferenzen\\Hook\\TCEmainHook';
Run Code Online (Sandbox Code Playgroud)

我不明白我做错了什么。有人有什么建议吗?

参考解决方案: 感谢 Jokumer 的建议,我查找了 BE 模块“配置”中加载了哪些以及如何加载其他钩子。我发现我的钩子看起来与其他钩子不同,所以我检查了 powermail 钩子的定义方式(这是我正在使用的另一个扩展),并通过以下更改,钩子终于可以工作了:

$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'EXT:nxs_referenzen/Classes/Hook/TCEmainHook.php:NXS\\NxsReferenzen\\Hook\\TCEmainHook';
$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass'][] = 'EXT:nxs_referenzen/Classes/Hook/TCEmainHook.php:NXS\\NxsReferenzen\\Hook\\TCEmainHook';
Run Code Online (Sandbox Code Playgroud)

php hook typo3 typo3-extensions typo3-7.6.x

5
推荐指数
1
解决办法
6490
查看次数

TYPO3 Powermail - 在复选框标签或标题中添加链接的方法

从powermail 6.0开始。可以根据文档在复选框标签中添加链接(针对 GDPR):

https://docs.typo3.org/typo3cms/extensions/powermail/ForAdministrators/Privacy/Index.html#add-a-link-in-a-checkbox-label

它说:

只需使用 FlexForm 中的一个选项,例如(带有指向隐私条款所在的第 123 页的示例链接):

I accept the <f:link.page pageUid="123">privacy terms</f:link.page> | privacy terms accepted
Run Code Online (Sandbox Code Playgroud)

之后,您必须在标签中启用 html(出于安全原因,此功能已关闭)。TypoScript 常量示例:

plugin.tx_powermail.settings.misc.htmlForLabels = 1
Run Code Online (Sandbox Code Playgroud)

...但它还说“(出于安全原因此功能已关闭)”。

还有哪些其他选择可以实现这一目标?(没有安全损失?)

typo3 typo3-extensions powermail typo3-8.x

5
推荐指数
1
解决办法
5529
查看次数

TYPO3 表单错误?- 未找到原型“标准”

我只是想向我新安装的 TYPO3 站点添加一个表单。

表单看起来不错,但在前端我收到以下错误:

***The Prototype "standard" was not found.***
Run Code Online (Sandbox Code Playgroud)

我实在不明白这个消息想告诉我什么。在谷歌搜索问题后,我发现了以下解决方案:

编辑TypoScript模板记录并在“Include static(来自扩展)[include_static_file]”中添加“Form(表单)[EXT:form/Configuration/TypoScript/]”

即使有了这个解决方案,我也被困在这里。

这些文件在哪里?如何向模板文件添加记录?

我真的很感谢这里的任何帮助。

谢谢

仅供参考:我的 TYPO3 版本是 11.5.3

typo3 typo3-extensions typo3-11.x

5
推荐指数
1
解决办法
327
查看次数

关于如何为 ext:news 的列表和详细视图设置路由增强器的良好实践?

前提

ext:news 列表视图插件位于 www.domain.com/news [ID 9] 页面上,详细视图位于 www.domain.com/article [ID 39] 上。

按照官方示例(docs.typo3.org)

我尝试了功能描述的“Extbase插件增强器”示例,但这引起了一些问题:

  • 页面浏览器链接到第 2 页有一个 cHash:news/list/2?cHash=123456789
  • 从第 2 页到第 1 页的 pagebrowser 链接有很多获取参数: news?tx_news_pi1%5Baction%5D=list&tx_news_pi1%5Bcontroller%5D=News&cHash=123456789 。如果没有routeEnhancer,它就只是没有任何获取参数的“新闻”。
  • 详细视图的链接有一个 cHash:article/blog/9?cHash=52e8a4b7c6318cfe0273e7eab374e9ae
  • 网址包含不需要的段(“列表”+“博客”)
  • acticle url 不包含新闻标题

造成某些问题的原因之一可能是分页器未在其链接中指定控制器:news?tx_news_pi1[@widget_0][currentPage]=2&cHash=123456789

我的方法,已经解决了提到的问题

我将其拆分为两个单独的路由增强器(Extbase + 插件),删除了“defaultController”、“defaults”、“requirements”段并添加了“aspects”:

routeEnhancers:
  NewsDetail:
    type: Extbase
    limitToPages: [39]
    extension: News
    plugin: Pi1
    routes:
      - { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} }
    aspects:
      news_title:
        type: PersistedAliasMapper
        tableName: 'tx_news_domain_model_news'
        routeFieldName: 'path_segment'
  NewsList:
    type: Plugin
    limitToPages: [9]
    routePath: '/{@widget_0/currentPage}'
    namespace: 'tx_news_pi1'
    aspects:
      '@widget_0/currentPage':
        type: …
Run Code Online (Sandbox Code Playgroud)

typo3 extbase typo3-extensions tx-news typo3-9.x

4
推荐指数
1
解决办法
3363
查看次数

TYPO3扩展构建器多个图像上传无法正常工作

我的目标是使用TYPO3 7.6.2版本中的扩展构建器创建扩展.我从扩展构建器文档创建了Category Product扩展,除上传单个图像外,它工作正常.

但我必须创建功能,将多个图像添加到单个产品,并在前端显示图像轮播.但扩展构建器不适用于文件上载.

我是TYPO3的新手,所以我不明白如何添加多个图像?我读了太多文件,但没有找到完美的解决方案.

我只是想知道如何向产品添加多个图像的过程?

提前致谢!

php typo3 typo3-extensions extension-builder3

3
推荐指数
1
解决办法
1061
查看次数

如何正确初始化$ GLOBALS ['TSFE']

在我的TYPO3扩展中,我创建了一个自定义控制器类,从TYPO3后端的某个钩子调用.

在这个控制器中我想从中得到一些东西,$GLOBALS['TSFE']但是当var_dump($GLOBALS['TSFE'])我接到时null.问题是如何正确初始化$GLOBALS['TSFE']?

typo3 typo3-extensions

3
推荐指数
1
解决办法
1264
查看次数

如何在 TYPO3 CKEditor 中启用颜色按钮

我正在尝试启用colorbutton插件以使用 TYPO3 CKEditor 中的 TextColor 功能,但它不起作用。

我已经尝试包含 colorbutton 插件所需的所有需要​​的外部插件。我已经直接从 CKEditor 网站(buttonpanelbuttonpanelfloatpanel)下载了 4.7 版的插件。但是每次当我包含 panelbutton 或 colorbutton 时,TYPO3 后端中的编辑器不再工作。

包含插件的代码: 包含插件的代码

包含 panelbutton 或 colorbutton 插件后,编辑器坏了: 编辑器在包含 panelbutton 或 colorbutton 后坏了 我的目标是在工具栏中有这个按钮: 目标

typo3 rte ckeditor typo3-extensions typo3-8.x

3
推荐指数
1
解决办法
2916
查看次数