class.tslib_pibase.php 在我的 TYPO3 6.2.9 中找不到

class.tslib_pibase.php not found in my TYPO3 6.2.9

我想在我的 TYPO3 中包含 PHP 代码,我找到了 php_page_content,我安装了我找到的扩展 here 。 安装很顺利,没有错误,然后我清除了缓存。 在我的页面中添加 PHP 内容后

然后我收到一个致命错误:

PHP Fatal error: require_once(): Failed opening required '/var/www/clevvermail/typo3/sysext/cms/tslib/class.tslib_pibase.php' (include_path='/var/www/my_typo3/typo3/contrib/pear/:.:/usr/share/php') in /var/www/my_typo3/typo3conf/ext/page_php_content/pi1/class.tx_pagephpcontent_pi1.php on line 30

我检查了一下,发现我的 TYPO3 里没有 class.tslib_pibase.php!!!我该如何管理它?

PS:我尝试使用扩展程序 Page PHP Content Element,但它对我不起作用,我安装后发现内容列表中没有要包含的 PHP 脚本。

你可以找到解决方案here

在你的class.tx_pagephpcontent_pi1.php第30行

你可以替换这个

require_once(PATH_tslib . 'class.tslib_pibase.php');

if (!class_exists('tslib_pibase')) require_once(PATH_tslib . 'class.tslib_pibase.php');

这适用于 Typo3 4.x 和 6.2

我认为扩展已经过时并且与 TYPO3 6.2 不兼容。 它没有给出错误只是因为在文件 ext_emconf.php 中没有关于 CMS 版本的限制 (!)

关于您引用的另一个扩展:我能够通过这些步骤使其工作(TYPO3 6.2.30:

  1. 安装扩展程序
  2. TS 设置 > 编辑整个模板记录 > 从扩展中包含静态信息 > 包含“页面 PHP 内容元素 (pe_pagephpcontentelement)"

  3. 创建系统文件夹(如"phpscripts")

  4. 转到 "phpscripts" > 列表视图 > 新建 > "Page PHP Content Element > P H P Content"

  5. 插入一些代码(如您提供的代码)并保存

  6. 转到页面 > 创建新内容元素 > 选项卡 "Plugins > "常规 插件

  7. 插入元素后,编辑它,按 Tab "Plugin" > 从 "selected plugin" 下拉菜单,select "Page PHP content"

  8. Tab Behavior > Record storage page > select sysfolder "phpscripts"

  9. 保存并预览

很抱歉,我无法弄清楚如何从 sysfolder select 一条记录:(

您可以安装扩展 migration_core 或扩展 compatibility6。 migration_core 包含一个带有 class 别名映射器的 Migrations/Code/ 文件夹。每次引用 class "tslib_pibase" 都会自动引用“\TYPO3\CMS\Frontend\Plugin\AbstractPlugin::class”。安装它就足够了。但是不推荐 compatibility6,因为它还包含其他有缺点的更改。

如果仍然有相同的错误消息,请打开 TYPO3 安装工具第一个选项卡 "Important actions"

Dump Autoload Information
[Create autoload information for extensions]

这(重新)转储所有活动的第三方扩展的自动加载信息。