Skip to content
This repository has been archived by the owner on Apr 25, 2023. It is now read-only.

Commit

Permalink
[TASK] Bunch of new changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
instruccionesaldorso committed May 28, 2018
1 parent ed5608f commit 98b2ce1
Show file tree
Hide file tree
Showing 10 changed files with 56 additions and 56 deletions.
Expand Up @@ -23,7 +23,7 @@ front end, that looks - a bit purged - like this:
<a href="index.php?id=99&tx_blogexample_pi1[blog]=6&tx_blogexample_pi1[action]=new&tx_blogexample_pi1[controller]=post">Create a new Post</a>

This was created with the following Fluid code in the template
*EXT:blog_example/Resources/Private/Templates/Post/index.html*:
*EXT:blog_example/Resources/Private/Templates/Post/Index.html*:

::

Expand Down
Expand Up @@ -6,7 +6,7 @@ Automatic persistence of the domain logic
Remarkable at this point is, that up to this time no method to save
the blogs or posts was called. Only the fact that the post is added to the
blog and thereby was changed is enough to initiate extbase to save the
changes permanently (to persist). Like on our first route the persistance
changes permanently (to persist). Like on our first route the persistence
manager is assigned with it by
``$persistenceManager->persistAll()``. This time it collects all
reconstructed objects (e.g. such, that are restored from the database) that
Expand Down
58 changes: 29 additions & 29 deletions Documentation/3-BlogExample/13-notes-for-migrating-users.rst
Expand Up @@ -62,32 +62,32 @@ corresponding places and files, how they are used in Extbase.
configuration files ("EXT:" stands for the path to the extension
directory.)*

+----------------------------+-----------------------------------------+---------------------------------------------------+
|What |So far |With extbase |
+----------------------------+-----------------------------------------+---------------------------------------------------+
|Basic configuration files |Files *ext_** on top level in the |Location as before; Changes in |
| |extension folder |the contents (see below) |
+----------------------------+-----------------------------------------+---------------------------------------------------+
|Configuration of a plugin |In *ext_localconf.php*: |In *ext_localconf.php*: |
| |``t3lib_extMgm::addPItoST43()`` |``Tx_Extbase_Utility_Extension::configurePlugin()``|
| | |(see "Configuring and embedding Frontend Plugins" |
| | |in chapter 7) |
| | | |
| |In *ext_tables.php*: |In *ext_tables.php*: |
| |``t3lib_extMgm::addPlugin()`` |``Tx_Extbase_Utility_Extension::registerPlugin()`` |
| | |(see "Configuring and embedding Frontend Plugins" |
| | |in chapter 7) |
+----------------------------+-----------------------------------------+---------------------------------------------------+
|Configuration of database |SQL definition in *ext_tables.sql* |As before; Pay attention for the naming conventions|
|tables | |of table and field names (see chapter 6) |
+----------------------------+-----------------------------------------+---------------------------------------------------+
|Configuration of the Backend|Basic configuration in *ext_tables.php* |As before |
| |TCA default in *EXT:my_ext/tca.php;* | |
| |Location configurable in *ext_tables.php*| |
+----------------------------+-----------------------------------------+---------------------------------------------------+
|User configuration |TypoScript in |TypoScript in |
| |*EXT:my_ext/static/constants.txt* and |*EXT:my_ext/Configuration/TypoScript/constants.txt*|
| |*EXT:my_ext/static/setup.txt;* Location |and |
| |configurable in *ext_localconf.php* |*EXT:my_ext/Configuration/TypoScript/setup.txt;* |
| | |Location configurable in *ext_localconf.php* |
+----------------------------+-----------------------------------------+---------------------------------------------------+
+----------------------------+-----------------------------------------+------------------------------------------------------------------+
|What |So far |With extbase |
+----------------------------+-----------------------------------------+------------------------------------------------------------------+
|Basic configuration files |Files *ext_** on top level in the |Location as before; Changes in |
| |extension folder |the contents (see below) |
+----------------------------+-----------------------------------------+------------------------------------------------------------------+
|Configuration of a plugin |In *ext_localconf.php*: |In *ext_localconf.php*: |
| |``t3lib_extMgm::addPItoST43()`` |``\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin()``|
| | |(see "Configuring and embedding Frontend Plugins" |
| | |in chapter 7) |
| | | |
| |In *ext_tables.php*: |In *ext_tables.php*: |
| |``t3lib_extMgm::addPlugin()`` |``\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin()`` |
| | |(see "Configuring and embedding Frontend Plugins" |
| | |in chapter 7) |
+----------------------------+-----------------------------------------+------------------------------------------------------------------+
|Configuration of database |SQL definition in *ext_tables.sql* |As before; Pay attention for the naming conventions |
|tables | |of table and field names (see chapter 6) |
+----------------------------+-----------------------------------------+------------------------------------------------------------------+
|Configuration of the Backend|Basic configuration in *ext_tables.php* |As before |
| |TCA default in *EXT:my_ext/tca.php;* | |
| |Location configurable in *ext_tables.php*| |
+----------------------------+-----------------------------------------+------------------------------------------------------------------+
|User configuration |TypoScript in |TypoScript in |
| |*EXT:my_ext/static/constants.txt* and |*EXT:my_ext/Configuration/TypoScript/constants.txt* |
| |*EXT:my_ext/static/setup.txt;* Location |and |
| |configurable in *ext_localconf.php* |*EXT:my_ext/Configuration/TypoScript/setup.txt;* |
| | |Location configurable in *ext_localconf.php* |
+----------------------------+-----------------------------------------+------------------------------------------------------------------+
Expand Up @@ -10,7 +10,7 @@ Fluid searches at an place defined by conventions.
All front end templates can be found in :file:`EXT:blog_example/Resources/Private/Templates`
by default. There for example are the two subfolders *Blog* and *Post*.
Since the call was made by the ``indexAction()`` of the ``BlogController`` fluid
searches in the folder *Blog* for a file named *index* and - if not setup up
searches in the folder *Blog* for a file named *Index* and - if not setup up
differently - the suffix *.html*. So every action method has its own template.
Possible other formats are e.g. *.pdf*, *.json* or *.xml*. In table 3.1 you
can find some examples for these convention.
Expand All @@ -20,20 +20,20 @@ can find some examples for these convention.
+-----------+------------+------------+--------------------------------------------+
|Controller |Action |Format |Path and filename |
+-----------+------------+------------+--------------------------------------------+
|Blog |index |unspecified |Resources/Private/Templates/Blog/index.html |
|Blog |index |unspecified |Resources/Private/Templates/Blog/Index.html |
+-----------+------------+------------+--------------------------------------------+
|Blog |index |txt |Resources/Private/Templates/Blog/index.txt |
|Blog |index |txt |Resources/Private/Templates/Blog/Index.txt |
+-----------+------------+------------+--------------------------------------------+
|Blog |new |unspecified |Resources/Private/Templates/Blog/new.html |
|Blog |new |unspecified |Resources/Private/Templates/Blog/New.html |
+-----------+------------+------------+--------------------------------------------+
|Post |unspecified |unspecified |Resources/Private/Templates/Post/index.html |
|Post |unspecified |unspecified |Resources/Private/Templates/Post/Index.html |
+-----------+------------+------------+--------------------------------------------+

In our case the file *index.html* will be loaded. The content will be parsed step
In our case the file *Index.html* will be loaded. The content will be parsed step
by step, line by line. Here you see an extract of the template file:

.. code-block:: html
:caption: index.html
:caption: Index.html
:name: index-html

<p>Welcome to the Blog Example!</p>
Expand Down
Expand Up @@ -25,7 +25,7 @@ installed extensions are the rule. These are in the folder
TYPO3-distribution and are in the folder :file:`typo3/sysext/`.
Extbase or Fluid are examples of system extensions. The two paths are
below the installation folder of TYPO3, in which also lies the file
index.php.
`index.php`.

Then, in the folder for local extensions
:file:`typo3conf/ext/` we create the folder
Expand All @@ -46,7 +46,7 @@ Within the folder
the entire process of listing creation later. The folder *Domain* again contains the two folders
:file:`Model` and
:file:`Repository`. Resulting from all this, the folder structure within the extension folder
:file:`inventory` should look as in image 4-1.
:file:`store_inventory` should look as in image 4-1.

.. figure:: /Images/4-FirstExtension/figure-4-1.png
:align: center
Expand Down
4 changes: 2 additions & 2 deletions Documentation/4-FirstExtension/5-controlling-the-flow.rst
Expand Up @@ -71,8 +71,8 @@ In our simple example the controller looks like this:
Our ``\MyVendor\StoreInventory\Controller\InventoryController`` must be derived from the
``\MyVendor\Extbase\MVC\Controller\ActionController``. It contains only the method ``listAction()``.
Our ``\MyVendor\StoreInventory\Controller\StoreInventoryController`` must be derived from the
``\TYPO3\CMS\Extbase\Mvc\Controller\ActionController``. It contains only the method ``listAction()``.
Extbase identifies all methods that ends with ``Action`` as actions - so as little plan of procedures.

In the method ``injectProductRepository()`` the ``ProductRepository`` is instanced.
Expand Down
4 changes: 2 additions & 2 deletions Documentation/4-FirstExtension/6-adding-the-template.rst
Expand Up @@ -44,14 +44,14 @@ following:
</f:for>
</table>

The inventory is rendered as a table. We can access the
The inventory is rendered as a table. We can access
the array with the product objects that we assigned to the view in the
controller via :php:`$this->view->assign('products', $products)` with ``{products}``.
Tags starting with ``<f:`` are Fluid-ViewHelper tags. The code inside the ``for`` tag is repeated for
each product object in ``products``. The ViewHelper ``f:crop`` tag shortens the containing text to
the desired length.
Within the brackets we can access the objects. If there is a dot after the object name we use the getters of this object.
So ``{product.description}`` use the getter method ``getDescription()`` from the domain model in file :file:`EXT:store_inventory/Classes/Domain/Model/Product.php`.
So ``{product.description}`` uses the getter method ``getDescription()`` from the domain model in file :file:`EXT:store_inventory/Classes/Domain/Model/Product.php`.

A more detailed introduction about how to use Fluid-ViewHelper tags can be found in chapter
8, *Styling the output with Fluid* and also in the reference in appendix c.
Expand Down
4 changes: 2 additions & 2 deletions Documentation/4-FirstExtension/7-configuring-the-plugin.rst
Expand Up @@ -41,7 +41,7 @@ can execute. The array key is the name of the controller (without the suffix ``C
and the array value is a comma separated list of all actions that are executable by the plugin.
In our case this is the ``list`` action (also without the suffix ``Action``).
Thus the array ``array('Inventory' -> 'list')`` allows to execute the method ``listAction()``
in the ``\MyVendor\Inventory\Controller\InventoryController`` by the plugin.
in the ``\MyVendor\StoreInventory\Controller\StoreInventoryController`` by the plugin.
Per default all results of the actions are stored in the cache. If it is not desired for
individual actions they can be specified by a fourth, optional argument.
It is an array that has the same format as the previous. Now all actions are listed whose
Expand Down Expand Up @@ -90,7 +90,7 @@ The next call of the page, with the plugin on it, shows the inventory as a table
Figure 4-5: The output of the inventory in the front end

With this the first little Extbase extension is finished. The example was intentional held simple.
It illustrate the important steps and the conventions we have to observe.
It illustrates the important steps and the conventions we have to observe.
For a full-grown extension there are some ingredients missing:

* Real domain models have a high complexity. (Products for example have different prices and are
Expand Down
18 changes: 9 additions & 9 deletions Documentation/5-Domain/1-the-application-domain.rst
Expand Up @@ -16,18 +16,18 @@ following characteristics were defined:
* Every member organization can edit their contact data via the front end.
* Every member organization can add, edit and delete their offers.
The offers can searched by the users and filterd by several criteria. Filter criteria are specially:
The offers can be searched by the users and filtered by several criteria. Filter criteria are specially:

the duration of validity of the offer
- the duration of validity of the offer

the target audience for which the offer is straightened (mostly
- the target audience for which the offer is straightened (mostly
the age span, but also physical handicapped, swimmer and so on)

the target area for which the offer may be for interest (one or
- the target area for which the offer may be for interest (one or
more city districts, nationwide), as well as

a free selectable category to which the offer is counted among
(e.g. "sport offer" or "spare time"
- a free selectable category to which the offer is counted among
(e.g. "sport offer" or "spare time")
* The offers are output in list form and single view in the front end.
* A single organization can be shown with its offers in a view.
* The offers can be collected to a flyer which contains all information to the offers.
Expand Down Expand Up @@ -118,7 +118,7 @@ These property pairs are subject to own rules, that are not
part of a single property. The minimal age limit (`minimumAge`)
for example should not be greater than the maximum age limit
(`maximumAge`). The observation of this rule can be done by the
offer itselfby a corresponding validation. But it rather belongs to the
offer itself by a corresponding validation. But it rather belongs to the
property pair. We store each property pair in an own domain object:
`AgeRange`, `AttendanceRange` and
`DateRange`. The outcome of this is the optimized second draft
Expand All @@ -144,7 +144,7 @@ three domain objects succeed these common property from a domain object
Our domain model has reached a certain level of maturity. Of course
there is certain space for more optimization. The risk exists, that we lose
in the details, which will be irrelevant in a later revision. We suggest that
you first implement a basic model and than - with additional knowledge of
the yet unknown details of the model - improve it step by step. Lets start
you first implement a basic model and then - with additional knowledge of
the yet unknown details of the model - improve it step by step. Let's start
with our first lines of code.

2 changes: 1 addition & 1 deletion Documentation/5-Domain/Index.rst
Expand Up @@ -24,7 +24,7 @@ things the SJR assists those societies to publish their offers in the
Greater Stuttgart. Currently a lot of effort goes into research and involves
high costs by printing flyer. In the future those offers will be managed by
the youth organizations via the Internet. At the same time parents, children
and teenager should be able to find suitable offers and display them easily.
and teenagers should be able to find suitable offers and display them easily.
You can download the originated extension with the extension-key
*sjr_offers* at the extension repository
(`http://typo3.org/extensions/repository/view/sjr_offers/current/ <http://typo3.org/extensions/repository/view/sjr_offers/current/>`_).
Expand Down

0 comments on commit 98b2ce1

Please sign in to comment.