对于我正在编写的自定义扩展,我有一个在安装时加载的ext_tables.sql文件。
我想在使用PHP代码的安装例程中将一些动态数据插入到从ext_tables.sql创建的表中。这可能吗?如果是这样,我该怎么做以及在哪里必须这样做?
或者,是否可以让PHP代码在安装过程中创建表(使用数据库接口)而不是依赖于ext_tables.sql?再说一遍,如果是这样的话,我该怎么办呢,我该怎么办呢。
答案 0 :(得分:2)
当然你可以(带着小窍门):
将用户类型条目添加到ext_conf_template.txt
# cat=basic; type=user[EXT:<EXTNAME>/Path/To/Class.php:Tx_Path_To_Class->postInstall]; label=
postInstallAction=0
在路径/路径/到
中创建到PHP-File Class.php此方法可用于执行某些安装后操作或更常用于修改 扩展配置页面(该方法可以返回将包含的HTML 这里)。
class Tx_Path_To_Class {
/**
* Generates and returns an message.
*
* @param array $params Name and value from ext_conf_template.txt
* @param t3lib_tsStyleConfig $styleConfig Instance of config style editor
*
* @return string HTML code
*/
public function postInstall(array $params, t3lib_tsStyleConfig $styleConfig) {
// Do your stuff
return '';
}
}
我使用它将一些用户定义的输出添加到扩展的配置页面,但您也可以 你这可以执行一些初始设置操作。
安装扩展程序后,您现在可以单击“更新”按钮来执行您的脚本。
答案 1 :(得分:0)
旧EM中至少有一个钩子(TYPO3 4.5及以下版本)。我想新的也有一些。
您可以在视图中添加一些字段,您可以在其中设置设置。
$TYPO3_CONF_VARS['SC_OPTIONS']['typo3/mod/tools/em/index.php']['tsStyleConfigForm'][] = "EXT:yourextension/class.yourextension.php:yourextension->main";