Php 如何在正常页面呈现时调用TYPO3插件

Php 如何在正常页面呈现时调用TYPO3插件,php,plugins,typo3,Php,Plugins,Typo3,嗯,我正在开发一个插件a,我需要在加载TYPO3页面时显示插件中的一些内容。 是否有一些函数如何钩住动作,比如在WordPress中,当页面加载时,插件将执行一些控制器方法?然后这个控制器将产生一些HTML输出,我想在前端页面中显示。特别是我想在头部显示自定义脚本。所以脚本应该是这样的:…我的内容…好的,你可能想做的是开发一个所谓的TYPO3扩展-这就是插件/附加组件在TYPO3中的名称(你可能会找到谷歌搜索结果) 要快速入门,您可以尝试TYPO3 extension builder()——它可

嗯,我正在开发一个插件a,我需要在加载TYPO3页面时显示插件中的一些内容。
是否有一些函数如何钩住动作,比如在WordPress中,当页面加载时,插件将执行一些控制器方法?然后这个控制器将产生一些HTML输出,我想在前端页面中显示。特别是我想在头部显示自定义脚本。所以脚本应该是这样的:
…我的内容…

好的,你可能想做的是开发一个所谓的TYPO3扩展-这就是插件/附加组件在TYPO3中的名称(你可能会找到谷歌搜索结果)

要快速入门,您可以尝试TYPO3 extension builder()——它可以为您生成一个骨架扩展

有关更多信息,您还可以查看更详细地解释概念的内容


其他信息可以在

中找到。好的,你可能想做的是开发一个所谓的TYPO3扩展——这就是TYPO3中插件/附加组件的名称(这是你可能会找到谷歌搜索结果的术语)

要快速入门,您可以尝试TYPO3 extension builder()——它可以为您生成一个骨架扩展

有关更多信息,您还可以查看更详细地解释概念的内容


其他信息可在TYPO3中找到,其中有一个名为plugins的东西,但您应该与其他上下文中的含义不同。
第一个TYPO3是一个CMS,其内容以页面的层次结构树为结构。这些页面是导航的基础。并且每个页面都包含单独的内容元素(CE)。
正如Susi已经说过的:TYPO3的附加组件通常是“扩展”,它可以以不同的方式扩展TYPO3的功能。一种方法是定义(类型3-)插件。这些是能够显示特殊信息的特殊内容元素。
虽然普通CEs拥有记录中显示的所有信息(如文本和图像),但插件可以更灵活。
典型的例子是:显示记录列表或一条详细记录。
这些插件可以用打字脚本控制,或者插件CE可以有额外的字段来保存要显示的信息

有关如何定义插件的详细信息,请参阅Susi提供的链接。

请注意:出于安全原因,不可能只执行一个普通的PHP文件来回显任何输出。您需要使用API注册插件,将输出构建为字符串,并将生成的HTML作为字符串返回给调用函数。对于初学者,ExtensionBuilder将帮助您生成一个格式良好的扩展,该扩展使用API注册和输出数据。

在TYPO3中有一个名为plugins的东西,但在其他上下文中的含义应该有所不同。
第一个TYPO3是一个CMS,其内容以页面的层次结构树为结构。这些页面是导航的基础。并且每个页面都包含单独的内容元素(CE)。
正如Susi已经说过的:TYPO3的附加组件通常是“扩展”,它可以以不同的方式扩展TYPO3的功能。一种方法是定义(类型3-)插件。这些是能够显示特殊信息的特殊内容元素。
虽然普通CEs拥有记录中显示的所有信息(如文本和图像),但插件可以更灵活。
典型的例子是:显示记录列表或一条详细记录。
这些插件可以用打字脚本控制,或者插件CE可以有额外的字段来保存要显示的信息

有关如何定义插件的详细信息,请参阅Susi提供的链接。

请注意:出于安全原因,不可能只执行一个普通的PHP文件来回显任何输出。您需要使用API注册插件,将输出构建为字符串,并将生成的HTML作为字符串返回给调用函数。对于初学者,ExtensionBuilder将帮助您生成一个格式良好的扩展,该扩展使用API注册和输出您的数据。

好的,谢谢您的回答,但它不是很具体。我发现这个解决方案不是最好的,但它很有效!如果有更好的,请分享

首先,您必须为类创建一个文件,该文件将从位于
/your plugin name/Classes/class.tx\u contenthook.php
的钩子调用。文件名必须有这个模式
class.tx\u yourname.php
,我们将有一个带有钩子调用的方法的代码

class tx_contenthook {

    function displayContent(&$params, &$that){

       //content of page from param
       $content = $params['pObj']->content;

       //your content
       $inject = '4747474747';

        // inject content on 
       $content = str_replace('</body>', $inject. '</body>', $content);

       // save
       $params['pObj']->content = $content;
       }
}

我希望这能帮助那些在打字错误3中挣扎的人。

好的,谢谢你们的回答,但这并不是很具体。我发现这个解决方案不是最好的,但它很有效!如果有更好的,请分享

首先,您必须为类创建一个文件,该文件将从位于
/your plugin name/Classes/class.tx\u contenthook.php
的钩子调用。文件名必须有这个模式
class.tx\u yourname.php
,我们将有一个带有钩子调用的方法的代码

class tx_contenthook {

    function displayContent(&$params, &$that){

       //content of page from param
       $content = $params['pObj']->content;

       //your content
       $inject = '4747474747';

        // inject content on 
       $content = str_replace('</body>', $inject. '</body>', $content);

       // save
       $params['pObj']->content = $content;
       }
}

我希望这能帮助那些在打字错误3中挣扎的人。

投反对票无助于我解决这个问题。我没有投反对票,但为了更好地说明问题,你的问题肯定会从进一步的细节中受益……你到底想实现什么目标?呈现您自己的内容?是否修改已存在的内容?完全是别的吗?请更详细地描述你的用例。好的,我更新了信息。如果你想得到具体的答案,你的问题也应该那么具体-你想实现什么,你在处理什么类型的域模型(如果有的话)?展示“一些东西”是非常非常模糊的…投反对票无助于我解决这个问题我没有投反对票,但你的问题肯定会从进一步的细节中受益