This commit is contained in:
Philipp Dieter 2018-11-30 22:50:45 +01:00
commit baa56b6dc3
43 changed files with 1794 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/vendor/

View File

@ -0,0 +1,30 @@
<?php
namespace Cjel\TemplatesAide\Controller;
/***
*
* This file is part of the "Templates Aide" Extension for TYPO3 CMS.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* (c) 2018 Philipp Dieter <philippdieter@attic-media.net>
*
***/
/**
* DummyController
*/
class DummyController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{
/**
* action list
*
* @return void
*/
public function listAction()
{
$dummies = $this->dummyRepository->findAll();
$this->view->assign('dummies', $dummies);
}
}

View File

@ -0,0 +1,20 @@
<?php
namespace Cjel\TemplatesAide\Domain\Model;
/***
*
* This file is part of the "Templates Aide" Extension for TYPO3 CMS.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* (c) 2018 Philipp Dieter <philippdieter@attic-media.net>
*
***/
/**
* Dummy
*/
class Dummy extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
}

View File

@ -0,0 +1,46 @@
<?php
namespace Cjel\TemplatesAide\Hooks;
/***
*
* This file is part of the "Templates Aide" Extension for TYPO3 CMS.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* (c) 2018 Philipp Dieter <philippdieter@attic-media.net>
*
***/
//use GridElementsTeam\Gridelements\Backend\LayoutSetup;
//use TYPO3\CMS\Backend\Controller\ContentElement\NewContentElementController;
//use TYPO3\CMS\Backend\Utility\BackendUtility;
use TYPO3\CMS\Backend\Wizard\NewContentElementWizardHookInterface;
//use TYPO3\CMS\Core\Imaging\IconProvider\BitmapIconProvider;
//use TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider;
//use TYPO3\CMS\Core\Imaging\IconRegistry;
//use TYPO3\CMS\Core\Utility\GeneralUtility;
//use TYPO3\CMS\Core\Utility\StringUtility;
//use TYPO3\CMS\Lang\LanguageService;
/**
* Class/Function which manipulates the rendering of items within the new content element wizard
*
* @author Jo Hasenau <info@cybercraft.de>, Tobias Ferger <tobi@tt36.de>
* @package TYPO3
* @subpackage tx_gridelements
*/
class WizardItems implements NewContentElementWizardHookInterface
{
/**
* @param array $wizardItems The array containing the current status of the wizard item list before rendering
* @param NewContentElementController $parentObject The parent object that triggered this hook
*/
public function manipulateWizardItems(&$wizardItems, &$parentObject)
{
\TYPO3\CMS\Core\Utility\DebugUtility::debug($parentObject);
}
}

View File

@ -0,0 +1,101 @@
#
# Extension Builder settings for extension templates_aide
# generated 2018-11-29T12:57:00Z
#
# See http://www.yaml.org/spec/1.2/spec.html
#
---
########### Overwrite settings ###########
#
# These settings only apply, if the roundtrip feature of the extension builder
# is enabled in the extension manager
#
# Usage:
# nesting reflects the file structure
# a setting applies to a file or recursive to all files and subfolders
#
# merge:
# means for classes: All properties ,methods and method bodies
# of the existing class will be modified according to the new settings
# but not overwritten
#
# for locallang xlf files: Existing keys and labels are always
# preserved (renaming a property or DomainObject will result in new keys and new labels)
#
# for other files: You will find a Split token at the end of the file
# see: \EBT\ExtensionBuilder\Service\RoundTrip::SPLIT_TOKEN
#
# After this token you can write whatever you want and it will be appended
# everytime the code is generated
#
# keep:
# files are never overwritten
# These settings may break the functionality of the extension builder!
# Handle with care!
#
#
############ extension settings ##############
overwriteSettings:
Classes:
Controller: merge
Domain:
Model: merge
Repository: merge
Configuration:
#TCA merge not possible - use overrides directory
TypoScript: merge
Resources:
Private:
Language: merge
Templates: keep
user_extension.svg: keep
ext_localconf.php: merge
ext_tables.php: merge
ext_tables.sql: merge
## use static date attribute in xliff files ##
#staticDateInXliffFiles: 2018-11-29T12:57:00Z
## skip docComment (license header) ##
#skipDocComment
## list of error codes for warnings that should be ignored ##
#ignoreWarnings:
#503
######### settings for classBuilder #############################
#
# here you may define default parent classes for your classes
# these settings only apply for new generated classes
# you may also just change the parent class in the generated class file.
# It will be kept on next code generation, if the overwrite settings
# are configured to merge it
#
#################################################################
classBuilder:
Controller:
parentClass: \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
Model:
AbstractEntity:
parentClass: \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
AbstractValueObject:
parentClass: \TYPO3\CMS\Extbase\DomainObject\AbstractValueObject
Repository:
parentClass: \TYPO3\CMS\Extbase\Persistence\Repository
setDefaultValuesForClassProperties: true

View File

@ -0,0 +1,119 @@
<?php
return [
'ctrl' => [
'title' => 'LLL:EXT:templates_aide/Resources/Private/Language/locallang_db.xlf:tx_templatesaide_domain_model_dummy',
'label' => 'uid',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'versioningWS' => true,
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'delete' => 'deleted',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
],
'searchFields' => '',
'iconfile' => 'EXT:templates_aide/Resources/Public/Icons/tx_templatesaide_domain_model_dummy.gif'
],
'interface' => [
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, ',
],
'types' => [
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, , --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'],
],
'columns' => [
'sys_language_uid' => [
'exclude' => true,
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'special' => 'languages',
'items' => [
[
'LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages',
-1,
'flags-multiple'
]
],
'default' => 0,
],
],
'l10n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => true,
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'default' => 0,
'items' => [
['', 0],
],
'foreign_table' => 'tx_templatesaide_domain_model_dummy',
'foreign_table_where' => 'AND tx_templatesaide_domain_model_dummy.pid=###CURRENT_PID### AND tx_templatesaide_domain_model_dummy.sys_language_uid IN (-1,0)',
],
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough',
],
],
't3ver_label' => [
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
'config' => [
'type' => 'input',
'size' => 30,
'max' => 255,
],
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
'config' => [
'type' => 'check',
'items' => [
'1' => [
'0' => 'LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:labels.enabled'
]
],
],
],
'starttime' => [
'exclude' => true,
'behaviour' => [
'allowLanguageSynchronization' => true
],
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'size' => 13,
'eval' => 'datetime',
'default' => 0,
],
],
'endtime' => [
'exclude' => true,
'behaviour' => [
'allowLanguageSynchronization' => true
],
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'size' => 13,
'eval' => 'datetime',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
],
],
],
],
];

View File

@ -0,0 +1,82 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _admin-manual:
Administrator Manual
====================
Target group: **Administrators**
Describes how to manage the extension from an administrator point of view.
That relates to Page/User TSconfig, permissions, configuration etc.,
which administrator level users have access to.
Language should be non / semi-technical, explaining, using small examples.
.. _admin-installation:
Installation
------------
- How should the extension be installed?
- Are they dependencies to resolve?
- Is it a static template file to be included?
To install the extension, perform the following steps:
#. Go to the Extension Manager
#. Install the extension
#. Load the static template
#. ...
For a list of configuration options, using a definition list is recommended:
Some Configuration
This option enables...
Other configuration
This other option is for all the rest...
.. figure:: ../Images/AdministratorManual/ExtensionManager.png
:alt: Extension Manager
Extension Manager (caption of the image)
List of extensions within the Extension Manager also shorten with "EM" (legend of the image)
.. _admin-configuration:
Configuration
-------------
* Where and how the extension should be configured? TypoScript? PHP?
* Are there other prerequisite to full fill beforehand?
For example, configure a setting in a special way somewhere.
.. _admin-faq:
FAQ
---
Possible subsection: FAQ
Subsection
^^^^^^^^^^
Some subsection
Sub-subsection
""""""""""""""
Deeper into the structure...

View File

@ -0,0 +1,16 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _changelog:
ChangeLog
=========
Providing a change log chapter is optional. You can also refer
users to the ChangeLog file inside the extension or to some repository's
commit listing.

View File

@ -0,0 +1,106 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _configuration:
Configuration Reference
=======================
Technical information: Installation, Reference of TypoScript options,
configuration options on system level, how to extend it, the technical
details, how to debug it and so on.
Language should be technical, assuming developer knowledge of TYPO3.
Small examples/visuals are always encouraged.
Target group: **Developers**
.. _configuration-typoscript:
TypoScript Reference
--------------------
Possible subsections: Reference of TypoScript options.
The construct below show the recommended structure for
TypoScript properties listing and description.
Properties should be listed in the order in which they
are executed by your extension, but the first should be
alphabetical for easier access.
When detailing data types or standard TypoScript
features, don't hesitate to cross-link to the TypoScript
Reference as shown below. See the :file:`Settings.yml`
file for the declaration of cross-linking keys.
Properties
^^^^^^^^^^
.. container:: ts-properties
=========================== ===================================== ======================= ====================
Property Data type :ref:`t3tsref:stdwrap` Default
=========================== ===================================== ======================= ====================
allWrap_ :ref:`t3tsref:data-type-wrap` yes :code:`<div>|</div>`
`subst\_elementUid`_ :ref:`t3tsref:data-type-boolean` no 0
wrapItemAndSub_ :ref:`t3tsref:data-type-wrap`
=========================== ===================================== ======================= ====================
Property details
^^^^^^^^^^^^^^^^
.. only:: html
.. contents::
:local:
:depth: 1
.. _ts-plugin-tx-extensionkey-stdwrap:
allWrap
"""""""
:typoscript:`plugin.tx_extensionkey.allWrap =` :ref:`t3tsref:data-type-wrap`
Wraps the whole item.
.. _ts-plugin-tx-extensionkey-wrapitemandsub:
wrapItemAndSub
""""""""""""""
:typoscript:`plugin.tx_extensionkey.wrapItemAndSub =` :ref:`t3tsref:data-type-wrap`
Wraps the whole item and any submenu concatenated to it.
.. _ts-plugin-tx-extensionkey-substelementUid:
subst_elementUid
""""""""""""""""
:typoscript:`plugin.tx_extensionkey.subst_elementUid =` :ref:`t3tsref:data-type-boolean`
If set, all appearances of the string ``{elementUid}`` in the total
element html-code (after wrapped in allWrap_) are substituted with the
uid number of the menu item. This is useful if you want to insert an
identification code in the HTML in order to manipulate properties with
JavaScript.
.. _configuration-faq:
FAQ
---
Possible subsection: FAQ

View File

@ -0,0 +1,60 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _developer:
Developer Corner
================
Target group: **Developers**
Use this section for *providing code examples* or any **useful** information code wise.
.. _developer-hooks:
Hooks
-----
Possible hook examples. Input parameters are:
+----------------+---------------+---------------------------------+
| Parameter | Data type | Description |
+================+===============+=================================+
| $table | string | Name of the table |
+----------------+---------------+---------------------------------+
| $field | string | Name of the field |
+----------------+---------------+---------------------------------+
Use parameter :code:`$table` to retrieve the table name...
.. _developer-api:
API
---
How to use the API...
.. code-block:: php
$stuff = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
'\\Foo\\Bar\\Utility\\Stuff'
);
$stuff->do();
or some other language:
.. code-block:: javascript
:linenos:
:emphasize-lines: 2-4
$(document).ready(
function () {
doStuff();
}
);

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View File

@ -0,0 +1,21 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. This is 'Includes.txt'. It is included at the very top of each and
every ReST source file in this documentation project (= manual).
.. ==================================================
.. DEFINE SOME TEXT ROLES
.. --------------------------------------------------
.. role:: typoscript(code)
.. role:: ts(typoscript)
:class: typoscript
.. role:: php(code)
.. highlight:: php

View File

@ -0,0 +1,63 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: Includes.txt
.. _start:
=============================================================
Templates Aide
=============================================================
.. only:: html
:Classification:
templates_aide
:Version:
|release|
:Language:
en
:Description:
:Keywords:
comma,separated,list,of,keywords
:Copyright:
2018
:Author:
Philipp Dieter
:Email:
philippdieter@attic-media.net
:License:
This document is published under the Open Content License
available from http://www.opencontent.org/opl.shtml
:Rendered:
|today|
The content of this document is related to TYPO3,
a GNU/GPL CMS/Framework available from `www.typo3.org <http://www.typo3.org/>`_.
**Table of Contents**
.. toctree::
:maxdepth: 3
:titlesonly:
Introduction/Index
User/Index
Administrator/Index
Configuration/Index
Developer/Index
KnownProblems/Index
ToDoList/Index
ChangeLog/Index
Links

View File

@ -0,0 +1,46 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _introduction:
Introduction
============
.. _what-it-does:
What does it do?
----------------
This chapter should give a brief overview of the extension. What does it do? What problems does it solve?
Who is interested in this? Basically, this section includes everything people need to know to decide whether they
should go on with this extension or not.
.. important::
Please don't forget to repeat your extension's version number in the
:file:`Settings.yml` file, in the :code:`release` property. It will be
automatically picked up on the cover page by the :code:`|release|`
substitution.
.. _screenshots:
Screenshots
-----------
This chapter should help people figure how the extension works. Remove it
if not relevant.
.. figure:: ../Images/IntroductionPackage.png
:width: 500px
:alt: Introduction Package
Introduction Package just after installation (caption of the image)
How the Frontend of the Introduction Package looks like just after installation (legend of the image)

View File

@ -0,0 +1,17 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _known-problems:
Known Problems
==============
Say where bugs can be reported / followed up. Is it a
`bug tracker <http://forge.typo3.org/projects/typo3cms-doc-official-extension-template/issues>`_?
Use this section for informing about any type of of problem
that are not necessarily named in the bug tracker such as performance issues, ...

View File

@ -0,0 +1,24 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: Includes.txt
.. _links:
Links
-----
:TER:
https://typo3.org/extensions/repository/view/<extension key>
:Bug Tracker:
https://forge.typo3.org/projects/extension-<extension key>/issues
:Git Repository:
https://github.com/<username>/<extension key>
:Contact:
`@<username> <https://twitter.com/your-username>`__

View File

@ -0,0 +1,65 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _start:
=============================================================
###PROJECT_NAME### (Deutsch)
=============================================================
.. only:: html
:Klassifikation:
extension_key
:Version:
|release|
:Sprache:
de
:Beschreibung:
Geben Sie eine Beschreibung ein.
:Schlüsselwörter:
komma-getrennte,Liste,von,Schlüsselwörtern
:Copyright:
###YEAR###
:Autor:
###AUTHOR###
:E-Mail:
author@example.com
:Lizenz:
Dieses Dokument wird unter der Open Publication License, siehe
http://www.opencontent.org/openpub/ veröffentlicht.
:Gerendert:
|today|
Der Inhalt dieses Dokuments bezieht sich auf TYPO3,
ein GNU/GPL CMS-Framework auf `www.typo3.org <https://typo3.org/>`__.
**Inhaltsverzeichnis**
.. toctree::
:maxdepth: 3
:titlesonly:
.. Introduction/Index
.. UserManual/Index
.. AdministratorManual/Index
.. Configuration/Index
.. DeveloperCorner/Index
.. KnownProblems/Index
.. ToDoList/Index
.. ChangeLog/Index

View File

@ -0,0 +1,24 @@
How to translate
================
This directory contains the German translation of your documentation.
This is a complete Sphinx project but you may reuse assets from the
main documentation under Documentation/.
If you plan to translate your documentation to German, you should
rename this directory and remove the suffix ".tmpl":
Localization.de_DE.tmpl -> Localization.de_DE
As this file is not needed either, feel free to delete it as well.
Supported languages
===================
Please visit http://sphinx-doc.org/latest/config.html#intl-options for a
list of languages supported by Sphinx.
Please note however that TYPO3 is using locales so you may need to
extend the language code from Sphinx into a proper locale to be used
by TYPO3.

View File

@ -0,0 +1,29 @@
# This is the project specific Settings.yml file.
# Place Sphinx specific build information here.
# Settings given here will replace the settings of 'conf.py'.
# Below is an example of intersphinx mapping declaration
# Add more mappings depending on what manual you want to link to
# Remove entirely if you don't need cross-linking
---
conf.py:
copyright: 2012-2015
project: Extension Name (Deutsch)
version: x.y
release: x.y.z
intersphinx_mapping:
t3tsref:
- https://docs.typo3.org/typo3cms/TyposcriptReference/
- null
latex_documents:
- - Index
- <extension_key>.tex
- Extension Name (Français)
- Your Name
- manual
latex_elements:
papersize: a4paper
pointsize: 10pt
preamble: \usepackage{typo3}
...

View File

@ -0,0 +1,65 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _start:
=============================================================
###PROJECT_NAME### (Français)
=============================================================
.. only:: html
:Classification:
extension_key
:Version:
|release|
:Langue:
fr
:Description:
entrez une description.
:Mots-clés:
list,mots-clés,séparés,par,virgules
:Copyright:
###YEAR###
:Auteur:
###AUTHOR###
:E-mail:
author@example.com
:Licence:
Ce document est publié sous la licence de publication libre
disponible sur http://www.opencontent.org/openpub/
:Généré:
|today|
Le contenu de ce document est en relation avec TYPO3,
un CMS/Framework GNU/GPL disponible sur `www.typo3.org <https://typo3.org/>`__.
**Sommaire**
.. toctree::
:maxdepth: 3
:titlesonly:
.. Introduction/Index
.. UserManual/Index
.. AdministratorManual/Index
.. Configuration/Index
.. DeveloperCorner/Index
.. KnownProblems/Index
.. ToDoList/Index
.. ChangeLog/Index

View File

@ -0,0 +1,24 @@
How to translate
================
This directory contains the French translation of your documentation.
This is a complete Sphinx project but you may reuse assets from the
main documentation under Documentation/.
If you plan to translate your documentation to French, you should
rename this directory and remove the suffix ".tmpl":
Localization.fr_FR.tmpl -> Localization.fr_FR
As this file is not needed either, feel free to delete it as well.
Supported languages
===================
Please visit http://sphinx-doc.org/latest/config.html#intl-options for a
list of languages supported by Sphinx.
Please note however that TYPO3 is using locales so you may need to
extend the language code from Sphinx into a proper locale to be used
by TYPO3.

View File

@ -0,0 +1,29 @@
# This is the project specific Settings.yml file.
# Place Sphinx specific build information here.
# Settings given here will replace the settings of 'conf.py'.
# Below is an example of intersphinx mapping declaration
# Add more mappings depending on what manual you want to link to
# Remove entirely if you don't need cross-linking
---
conf.py:
copyright: 2012-2015
project: Extension Name (Français)
version: x.y
release: x.y.z
intersphinx_mapping:
t3tsref:
- https://docs.typo3.org/typo3cms/TyposcriptReference/
- null
latex_documents:
- - Index
- <extension_key>.tex
- Extension Name (Français)
- Your Name
- manual
latex_elements:
papersize: a4paper
pointsize: 10pt
preamble: \usepackage{typo3}
...

View File

@ -0,0 +1,32 @@
# This is the project specific Settings.yml file.
# Place Sphinx specific build information here.
# Settings given here will replace the settings of 'conf.py'.
# Below is an example of intersphinx mapping declaration
# Add more mappings depending on what manual you want to link to
# Remove entirely if you don't need cross-linking
---
conf.py:
copyright: 2018
project: Templates Aide
version: 0.0.1
release: 0.0.1
intersphinx_mapping:
t3tsref:
- http://docs.typo3.org/typo3cms/TyposcriptReference/
- null
latex_documents:
- - Index
- templates_aide.tex
- Templates Aide
- Philipp Dieter
- manual
latex_elements:
papersize: a4paper
pointsize: 10pt
preamble: \usepackage
html_theme_options:
github_repository: TYPO3-Documentation/TYPO3CMS-Example-ExtensionManual
github_branch: latest
...

View File

@ -0,0 +1,16 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _todo:
To-Do list
==========
Give a link pointing to a `roadmap <http://forge.typo3.org/projects/typo3cms-doc-official-extension-template/roadmap>`_.
Alternatively, you can dress up a list of things you want to add or fix in this chapter
or give a vision about where the extension is heading.

View File

@ -0,0 +1,67 @@
.. ==================================================
.. FOR YOUR INFORMATION
.. --------------------------------------------------
.. -*- coding: utf-8 -*- with BOM.
.. include:: ../Includes.txt
.. _user-manual:
Users Manual
============
Target group: **Editors**
Here should be described how to use the extension from the editor perspective.
- How does it work?
- works well when doing this.
- does not work so well when doing that
but we can live with it.
- **mind indentation when nesting lists**.
- How to install the plugin on a web page?
- What options are available?
Language should be non-technical, explaining, using small examples.
Don't use to many acronyms unless they have been explained.
Don't be confusing by putting information targeting administrators.
.. tip::
Take a break from time to time.
Admonitions should be used to warn the users about potential
pitfalls, attract their attention to important elements
or just add some notes for for information (further reading,
for example).
.. important::
Remember to always say "please" when asking your software to
do something.
Provide screenshots as needed for making things clear. When creating
screenshots, try using the `Introduction Package <http://demo.typo3.org/>`_
as a neutral TYPO3 CMS instance.
.. figure:: ../Images/UserManual/BackendView.png
:width: 500px
:alt: Backend view
Default Backend view (caption of the image)
The Backend view of TYPO3 after the user has clicked on module "Page". (legend of the image)
.. _user-faq:
FAQ
---
Possible subsection: FAQ

80
ExtensionBuilder.json Normal file
View File

@ -0,0 +1,80 @@
{
"modules": [
{
"config": {
"position": [
78,
217
]
},
"name": "New Model Object",
"value": {
"actionGroup": {
"_default0_list": true,
"_default1_show": false,
"_default2_new_create": false,
"_default3_edit_update": false,
"_default4_delete": false,
"customActions": []
},
"name": "Dummy",
"objectsettings": {
"addDeletedField": true,
"addHiddenField": true,
"addStarttimeEndtimeFields": true,
"aggregateRoot": false,
"categorizable": false,
"description": "",
"mapToTable": "",
"parentClass": "",
"skipTypeConfiguration": false,
"sorting": false,
"type": "Entity",
"uid": "902454128297"
},
"propertyGroup": {
"properties": []
},
"relationGroup": {
"relations": []
}
}
}
],
"properties": {
"backendModules": [],
"description": "",
"emConf": {
"category": "plugin",
"custom_category": "",
"dependsOn": "typo3 => 8.7.0-8.7.99\n",
"disableLocalization": false,
"disableVersioning": false,
"skipGenerateDocumentationTemplate": false,
"sourceLanguage": "en",
"state": "alpha",
"targetVersion": "8.7.0-8.7.99",
"version": "0.0.1"
},
"extensionKey": "templates_aide",
"name": "Templates Aide",
"originalExtensionKey": "templates_aide",
"originalVendorName": "Cjel",
"persons": [
{
"company": "",
"email": "philippdieter@attic-media.net",
"name": "Philipp Dieter",
"role": "Developer"
}
],
"plugins": [],
"vendorName": "Cjel"
},
"wires": [],
"log": {
"last_modified": "2018-11-29 03:46",
"extension_builder_version": "8.10.2",
"be_user": "Philipp Dieter (1)"
}
}

View File

@ -0,0 +1,11 @@
# Apache < 2.3
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
Satisfy All
</IfModule>
# Apache >= 2.3
<IfModule mod_authz_core.c>
Require all denied
</IfModule>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="messages" date="2018-11-29T15:46:30Z" product-name="templates_aide">
<header/>
<body>
<trans-unit id="tx_templatesaide_domain_model_dummy">
<source>Dummy</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="messages" date="2018-11-29T15:46:30Z" product-name="templates_aide">
<header/>
<body>
<trans-unit id="tx_templatesaide_domain_model_dummy">
<source>Dummy</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@ -0,0 +1,14 @@
.topbar-header-site {
background: repeating-linear-gradient(
45deg,
transparent,
transparent 10px,
#008000 10px,
#008000 20px
),
linear-gradient(
to bottom,
#565656,
#151515
)
}

View File

@ -0,0 +1,14 @@
.topbar-header-site {
background: repeating-linear-gradient(
45deg,
transparent,
transparent 10px,
#cc9900 10px,
#cc9900 20px
),
linear-gradient(
to bottom,
#565656,
#151515
)
}

View File

@ -0,0 +1,263 @@
/****************************************************************************************
# Css file for content edited with CKEditor
#
# Defaults taken from extension CKSource by Frederico Knabben. All rights reserved.
# ***************************************************************************************/
body
{
/* Font */
font-family: sans-serif, Arial, Verdana, "Trebuchet MS";
font-size: 12px;
/* Text color */
color: #333;
/* Remove the background color to make it transparent */
background-color: #fff;
margin: 20px;
}
.cke_editable
{
font-size: 13px;
line-height: 1.6;
/* Fix for missing scrollbars with RTL texts. (#10488) */
word-wrap: break-word;
}
blockquote
{
font-style: italic;
font-family: Georgia, Times, "Times New Roman", serif;
padding: 2px 0;
border-style: solid;
border-color: #ccc;
border-width: 0;
}
.cke_contents_ltr blockquote
{
padding-left: 20px;
padding-right: 8px;
border-left-width: 5px;
}
.cke_contents_rtl blockquote
{
padding-left: 8px;
padding-right: 20px;
border-right-width: 5px;
}
a
{
color: #0782C1;
}
ol,ul,dl
{
/* IE7: reset rtl list margin. (#7334) */
*margin-right: 0px;
/* preserved spaces for list items with text direction other than the list. (#6249,#8049)*/
padding: 0 40px;
}
h1,h2,h3,h4,h5,h6
{
font-weight: normal;
line-height: 1.2;
}
hr
{
border: 0px;
border-top: 1px solid #ccc;
}
img.right
{
border: 1px solid #ccc;
float: right;
margin-left: 15px;
padding: 5px;
}
img.left
{
border: 1px solid #ccc;
float: left;
margin-right: 15px;
padding: 5px;
}
pre
{
white-space: pre-wrap; /* CSS 2.1 */
word-wrap: break-word; /* IE7 */
-moz-tab-size: 4;
tab-size: 4;
}
table {
border-collapse: collapse;
background-color: transparent;
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
padding-left: 100px;
}
table th,
table td {
padding: 0.25rem;
vertical-align: top;
}
table thead th {
vertical-align: bottom;
border-bottom: 2px solid #eceeef;
}
.marker
{
background-color: Yellow;
}
span[lang]
{
font-style: italic;
}
figure
{
text-align: center;
border: solid 1px #ccc;
border-radius: 2px;
background: rgba(0,0,0,0.05);
padding: 10px;
margin: 10px 20px;
display: inline-block;
}
figure > figcaption
{
text-align: center;
display: block; /* For IE8 */
}
a > img {
padding: 1px;
margin: 1px;
border: none;
outline: 1px solid #0782C1;
}
/* Widget Styles */
.code-featured
{
border: 5px solid red;
}
.math-featured
{
padding: 20px;
box-shadow: 0 0 2px rgba(200, 0, 0, 1);
background-color: rgba(255, 0, 0, 0.05);
margin: 10px;
}
.image-clean
{
border: 0;
background: none;
padding: 0;
}
.image-clean > figcaption
{
font-size: .9em;
text-align: right;
}
.image-grayscale
{
background-color: white;
color: #666;
}
.image-grayscale img, img.image-grayscale
{
filter: grayscale(100%);
}
.embed-240p
{
max-width: 426px;
max-height: 240px;
margin:0 auto;
}
.embed-360p
{
max-width: 640px;
max-height: 360px;
margin:0 auto;
}
.embed-480p
{
max-width: 854px;
max-height: 480px;
margin:0 auto;
}
.embed-720p
{
max-width: 1280px;
max-height: 720px;
margin:0 auto;
}
.embed-1080p
{
max-width: 1920px;
max-height: 1080px;
margin:0 auto;
}
/** justify **/
.text-left {
text-align: left;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.text-justify {
text-align: justify;
}
/** custom **/
.like-h2 {
color: #025093;
}
.like-h4 {
font-size: 16px;
}
.btn {
border: 1px solid black
}
.smallremark {
font-size: 13px;
}
.header-allowed {
color: #8abf6f;
}
.header-notallowed {
color: #b1334a;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

View File

@ -0,0 +1,62 @@
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
define(["require", "exports", "jquery"], function (require, exports, $) {
"use strict";
/**
* Module: TYPO3/CMS/Backend/ColorPicker
* contains all logic for the color picker used in FormEngine
* @exports TYPO3/CMS/Backend/ColorPicker
*/
var NewContentElementWizardPreview = (function() {
//console.log('loaded here ==============');
$('.media-new-content-element-wizard .t3js-icon').hover(
function() {
console.log('mouse in');
}, function() {
console.log('mouse out');
}
)
}());
return new NewContentElementWizardPreview();
//var ColorPicker = (function () {
/**
* The constructor, set the class properties default values
*/
// function ColorPicker() {
// this.selector = '.t3js-color-picker';
// }
/**
* Initialize the color picker for the given selector
*/
// ColorPicker.prototype.initialize = function () {
// $(this.selector).minicolors({
// format: 'hex',
// position: 'bottom left',
// theme: 'bootstrap',
// });
// $(document).on('change', '.t3js-colorpicker-value-trigger', function (event) {
// var $element = $(event.target);
// if ($element.val() !== '') {
// $element.closest('.t3js-formengine-field-item')
// .find('.t3js-color-picker')
// .val($element.val())
// .trigger('paste');
// $element.val('');
// }
// });
// };
// return ColorPicker;
//}());
//return new ColorPicker();
});

View File

@ -0,0 +1,53 @@
<?php
namespace Cjel\TemplatesAide\Tests\Unit\Controller;
/**
* Test case.
*
* @author Philipp Dieter <philippdieter@attic-media.net>
*/
class DummyControllerTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
{
/**
* @var \Cjel\TemplatesAide\Controller\DummyController
*/
protected $subject = null;
protected function setUp()
{
parent::setUp();
$this->subject = $this->getMockBuilder(\Cjel\TemplatesAide\Controller\DummyController::class)
->setMethods(['redirect', 'forward', 'addFlashMessage'])
->disableOriginalConstructor()
->getMock();
}
protected function tearDown()
{
parent::tearDown();
}
/**
* @test
*/
public function listActionFetchesAllDummiesFromRepositoryAndAssignsThemToView()
{
$allDummies = $this->getMockBuilder(\TYPO3\CMS\Extbase\Persistence\ObjectStorage::class)
->disableOriginalConstructor()
->getMock();
$dummyRepository = $this->getMockBuilder(\::class)
->setMethods(['findAll'])
->disableOriginalConstructor()
->getMock();
$dummyRepository->expects(self::once())->method('findAll')->will(self::returnValue($allDummies));
$this->inject($this->subject, 'dummyRepository', $dummyRepository);
$view = $this->getMockBuilder(\TYPO3\CMS\Extbase\Mvc\View\ViewInterface::class)->getMock();
$view->expects(self::once())->method('assign')->with('dummies', $allDummies);
$this->inject($this->subject, 'view', $view);
$this->subject->listAction();
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace Cjel\TemplatesAide\Tests\Unit\Domain\Model;
/**
* Test case.
*
* @author Philipp Dieter <philippdieter@attic-media.net>
*/
class DummyTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
{
/**
* @var \Cjel\TemplatesAide\Domain\Model\Dummy
*/
protected $subject = null;
protected function setUp()
{
parent::setUp();
$this->subject = new \Cjel\TemplatesAide\Domain\Model\Dummy();
}
protected function tearDown()
{
parent::tearDown();
}
/**
* @test
*/
public function dummyTestToNotLeaveThisFileEmpty()
{
self::markTestIncomplete();
}
}

28
composer.json Normal file
View File

@ -0,0 +1,28 @@
{
"name": "cjel/templates-aide",
"type": "typo3-cms-extension",
"description": "",
"authors": [
{
"name": "Philipp Dieter",
"role": "Developer"
}
],
"require": {
"typo3/cms-core": "^8.7.1"
},
"autoload": {
"psr-4": {
"Cjel\\TemplatesAide\\": "Classes"
}
},
"autoload-dev": {
"psr-4": {
"Cjel\\TemplatesAide\\Tests\\": "Tests"
}
},
"replace": {
"templates_aide": "self.version",
"typo3-ter/templates-aide": "self.version"
}
}

31
ext_emconf.php Normal file
View File

@ -0,0 +1,31 @@
<?php
/***************************************************************
* Extension Manager/Repository config file for ext: "templates_aide"
*
* Auto generated by Extension Builder 2018-11-29
*
* 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] = [
'title' => 'Templates Aide',
'description' => '',
'category' => 'plugin',
'author' => 'Philipp Dieter',
'author_email' => 'philippdieter@attic-media.net',
'state' => 'alpha',
'uploadfolder' => 0,
'createDirs' => '',
'clearCacheOnLoad' => 0,
'version' => '0.0.1',
'constraints' => [
'depends' => [
'typo3' => '8.7.0-8.7.99',
],
'conflicts' => [],
'suggests' => [],
],
];

40
ext_tables.php Normal file
View File

@ -0,0 +1,40 @@
<?php
defined('TYPO3_MODE') || die('Access denied.');
call_user_func(
function()
{
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('templates_aide', 'Configuration/TypoScript', 'Templates Aide');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_templatesaide_domain_model_dummy', 'EXT:templates_aide/Resources/Private/Language/locallang_csh_tx_templatesaide_domain_model_dummy.xlf');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_templatesaide_domain_model_dummy');
}
);
## EXTENSION BUILDER DEFAULTS END TOKEN - Everything BEFORE this line is overwritten with the defaults of the extension builder
call_user_func(
function()
{
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['db_new_content_el']['wizardItemsHook'][] =
\Cjel\TemplatesAide\Hooks\WizardItems::class;
if(\TYPO3\CMS\Core\Utility\GeneralUtility::getApplicationContext()->isDevelopment()) {
$GLOBALS['TBE_STYLES']['skins']['backend']['stylesheetDirectories']['dev'] =
'EXT:templates_aide/Resources/Public/Css/backend/dev';
}
if(\TYPO3\CMS\Core\Utility\GeneralUtility::getApplicationContext()->__toString() === 'Production/Stage') {
$GLOBALS['TBE_STYLES']['skins']['backend']['stylesheetDirectories']['dev'] =
'EXT:templates_aide/Resources/Public/Css/backend/production-stage';
}
$pageRenderer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
\TYPO3\CMS\Core\Page\PageRenderer::class
);
$pageRenderer->loadRequireJsModule('TYPO3/CMS/TemplatesAide/NewContentElementWizardPreview');
}
);

39
ext_tables.sql Normal file
View File

@ -0,0 +1,39 @@
#
# Table structure for table 'tx_templatesaide_domain_model_dummy'
#
CREATE TABLE tx_templatesaide_domain_model_dummy (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
tstamp int(11) unsigned DEFAULT '0' NOT NULL,
crdate int(11) unsigned DEFAULT '0' NOT NULL,
cruser_id int(11) unsigned DEFAULT '0' NOT NULL,
deleted smallint(5) unsigned DEFAULT '0' NOT NULL,
hidden smallint(5) unsigned DEFAULT '0' NOT NULL,
starttime int(11) unsigned DEFAULT '0' NOT NULL,
endtime int(11) unsigned DEFAULT '0' NOT NULL,
t3ver_oid int(11) DEFAULT '0' NOT NULL,
t3ver_id int(11) DEFAULT '0' NOT NULL,
t3ver_wsid int(11) DEFAULT '0' NOT NULL,
t3ver_label varchar(255) DEFAULT '' NOT NULL,
t3ver_state smallint(6) DEFAULT '0' NOT NULL,
t3ver_stage int(11) DEFAULT '0' NOT NULL,
t3ver_count int(11) DEFAULT '0' NOT NULL,
t3ver_tstamp int(11) DEFAULT '0' NOT NULL,
t3ver_move_id int(11) DEFAULT '0' NOT NULL,
sys_language_uid int(11) DEFAULT '0' NOT NULL,
l10n_parent int(11) DEFAULT '0' NOT NULL,
l10n_diffsource mediumblob,
l10n_state text,
PRIMARY KEY (uid),
KEY parent (pid),
KEY t3ver_oid (t3ver_oid,t3ver_wsid),
KEY language (l10n_parent,sys_language_uid)
);
## EXTENSION BUILDER DEFAULTS END TOKEN - Everything BEFORE this line is overwritten with the defaults of the extension builder