Typo3 Fluid テンプレート エンジンを使用して作業を開始しようとしていますが、汚い方法で実行することができました。しかし、その後、このデモと一緒にfedext.net プロジェクトを見つけました。そして、このチュートリアルに従ってみました。次のディレクトリ構造で終了します。
typo3conf/
ext/
my_extension/
Classes/
Controller/
PageController.php
Configuration/
constants.txt <empty for now>
setup.txt
Resources/
Private/
Layouts/
Partials/
Templates/
Page/
FrontPage.html
Public/
ext_autoload.php <empty>
ext_emload.php
ext_localconf.php <empty>
ext_tables.php
PageController.php:
<?php
class Tx_MyExtension_Controller_PageController extends Tx_Fluidpages_Controller_AbstractPageController {
public function frontPageAction() {
}
}
setup.txt:
plugin.tx_myextension.view {
templateRootPath = EXT:my_extension/Resources/Private/Templates/
partialRootPath = EXT:my_extension/Resources/Private/Partials/
layoutRootPath = EXT:my_extension/Resources/Private/Layouts/
}
FrontPage.html:
{namespace v=Tx_Vhs_ViewHelpers}
{namespace flux=Tx_Flux_ViewHelpers}
<f:layout name="Page" />
<div xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:v="http://fedext.net/ns/vhs/ViewHelpers"
xmlns:flux="http://fedext.net/ns/flux/ViewHelpers"
xmlns:f="http://fedext.net/ns/fluid/ViewHelpers">
<f:section name="Configuration">
<flux:flexform id="default-page" label="Default page template">
<flux:flexform.field.input name="settings.entryLevel"
label="Main menu entry level override for this page only"
eval="int,trim" minimum="0" maximum="6"
default="{v:var.typoscript(path: 'lib.menu.main.entryLevel')}">
<flux:flexform.field.wizard.slider hideParent="TRUE" step="1" width="100" />
</flux:flexform.field.input>
</flux:flexform>
<flux:flexform.grid>
<flux:flexform.grid.row>
<flux:flexform.grid.column colPos="1" name="Hero Unit" />
</flux:flexform.grid.row>
<flux:flexform.grid.row>
<flux:flexform.grid.column colPos="0" name="Main Content" />
</flux:flexform.grid.row>
<flux:flexform.grid.row>
<flux:flexform.grid.column colPos="2" name="Footer Content" />
</flux:flexform.grid.row>
</flux:flexform.grid>
</f:section>
<f:section name="Content">
<v:page.content.render column="0" />
</f:section>
<f:section name="AnotherSection">
<!-- more sections as desired, rendering triggered from the "Page.html" Layout file -->
</f:section>
</div>
ext_emconf.php
<?php
$EM_CONF[$_EXTKEY] = array (
'title' => 'Homepage',
'description' => 'Homepage',
'category' => 'misc',
'shy' => 0,
'version' => '1.0.0',
'dependencies' => '',
'conflicts' => '',
'priority' => '',
'loadOrder' => '',
'module' => '',
'state' => 'stable',
'uploadfolder' => 0,
'createDirs' => '',
'modify_tables' => '',
'clearcacheonload' => 0,
'lockType' => '',
'author' => 'me',
'author_email' => 'mail@me.com',
'author_company' => 'me',
'CGLcompliance' => NULL,
'CGLcompliance_note' => NULL,
'constraints' =>
array (
'depends' =>
array (
'typo3' => '6.1.0',
'cms' => '',
'flux' => '5.0.0',
),
'conflicts' =>
array (
'templavoila' => '',
),
'suggests' =>
array (
),
),
);
?>
ext_tables.php
<?php
if (!defined ('TYPO3_MODE')) {
die ('Access denied.');
}
t3lib_extMgm::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'My Extension Homepage');
Tx_Flux_Core::registerProviderExtensionKey('my_extension', 'Page');
SO、問題は次のとおり です。バックエンドは機能しているように見えますが、フロントエンドでPHPの致命的なエラーが常に発生しています。
コア: エラー ハンドラー (FE): PHP 警告: C:\xampp\apache\htdocs\typo-fluid\typo3temp\Cache\Code\cache_core\ClassLoader_AbstractConfigurationProvider_bc71b4377996b2e6d72f.php 行 481 の foreach() に無効な引数が指定されました
デバッグ中に、指定された値が null であることがわかりました。シンプルなものが欠けているようです。しかし、上記のファイル構造は、このことのわずかに変更されたバージョンです
Fedexツールを使用していくつかのテンプレートとコンテンツ要素を作成するためのステップバイステップのチュートリアルはありますか? 導入パッケージをインストールし、バックエンドとファイル構造の設定をコピーしようとしたため、十分ではないようで、本当に基本的なものが欠けているようです。
更新: thisとthisも見ました。フェデックスツールの作成者であるClaus Dueから回答を得たいと思っています。