问题标签 [pibase]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typo3 - TYPO3:从 Extbase 扩展访问旧式 piBase 方法
我可以访问旧式piBase类和方法吗?
例如,我可以创建一个AccessMyoldExtensionService.php
服务作为包装类,然后将返回值拉入我的控制器吗?
就我而言,我需要返回一个无法直接迁移到 MVC 样式的旧数据记录列表。
如果是这样,基本方法是什么?
typo3 - TYPO3 将支持多长时间的 piBase 扩展
我试图在网上找到答案,但似乎没有任何信息表明旧的 piBase 扩展何时会停止在 TYPO3 中工作。
“旧” TYPO3 在 FLOW 方向上的过渡是可见的,但我必须让客户评估他能够使用他自定义编程的 piBase 扩展多长时间。
使用当前的 6.2 LTS 版本,他至少应该在接下来的两年里被保存,但是有人知道更多关于 piBase 的计划吗?
谢谢
弗洛里安
PS:如果某处有一篇文章解释了我没有找到,我深表歉意。
typo3 - TYPO3 IRRE,保存内联记录时出现错误“尝试修改记录...”
我正在为 TYPO3 4.5.4 编写一个扩展(不幸的是被迫使用这个版本)。扩展应该提供一种简单的方法来管理和显示列表。
因为数据只需要显示并且完全取决于包含的内容元素,所以我决定使用 IRRE 来实现它。
过了一会儿,我让它开始工作,现在可以创建和显示 IRRE 记录了。但后来我意识到如果没有收到以下错误消息,我无法更改这些记录并保存它们:“未经许可尝试修改记录'Test'(tx_list_elements:1)。或不存在的页面。” - 这真的很烦人。
我以管理员身份登录,所以我简直不敢相信,系统拒绝我做任何事情——但显然我在 TYPO3 的权限概念中遗漏了一些东西......
你们有没有人有这方面的经验?
顺便说一句:我既不是 TYPO3 开发者,也没有兴趣成为其中的一员。所以不要犹豫,向我展示一些肮脏的技巧 - 我不介意这是否是最佳做法。这是一个旧系统,只需要完成(我已经对 TYPO3 无法处理如此简单的事情着迷了)。我正在帮助一个人,他本来可以自己完成这项工作,但不幸的是无法...
如果您能提供任何提示,我将非常高兴。
谢谢
编辑
只是自己解决了。问题是 ext_tables.php 配置错误,我将“pid”作为 IRRE 关系的“foreign_field”。
当我配置关系时,Kickstarter 谈到了一些奇怪的父 <-> 子关系。我当时假设,该 pid 可能代表“父 ID”,因为在结果表中没有其他字段,这可能是一个正确的外键。但显然“pid”代表“页面 ID”,它指向页面,元素所属的,我猜(这是否有意义 - TYPO3 不在乎......)。添加一个新字段作为外键是解决方案。
我想 TYPO3 开发人员肯定知道这个。但是我仍然发现不可能得到这样的错误消息。为什么不:“伙计,你真的想使用这个字段作为外键吗?这对于其他系统的东西来说太重要了。”。我的意思是,可能有一点,这个配置是经过验证的,对吧?只是一个想法...
因此,如果有人在为他/她的扩展进行一些 IRRE 配置时偶然发现了同样的错误。我是一个做错事的人,最后在这方面记录了一些东西;)
image - piBased Plugin (FLUID) - TYPO3 6.2 的图像问题
我在更新的 TYPO3 v6.2.7 - 安装中仍然使用 piBased-Plugins。从 6.2. 开始,我的小型前端插件出现了一些问题。
我的插件只显示标题、链接和图像。如果后端没有选择图像,我的插件不会在前端显示 HTML 输出:
但现在我得到一个错误。如果我上传图片一切都很好。但如果没有图像,我会在后端和前端收到这些错误警告。
如何更新我的 piBASED-PLUGIN (FLEXFORM)?图像或图像路径一定有问题。我不是 PHP 程序员,所以我不知道.. ;)
“提供的文件对象类型 TYPO3\CMS\Core\Resource\Folder 必须是 File 或 FileReference。”
谢谢你的帮助!史蒂夫
--
贬值日志:
|在 TCA 中注册向导的方式在 6.2 中发生了变化。请在您的 TCA 中设置 module[name]=module_name 而不是使用 script=path/to/sctipt.php。以这种方式注册向导的可能性将在 2 个版本中删除。|
前端错误:
和
09-12-14 10:56:
|TYPO3\CMS\Core\Utility\GeneralUtility::loadTCA() - 从 6.1 开始,将在两个版本之后删除 - require(typo3/sysext/cms/tslib/index_ts.php),index.php#28 // TYPO3\ CMS\Core\Core\Bootstrap->loadExtensionTables#123 // TYPO3\CMS\Core\Utility\ExtensionManagementUtility::loadExtTables#925 // TYPO3\CMS\Core\Cache\Frontend\PhpFrontend->requireOnce#1729 // TYPO3\ CMS\Core\Cache\Backend\SimpleFileBackend->requireOnce#72 // require_once(typo3temp/Cache/Code/cache_core/ext_tables_8daea175f152090331d107ba834640863df1679e.php),typo3/sysext/core/Classes/Cache/Backend/SimpleFileBackend.php#364 // TYPO3\CMS\Core\Utility\GeneralUtility::loadTCA#3183 // TYPO3\CMS\Core\Utility\GeneralUtility::logDeprecatedFunction#4167 (typo3/sysext/core/Classes/Utility/GeneralUtility.php#4165)|
我使用 flexform 将我的图像从插件上传到 /uploads-Folder,如下所示:
PHP 类:
typo3 - TYPO3 4.7.19 piBase $GLOBALS['BE_USER'] 变空
我有一个 TYPO3 piBase BE 扩展。我已经调试了代码并且遇到了以下问题:当我使用“www”登录 BE 时,我得到了$GLOBALS['BE_USER']
. 但是当我在没有“www”的情况下登录 BE 时,我在$GLOBALS['BE_USER']->user
.
我努力了:
但是在没有“www”的情况下登录时我仍然得到一个空白数组。
typo3 - 在 tt_news 扩展中将 TYPO3 升级到 6.2 扩展选项卡后消失
在过去,我创建了一个小的扩展来扩展 tt_news 的可能性。通过 kickstarter,我为 tt_news 表创建了两个新字段。一切正常 - 在每条 tt_news 记录上,我在“扩展”选项卡中有两个 flexform 字段。
升级到 TYPO3 6.2 后,这些字段消失了。有没有机会打开它们?
typo3 - 错字3 从 4.2 更新到 6/7
在一个新项目中,我必须将旧的typo3 安装从 4.2 升级到 6.2 甚至 7.6。
最大的问题是,一切都是用 templavoila 完成的,所有的扩展都是基于 pi 的。
我从typo3 6.x 了解到所有基于pi 的扩展都会死掉。但是通过我现在的研究,我发现基于 pi 的扩展仍然可以在较新的typo3 版本中运行。
我现在的问题是,继续使用基于 pi 的扩展和 templavoila 是否明智?另一种方法是使用 extbase 和从头开始的新流体模板创建新页面。或者,还有更好的方法?
最后一件事是我必须维护这个页面,而且我对 templavoila 了解不多。我也比基于 pi 的扩展更了解 extbase 扩展。但是使用 pibase 和 templavoila 保存所有内容与从头开始创建整个页面之间的时间差是几个月。
所以我不确定我会建议哪种方式。你有什么经验?
redirect - TYPO3 中的 realurl、重定向和缓存问题
此错误发生在带有 piBase 扩展和 realurl 2.0.15 的 TYPO3 7.6.10 中:
在这个扩展中,我正在检查一个 GET 参数,例如一个国家。如果未提供此参数,我将重定向到同一页面,并使用默认国家/地区作为参数:
这意味着,访问者例如调用 url www.mypage.com/list/ 并被重定向到 www.mypage.com/list/germany/
这工作正常,但经过一段时间后,一些访问者是一个页面,重定向停止工作。在浏览器中打开 www.mypage.com/list/ 时,会显示某个国家/地区的页面(不是默认页面,例如国家“法国”)。这意味着,TYPO3 在页面 www.mypage.com/list/france/ 上为页面 www.mypage.com/list/ 创建了一个缓存条目,但是对于这个 url,由于重定向,不应该创建一个缓存条目.
我可以通过将页面的缓存时间设置为 1 分钟来重现此错误。然后我等待一分钟,然后加载网址 www.mypage.com/list/france/。现在,当打开 www.mypage.com/list/ 时,没有重定向并显示法国。
禁用 realurl(或仅从 realurl 配置中删除参数“country”)时,不会发生此错误。
typo3 - TYPO3 pibase extension with compatible6 - 重复的双 main() 方法调用
我们正在尝试使用在 TYPO3 7.6 环境中的 TYPO3 6.1 安装中工作的遗留 pibase 扩展。我们安装了 compatible6 扩展。
pibase 扩展基本上可以工作,但是某些东西 (TM) 似乎调用了 pibase main() 方法两次;这会混淆扩展的一些内部工作,因为静态计数器不会重新开始。
我们发现 tt_news 有同样的问题,它被执行了两次,因此可能会丢失分页属性。
这可能是兼容性 6 扩展的问题,还是 TYPO3v7 内核中的问题?我们无法轻易推断出第一次调用的确切位置(输出实际上是在第二次 main() 调用中创建的)。
typo3 - 为什么这个 pibase 扩展没有被加载?
我正在从 TYPO3 更新一个项目
- 6.x 到 7.x
- 7.x 到 8.7
我已经在 8.7 上,现在正在开发扩展。我们有一个 pibase 扩展,如果 8.7 中仍然可以使用该支持
我已经重构了一些东西:
- 我用基于 ClassAliasMap.php 的新命名空间替换了旧类
- 我已经使用 Configuration/TCA/Overrides 调整了新的 TCA 方法
- 从 $TCA 更改为 $GLOBALS['TCA']
另一个任务是将模板从 css_styled_content 改写为 fluid_styled_content。但我不在那里,因为我坚持让插件在模板>根页面>信息/修改>编辑-整体-模板>包含中可用。它只是不在“可用项目”列表中。
我认为有两个步骤可以完成
注册用于前端渲染的插件
并使插件在后端可选择
以下是扩展/插件的一般结构:
所以在 ext_localconf 我从 ExtensionManagementUtility 调用 addPItoST43 来实际添加类文件
emconf 只是“默认”,可以说是插件的描述
文件 ext_tables.php 现在是空的,因为那里的所有东西都移到了 Configuration/ 部分
我移至 Configuration/ 目录中的 tt_content.php 的部分包含 2 个 TCA 覆盖,带有 $GLOBALS['TCA']['tt_content']['types'] 和 $GLOBALS['TCA']['tt_content'][' columns'] 后跟来自 ExtensionManagementUtility 的 3 个 addPlugin 调用
因此,完成所有这些后,我仍然无法在根页面中包含插件以获取实际功能-我不知道如何进一步处理以使其正常工作-非常感谢任何帮助,如果需要任何进一步的信息或代码只是发表评论
进一步调查: 所以我已经像扩展的每个部分一样进行了调试,后端的部分似乎工作得很好,我看到了插件内容,并且可以从数据库中选择部分以理论上显示在前端。唯一的问题是 TYPO3 从未进入我的类 tx_extkey_pi1 以实际用内容填充模板 - 我在 main() 和 renderTemplate() 中都有带有 exit() 的 var_dumps() 但它们从未被触发。