Moinsen!
Kotz, irgendwie bin ich genervt, sorry. Ich danke trotzdem schon mal allen für ihre Hilfe!
Laut fluidtypo3.org ist das ja alles supdidupi easy, wird alles sofort erkannt, ein paar Zeilen Setup und das war schon der Schlüssel zum Glück.
Jetzt also wie folgt vorgegangen:
ext_emconf.php:
<?php
/***************************************************************
* Extension Manager/Repository config file for ext: "tc_page_content_distribution"
*
* Auto generated by Extension Builder 2015-08-16
*
* Manual updates:
* Only the data in the array - anything else is removed by next write.
* "version" and "dependencies" must not be touched!
***************************************************************/
$EM_CONF[$_EXTKEY] = array(
'title' => 'TC Page Content Distribution',
'description' => 'Page and Content Distribution featuring flux / fluid',
'category' => 'plugin',
'author' => 'Peter',
'author_email' => 'null@nullstein.de',
'state' => 'alpha',
'internal' => '',
'uploadfolder' => '0',
'createDirs' => '',
'clearCacheOnLoad' => 0,
'version' => '1.0.0',
'constraints' => array(
'depends' => array(
'typo3' => '6.2',
'flux' => '',
),
'conflicts' => array(
),
'suggests' => array(
),
),
);
ext_localconf.php:
<?php
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
// Registriere Content- und Page-Element
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('tc_page_content_distribution', 'Content');
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('tc_page_content_distribution', 'Page');
// Registriere das TypoScript
\FluidTYPO3\Flux\Core::addStaticTypoScript('EXT:tc_page_content_distribution/Configuration/TypoScript/');
ext_tables.php:
<?php
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
//\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'TC Page Content Distribution');
Minimale setup.txt erstellt:
# Default PAGE object:
page = PAGE
# Define output for typeNum=0, the default type.
page.typeNum = 0
page = PAGE
page {
10 = FLUIDTEMPLATE
10 {
templateRootPath = EXT:tc_page_content_distribution/Resources/Private/Templates/
partialRootPath = EXT:tc_page_content_distribution/Resources/Private/Partials/
layoutRootPath = EXT:tc_page_content_distribution/Resources/Private/Layouts/
variables {
content < styles.content.get
}
}
Dazu folgende Verzeichnisstruktur (nur relevante genannt, Language / Public etc. besteht natürlich auch):
Resources
|_ Private
|_Layouts
| |_ Content.html (1)
| |_ Page.html (2)
|_Templates
| |_Content
| |_Teaser.html (3)
| |_Page
| |_Page.html (4)
Codes zu den oben beschriebenen Nummern in Klammern:
(1)
<f:layout name="Content" />
<f:render section="Main" />
(2)
<f:layout name="Page" />
<div id="page" class="{settings.pageClass}">
<div id="content">
<f:render section="Content" />
</div>
</div>
(3)
<div xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers"
xmlns:flux="http://typo3.org/ns/FluidTYPO3/Flux/ViewHelpers"
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers">
<f:layout name="Content"/>
<f:section name="Configuration">
<flux:form id="teaser">
<flux:field.file name="image" allowed="jpg" uploadFolder="uploads/tx_quickstart" minItems="1" maxItems="1" size="1" />
<flux:field.input name="headline" />
<flux:field.text name="teasertext" rows="5" cols="30" required="TRUE" />
<flux:field.input name="link">
<flux:wizard.link activeTab="page"/>
</flux:field.input>
</flux:form>
</f:section>
<f:section name="Preview">
<table width="100%">
<tr>
<td width="50%"><v:media.image src="uploads/tx_quickstart/{image}" alt="{headline}" width="100" /></td>
<td width="50%">
<f:format.crop maxCharacters="50">{teasertext}</f:format.crop>
<f:if condition="{link}">
<strong>Link:</strong> {link}
</f:if>
</td>
</tr>
</table>
</f:section>
<f:section name="Main">
<div class="quickstart-teaser">
<article>
<h1>{headline}</h1>
<div class="image-wrapper">
<v:media.image src="uploads/tx_quickstart/{image}" alt="{headline}" width="200" />
</div>
<div class="text-wrapper">
<f:format.nl2br>{teasertext}</f:format.nl2br>
<f:if condition="{link}">
<f:link.page pageUid="{link}" title="{headline}" class="readmore">read more</f:link.page>
</f:if>
</div>
</article>
</div>
</f:section>
</div>
(4)
<div xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers"
xmlns:flux="http://typo3.org/ns/flux/ViewHelpers"
xmlns:v="http://typo3.org/ns/vhs/ViewHelpers">
<f:layout name="Page" />
<f:section name="Configuration">
<flux:form id="page">
<!-- Input field for Fluid variable 'pageClass' -->
<flux:field.input name="settings.pageClass" default="some-css-class" />
<!-- Backend layout grid (TYPO3 6.x and greater only) -->
<flux:grid>
<flux:grid.row>
<flux:grid.column colPos="1" name="Sidebar" style="width: 25%" />
<flux:grid.column colPos="0" name="Content" style="width: 75%" />
</flux:grid.row>
</flux:grid>
</flux:form>
</f:section>
<f:section name="Content">
<!-- Render colPos=0 in this section -->
<v:content.render column="0" />
</f:section>
<f:section name="Sidebar">
<!-- Render colPos=1 in this section -->
<v:content.render column="1" />
</f:section>
</div>
Angeblich soll hier ja auch durch die Registrierung von "Content" in der Localconf, und die beiden unter (1) und (3) beschriebenen htmls folgendes passieren: "After clearing caches you should now see a new tab FCE in the New Content Element Wizard that makes our new content element selectable." Fast schon müßig zu erwähnen, dass das natürlich nicht klappt, und garnichts passiert.
Im Frontend taucht nur ein: "Oops, an error occurred!
Template could not be found at "/var/www/virtual/***/html/***/"." auf. Nur, wenn ich im setup den Link zu irgendeiner index.html "hart" verlege: "file = EXT:tc_page_content_distribution/Resources/Private/Templates/Page/Page.html", passiert irgendwas - aber angeblich soll das doch automatisch gehen? Was hab' ich falsch gemacht?
Ich kann die Extension auch gerne mal hochladen, vielen Dank schon mal für Eure Hilfe!
BG
nullstein