这是T3 v7.7.25,我尝试构建我的第一个扩展。其想法是在后端有一个可选择的内容元素,它的html模板文件只做一个php回显。
我的emconf:
<?php
$EM_CONF[$_EXTKEY] = [
'title' => 'Robert PHP',
'description' => 'An extension to use PHP.',
'category' => 'plugin',
'author' => 'John Doe',
'author_company' => 'John Doe Inc.',
'author_email' => 'john.doe@example.com',
'state' => 'alpha',
'clearCacheOnLoad' => true,
'version' => '0.0.0',
'constraints' => array(
'depends' => array(
'extbase' => '6.0',
'fluid' => '6.0',
'typo3' => '6.0',
)
)
];我的ext_tables:
<?php
if(!defined('TYPO3_MODE')) die ('Access denied.');
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
$_EXTKEY,
'Robert',
'Beschreibung fuer Auswahl'
);我的本地人:
<?php
if(!defined('TYPO3_MODE')) die ('Access denied.');
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
$_EXTKEY,
'Robert',
array(
'Php' => 'include'
),
array()
);我的控制器:
<?php
class Tx_RobertPhp_Controller_PhpController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{
public function includeAction() {
}
}我的模板:
<?php
echo "echo aus der ext";
?>我不能选择后端的插件,所以registerPlugin肯定有问题。但是,由于我没有看到错误消息,我发现很难找到这个问题?
发布于 2018-04-23 17:23:51
首先,不能在流体模板中使用PHP标记。Extbase控制器中的操作使用流体模板。
流体模板必须位于正确的位置:Resources/Private/Templates/[ControllerName]/[ActionName].html。在您的例子中,应该是Resources/Private/Templates/Php/Include.html。
请使用名称空间,它是在PHP5.3中引入的。
只需查看其他扩展,例如博客示例。
发布于 2018-04-24 04:24:08
TYPO3前端插件是在ext_localconf.php文件中注册的。如果您想要添加后端模块,那么您需要在registerPlugin中添加ext_tables.php,否则这不是必需的。
另外,您的ext_localconf.php文件插件配置如下所示。
<?php
defined('TYPO3_MODE') || die('Access denied.');
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'MyVendor.extensionkey',
'plugin_name',
array(
'Controller' => 'action',
),
// non-cacheable actions
array(
'Controller' => '',
)
);此外,您还需要指定流体模板路径,如上面的答案。有关extbase扩展的更多信息,请参见Extbase扩展
https://stackoverflow.com/questions/49984912
复制相似问题