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:
- 安装扩展程序
TS 设置 > 编辑整个模板记录 > 从扩展中包含静态信息 > 包含“页面 PHP 内容元素
(pe_pagephpcontentelement)"
创建系统文件夹(如"phpscripts")
转到 "phpscripts" > 列表视图 > 新建 > "Page PHP Content Element > P H P Content"
插入一些代码(如您提供的代码)并保存
转到页面 > 创建新内容元素 > 选项卡 "Plugins > "常规
插件
插入元素后,编辑它,按 Tab "Plugin" > 从
"selected plugin" 下拉菜单,select "Page PHP content"
Tab Behavior > Record storage page > select sysfolder
"phpscripts"
保存并预览
很抱歉,我无法弄清楚如何从 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]
这(重新)转储所有活动的第三方扩展的自动加载信息。
我想在我的 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:
- 安装扩展程序
TS 设置 > 编辑整个模板记录 > 从扩展中包含静态信息 > 包含“页面 PHP 内容元素 (pe_pagephpcontentelement)"
创建系统文件夹(如"phpscripts")
转到 "phpscripts" > 列表视图 > 新建 > "Page PHP Content Element > P H P Content"
插入一些代码(如您提供的代码)并保存
转到页面 > 创建新内容元素 > 选项卡 "Plugins > "常规 插件
插入元素后,编辑它,按 Tab "Plugin" > 从 "selected plugin" 下拉菜单,select "Page PHP content"
Tab Behavior > Record storage page > select sysfolder "phpscripts"
保存并预览
很抱歉,我无法弄清楚如何从 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]
这(重新)转储所有活动的第三方扩展的自动加载信息。