diff --git a/Documentation/Tutorials/BestPractice/BreadcrumbMenu.rst b/Documentation/Tutorials/BestPractice/BreadcrumbMenu.rst index 58ca5a4166..08c078d1b8 100644 --- a/Documentation/Tutorials/BestPractice/BreadcrumbMenu.rst +++ b/Documentation/Tutorials/BestPractice/BreadcrumbMenu.rst @@ -84,18 +84,18 @@ You can use code like the following in your sites Fluid template. .. code-block:: html
- +
The result (using Bootstrap 5 and Fontawesome 5 Free) could use like this: @@ -161,11 +161,11 @@ you can continue to use it and add the news record to it. source.intval = 1 conf.tx_news_domain_model_news = TEXT conf.tx_news_domain_model_news { - field = title + field = title htmlSpecialChars = 1 } - stdWrap.wrap =
  • |
  • - stdWrap.required = 1 + stdWrap.wrap =
  • |
  • + stdWrap.required = 1 } } diff --git a/Documentation/Tutorials/ExtendNews/DataProcessing/AddNewsToMenuProcessor.rst b/Documentation/Tutorials/ExtendNews/DataProcessing/AddNewsToMenuProcessor.rst index 57862911b5..2c3a8224b6 100644 --- a/Documentation/Tutorials/ExtendNews/DataProcessing/AddNewsToMenuProcessor.rst +++ b/Documentation/Tutorials/ExtendNews/DataProcessing/AddNewsToMenuProcessor.rst @@ -19,9 +19,9 @@ Usage 10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor 10 { - as = breadcrumbMenu - special = rootline - # [...] further configuration + as = breadcrumbMenu + special = rootline + # [...] further configuration } 20 = GeorgRinger\News\DataProcessing\AddNewsToMenuProcessor 20.menus = breadcrumbMenu,specialMenu diff --git a/Documentation/Tutorials/ExtendNews/DataProcessing/LanguageMenuProcessor.rst b/Documentation/Tutorials/ExtendNews/DataProcessing/LanguageMenuProcessor.rst index bd439cf2f6..18e83eddef 100644 --- a/Documentation/Tutorials/ExtendNews/DataProcessing/LanguageMenuProcessor.rst +++ b/Documentation/Tutorials/ExtendNews/DataProcessing/LanguageMenuProcessor.rst @@ -18,14 +18,14 @@ Usage 10 = TYPO3\CMS\Frontend\DataProcessing\LanguageMenuProcessor 10 { - as = languageMenu - addQueryString = 1 + as = languageMenu + addQueryString = 1 } 11 = GeorgRinger\News\DataProcessing\DisableLanguageMenuProcessor 11 { - if.isTrue.data = GP:tx_news_pi1|news - menus = languageMenu + if.isTrue.data = GP:tx_news_pi1|news + menus = languageMenu } The property :typoscript:`menus` is a comma-separated list of diff --git a/Documentation/Tutorials/ExtendNews/ExtendFlexforms/Index.rst b/Documentation/Tutorials/ExtendNews/ExtendFlexforms/Index.rst index eae9760aa9..a2d9070987 100644 --- a/Documentation/Tutorials/ExtendNews/ExtendFlexforms/Index.rst +++ b/Documentation/Tutorials/ExtendNews/ExtendFlexforms/Index.rst @@ -31,7 +31,7 @@ your own selections by adding those to .. code-block:: php - $GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['templateLayouts']['myext'] = array('My Title', 'my value'); + $GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['templateLayouts']['myext'] = ['My Title', 'my value']; You can then access the variable in your template with :code:`{settings.templateLayout}` and use it for a condition or whatever. diff --git a/Documentation/Tutorials/ExtendNews/ExtensionBasedOnNews/Index.rst b/Documentation/Tutorials/ExtendNews/ExtensionBasedOnNews/Index.rst index eaaea3bdf6..541a64c9b4 100644 --- a/Documentation/Tutorials/ExtendNews/ExtensionBasedOnNews/Index.rst +++ b/Documentation/Tutorials/ExtendNews/ExtensionBasedOnNews/Index.rst @@ -19,7 +19,7 @@ As a demonstration, a new extension with the extension key ``news_filter`` will ext_emconf.php ^^^^^^^^^^^^^^ -This file containts the basic information about its extension like name, version, author... +This file contains the basic information about its extension like name, version, author... .. code-block:: php @@ -31,18 +31,10 @@ This file containts the basic information about its extension like name, version 'category' => 'fe', 'author' => 'John Doe', 'author_email' => 'john@doe.net', - 'shy' => '', - 'dependencies' => '', - 'conflicts' => '', - 'priority' => '', - 'module' => '', + 'author_company' => '', 'state' => 'stable', - 'internal' => '', 'uploadfolder' => 0, - 'modify_tables' => '', 'clearCacheOnLoad' => 1, - 'lockType' => '', - 'author_company' => '', 'version' => '1.0.0', 'constraints' => [ 'depends' => [ @@ -51,7 +43,6 @@ This file containts the basic information about its extension like name, version 'conflicts' => [], 'suggests' => [], ], - 'suggests' => [], ]; ext_localconf.php @@ -65,13 +56,13 @@ Create a basic plugin with one action called ``list``. defined('TYPO3') or die(); $boot = function () { - \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( - 'GeorgRinger.news_filter', - 'Filter', - [ - 'Filter' => 'list', - ] - ); + \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( + 'NewsFilter', + 'Filter', + [ + \GeorgRinger\NewsFilter\Controller\FilterController::class => 'list', + ] + ); }; $boot(); @@ -91,7 +82,7 @@ Register the plugin: * Plugin */ \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( - 'news_filter', + 'NewsFilter', 'Filter', 'Some demo' ); @@ -110,35 +101,33 @@ Create a basic controller with the mentioned action. namespace GeorgRinger\NewsFilter\Controller; use GeorgRinger\News\Domain\Model\Dto\NewsDemand; + use GeorgRinger\News\Domain\Repository\NewsRepository; use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; class FilterController extends ActionController { - - public function listAction() - { - $demand = $this->createDemandObject(); - $this->view->assignMultiple([ - 'news' => $this->newsRepository->findDemanded($demand) - ]); - } - - /** - * @return NewsDemand - */ - protected function createDemandObject() - { - $demand = new NewsDemand(); - $demand->setLimit(10); - - return $demand; - } - - /** - * @var \GeorgRinger\News\Domain\Repository\NewsRepository - * @inject - */ - protected $newsRepository; + protected NewsRepository $newsRepository; + + public function __construct(NewsRepository $newsRepository) + { + $this->newsRepository = $newsRepository; + } + + public function listAction() + { + $demand = $this->createDemandObject(); + $this->view->assignMultiple([ + 'news' => $this->newsRepository->findDemanded($demand) + ]); + } + + protected function createDemandObject(): NewsDemand + { + $demand = new NewsDemand(); + $demand->setLimit(10); + + return $demand; + } } Resources/Private/Templates/Filter/List.html @@ -176,7 +165,7 @@ After enabling the extension in the Extension Manager and creating a plugin "Fil "autoload": { "psr-4": { - "GeorgRinger\\NewsFilter\\": "typo3conf/ext/news_filter/Classes/" + "GeorgRinger\\NewsFilter\\": "path/to/news_filter/Classes/" } } @@ -196,10 +185,7 @@ By modifying the controller with the following code, you will change the output .. code-block:: php - /** - * @return NewsDemand - */ - protected function createDemandObject() + protected function createDemandObject(): NewsDemand { $demand = new NewsDemand(); $demand->setStoragePage('123'); @@ -212,7 +198,7 @@ By modifying the controller with the following code, you will change the output Use FlexForms ^^^^^^^^^^^^^ -Flexforms are a powerful tool to let editors configure plugins. +FlexForms are a powerful tool to let editors configure plugins. Configuration/TCA/Overrides/tt_content.php """""""""""""""""""""""""""""""""""""""""" @@ -249,32 +235,27 @@ The syntax of ``FlexForms`` is identical to the one of ``TCA`` with the only dif - - LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_tab.settings - - + LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_tab.settings array - - - - - group - pages - 3 - 50 - 0 - - - suggest - - 1 - - - - - - + + + + group + pages + 3 + 50 + 0 + + + suggest + + 1 + + + + + @@ -295,14 +276,11 @@ Adopt the controller to use the settings instead of the hardcoded ones. .. code-block:: php - /** - * @return NewsDemand - */ - protected function createDemandObject() + protected function createDemandObject(): NewsDemand { $demand = new NewsDemand(); - // Because of the naming "", you can use $this->settings['startingpoint'] - $demand->setStoragePage($this->settings['startingpoint']); + // Because of the naming "", you can use $this->settings['startingPoint'] + $demand->setStoragePage($this->settings['startingPoint']); $demand->setLimit(10); return $demand; diff --git a/Documentation/Tutorials/ExtendNews/Hooks/Index.rst b/Documentation/Tutorials/ExtendNews/Hooks/Index.rst index 58f583232e..18c86d7cd7 100644 --- a/Documentation/Tutorials/ExtendNews/Hooks/Index.rst +++ b/Documentation/Tutorials/ExtendNews/Hooks/Index.rst @@ -35,7 +35,7 @@ First, register your implementation in the file ``ext_localconf.php``: defined('TYPO3') or die(); $GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['Domain/Repository/AbstractDemandedRepository.php']['findDemanded'][$_EXTKEY] - = 'YourVendor\\Extkey\\Hooks\\Repository->modify'; + = \YourVendor\Extkey\Hooks\Repository::class . '->modify'; Now create the file ``Classes/Hooks/Repository.php``: @@ -48,22 +48,24 @@ Now create the file ``Classes/Hooks/Repository.php``: use TYPO3\CMS\Core\Utility\GeneralUtility; use \GeorgRinger\News\Domain\Repository\NewsRepository; - class Repository { - - public function modify(array $params, NewsRepository $newsRepository) { - $this->updateConstraints($params['demand'], $params['respectEnableFields'], $params['query'], $params['constraints']); - } - - /** - * @param \GeorgRinger\News\Domain\Model\Dto\NewsDemand $demand - * @param bool $respectEnableFields - * @param \TYPO3\CMS\Extbase\Persistence\QueryInterface $query - * @param array $constraints - */ - protected function updateConstraints($demand, $respectEnableFields, \TYPO3\CMS\Extbase\Persistence\QueryInterface $query, array &$constraints) { - $subject = 'yeah'; - $constraints[] = $query->like('title', '%' . $subject . '%'); - } + class Repository + { + public function modify(array $params, NewsRepository $newsRepository) + { + $this->updateConstraints($params['demand'], $params['respectEnableFields'], $params['query'], $params['constraints']); + } + + /** + * @param \GeorgRinger\News\Domain\Model\Dto\NewsDemand $demand + * @param bool $respectEnableFields + * @param \TYPO3\CMS\Extbase\Persistence\QueryInterface $query + * @param array $constraints + */ + protected function updateConstraints($demand, $respectEnableFields, \TYPO3\CMS\Extbase\Persistence\QueryInterface $query, array &$constraints) + { + $subject = 'yeah'; + $constraints[] = $query->like('title', '%' . $subject . '%'); + } } .. hint:: Please change the vendor and extension key to your real life code. @@ -84,7 +86,7 @@ First, register your implementation in the file ``ext_localconf.php``: defined('TYPO3') or die(); $GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['Controller/NewsController.php']['overrideSettings'][$_EXTKEY] - = 'YourVendor\\Extkey\\Hooks\\NewsControllerSettings->modify'; + = \YourVendor\Extkey\Hooks\NewsControllerSettings::class . '->modify'; Now create the file ``Classes/Hooks/NewsControllerSettings.php``: @@ -94,14 +96,15 @@ Now create the file ``Classes/Hooks/NewsControllerSettings.php``: namespace YourVendor\Extkey\Hooks; - class NewsControllerSettings { + class NewsControllerSettings + { + public function modify(array $params) + { + $settings = $params['originalSettings']; + $settings['categories'] = '2,3'; - public function modify(array $params) { - $settings = $params['originalSettings']; - $settings['categories'] = '2,3'; - - return $settings; - } + return $settings; + } } .. hint:: Please change the vendor and extension key to your real life code. diff --git a/Documentation/Tutorials/ExtendNews/ProxyClassGenerator/Index.rst b/Documentation/Tutorials/ExtendNews/ProxyClassGenerator/Index.rst index 312ff40238..1ef88ab460 100644 --- a/Documentation/Tutorials/ExtendNews/ProxyClassGenerator/Index.rst +++ b/Documentation/Tutorials/ExtendNews/ProxyClassGenerator/Index.rst @@ -47,26 +47,26 @@ The file :file:`ext_emconf.php` holds all basic information about the extension 'news events', 'description' => 'Events for news', 'category' => 'plugin', 'author' => 'Georg Ringer', 'author_email' => '', 'state' => 'alpha', - 'uploadfolder' => FALSE, + 'uploadfolder' => false, 'createDirs' => '', - 'clearCacheOnLoad' => TRUE, + 'clearCacheOnLoad' => true, 'version' => '1.0.0', - 'constraints' => array( - 'depends' => array( + 'constraints' => [ + 'depends' => [ 'typo3' => '7.6.13-8.7.99', 'news' => '6.2.0-6.9.99', - ), - 'conflicts' => array(), - 'suggests' => array(), - ), - ); + ], + 'conflicts' => [], + 'suggests' => [], + ], + ]; SQL definition """""""""""""" @@ -94,16 +94,16 @@ Therefore, create the file :file:`Configuration/TCA/Overrides/tx_news_domain_mod array( + $fields = [ + 'location_simple' => [ 'exclude' => 1, 'label' => 'My location', - 'config' => array( + 'config' => [ 'type' => 'input', 'size' => 15 - ), - ) - ); + ], + ] + ]; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tx_news_domain_model_news', $fields); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tx_news_domain_model_news', 'location_simple'); @@ -138,7 +138,7 @@ Create the file :file:`ext_localconf.php` in the root of the extension: Custom class ^^^^^^^^^^^^ As the class :php:`Domain/Model/News` should be extended, create a file at the same path in the own extension which is -:file:`typo3conf/ext/eventnews/Classes/Domain/Model/News.php`: +:file:`path/to/eventnews/Classes/Domain/Model/News.php`: .. code-block:: php @@ -146,33 +146,28 @@ As the class :php:`Domain/Model/News` should be extended, create a file at the s namespace GeorgRinger\Eventnews\Domain\Model; - /** - * News - */ - class News extends \GeorgRinger\News\Domain\Model\News { - - /** - * @var string - */ - protected $locationSimple; + class News extends \GeorgRinger\News\Domain\Model\News + { + protected string $locationSimple; - /** - * @return string - */ - public function getLocationSimple() { + public function getLocationSimple(): string + { return $this->locationSimple; } - /** - * @param string $locationSimple - */ - public function setLocationSimple($locationSimple) { + public function setLocationSimple(string $locationSimple) + { $this->locationSimple = $locationSimple; } } .. hint:: - If you are using the extension :file:`extension_builder`, this class might have been created for you already. + + If you are using the extension :file:`extension_builder`, this class might have been created for you already. + +.. important:: + + If you reference other objects, you must define the full namespace at the location and don't use namespace imports (with "use")! Clear system cache ^^^^^^^^^^^^^^^^^^ diff --git a/Documentation/Tutorials/ExternalTutorials.rst b/Documentation/Tutorials/ExternalTutorials.rst index 7b80521c07..0832feaf3d 100755 --- a/Documentation/Tutorials/ExternalTutorials.rst +++ b/Documentation/Tutorials/ExternalTutorials.rst @@ -9,13 +9,13 @@ There are already some additional 3rd party tutorials about the extension "news" Video tutorials by jweiland ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 german video tutorials by Jochen Weiland which can be found at http://jweiland.net/typo3-hosting/service/video-anleitungen/typo3-extensions/news.html. +5 german video tutorials by Jochen Weiland which can be found at https://jweiland.net/video-anleitungen/typo3/interessante-typo3-extensions/news-ext.html. -- Installation & Configuration: http://vimeo.com/63231058 -- Create an article: http://vimeo.com/63231385 -- Output in frontend: http://vimeo.com/63231754 -- News archive: http://vimeo.com/63232250 -- Multilanguage: http://vimeo.com/63232527 +- Installation & Configuration: https://vimeo.com/63231058 +- Create an article: https://vimeo.com/63231385 +- Output in frontend: https://vimeo.com/63231754 +- News archive: https://vimeo.com/63232250 +- Multilanguage: https://vimeo.com/63232527 Add links to your own tutorials diff --git a/Documentation/Tutorials/Templates/MultiCategorySelection/Index.rst b/Documentation/Tutorials/Templates/MultiCategorySelection/Index.rst index 6e28a85e8f..83fd94de4f 100644 --- a/Documentation/Tutorials/Templates/MultiCategorySelection/Index.rst +++ b/Documentation/Tutorials/Templates/MultiCategorySelection/Index.rst @@ -20,8 +20,6 @@ The default category template `Category/List` allows only filtering by a single - - diff --git a/Documentation/Tutorials/Templates/RenderContentElements/Index.rst b/Documentation/Tutorials/Templates/RenderContentElements/Index.rst index e61e8831b9..9f443e52a0 100755 --- a/Documentation/Tutorials/Templates/RenderContentElements/Index.rst +++ b/Documentation/Tutorials/Templates/RenderContentElements/Index.rst @@ -20,9 +20,9 @@ This is the default way in EXT:news. A basic TypoScript configuration is used to lib.tx_news.contentElementRendering = RECORDS lib.tx_news.contentElementRendering { - tables = tt_content - source.current = 1 - dontCheckPid = 1 + tables = tt_content + source.current = 1 + dontCheckPid = 1 } If you need to extend this, the best way is to introduce your own TypoScript which can be saved anywhere. @@ -31,7 +31,7 @@ This needs then to be referenced in the template. .. code-block:: html - {newsItem.contentElements} + {newsItem.contentElements} Using TypoScript with nested content from b13/container @@ -67,8 +67,8 @@ Changing ``lib.tx_news.contentElementRendering = RECORDS`` to ``lib.tx_news.cont .. code-block:: html - - {newsItem.nonNestedContentElementIdList} + + {newsItem.nonNestedContentElementIdList} Using Fluid @@ -79,11 +79,11 @@ You can also use Fluid render the content elements. As an example: .. code-block:: html - -

    {element.title}

    - - {element.bodytext -> f:format.html()} - -
    + +

    {element.title}

    + + {element.bodytext -> f:format.html()} + +
    diff --git a/Documentation/Tutorials/Templates/Snippets/Index.rst b/Documentation/Tutorials/Templates/Snippets/Index.rst index e2da9afcce..8d95a71fba 100644 --- a/Documentation/Tutorials/Templates/Snippets/Index.rst +++ b/Documentation/Tutorials/Templates/Snippets/Index.rst @@ -41,9 +41,9 @@ A nice solution would be to use this JavaScript jQuery snippet: .. code-block:: javascript if ($(".news-backlink-wrap a").length > 0) { - if(document.referrer.indexOf(window.location.hostname) != -1) { - $(".news-backlink-wrap a").attr("href","javascript:history.back();"); - } + if(document.referrer.indexOf(window.location.hostname) != -1) { + $(".news-backlink-wrap a").attr("href","javascript:history.back();"); + } } Creating links with Fluid @@ -76,9 +76,9 @@ If you want to show not only the title of a single category which is related to .. code-block:: html -
      - -
    +
      + +
    and @@ -86,12 +86,12 @@ and .. code-block:: html - - - - -
  • {category.title}
  • -
    + + + + +
  • {category.title}
  • +
    Use current content element in the template @@ -109,9 +109,9 @@ If you want to sort the tags of a news item, you can use a custom ViewHelper or .. code-block:: html
      - -
    • {tag.title}
    • -
      + +
    • {tag.title}
    • +
    @@ -125,13 +125,13 @@ The provided example will wrap 3 items into a div with the class "row". .. code-block:: html -
    - -
    - -
    -
    -
    +
    + +
    + +
    +
    +
    Override pagination labels @@ -141,15 +141,15 @@ To override the labels used in the pagination, you can use the following TypoScr .. code-block:: typoscript plugin.tx_fluid { - _LOCAL_LANG { - // default for default = english language - default { - widget.pagination.next = my custom next - } - de { - widget.pagination.next = nächste Seite - } - } + _LOCAL_LANG { + // default for default = english language + default { + widget.pagination.next = my custom next + } + de { + widget.pagination.next = nächste Seite + } + } } As an alternative it is also possible to adopt the partial `List/Pagination.html` and use XLF files of your own extension. diff --git a/Documentation/Tutorials/Templates/Start/Index.rst b/Documentation/Tutorials/Templates/Start/Index.rst index c7b9856914..fb609ae405 100644 --- a/Documentation/Tutorials/Templates/Start/Index.rst +++ b/Documentation/Tutorials/Templates/Start/Index.rst @@ -99,11 +99,11 @@ paths: :caption: TypoScript constants plugin.tx_news { - view { - templateRootPath = EXT:mysitepackage/Resources/Private/Extensions/News/Templates/ - partialRootPath = EXT:mysitepackage/Resources/Private/Extensions/News/Partials/ - layoutRootPath = EXT:mysitepackage/Resources/Private/Extensions/News/Layouts/ - } + view { + templateRootPath = EXT:mysitepackage/Resources/Private/Extensions/News/Templates/ + partialRootPath = EXT:mysitepackage/Resources/Private/Extensions/News/Partials/ + layoutRootPath = EXT:mysitepackage/Resources/Private/Extensions/News/Layouts/ + } } If needed, multiple fallbacks can be defined with TypoScript setup: @@ -112,29 +112,29 @@ If needed, multiple fallbacks can be defined with TypoScript setup: :caption: TypoScript setup plugin.tx_news { - view { - templateRootPaths > - templateRootPaths { - 0 = EXT:news/Resources/Private/Templates/ - 10 = EXT:mynewsextender/Resources/Private/Templates/ - 15 = EXT:myothernewsextender/Resources/Private/Templates/ - 20 = {$plugin.tx_news.view.templateRootPath} - } - partialRootPaths > - partialRootPaths { - 0 = EXT:news/Resources/Private/Partials/ - 10 = EXT:mynewsextender/Resources/Private/Partials/ - 15 = EXT:myothernewsextender/Resources/Private/Partials/ - 20 = {$plugin.tx_news.view.partialRootPath} - } - layoutRootPaths > - layoutRootPaths { - 0 = EXT:news/Resources/Private/Layouts/ - 10 = EXT:mynewsextender/Resources/Private/Layouts/ - 15 = EXT:myothernewsextender/Resources/Private/Layouts/ - 20 = {$plugin.tx_news.view.layoutRootPath} - } - } + view { + templateRootPaths > + templateRootPaths { + 0 = EXT:news/Resources/Private/Templates/ + 10 = EXT:mynewsextender/Resources/Private/Templates/ + 15 = EXT:myothernewsextender/Resources/Private/Templates/ + 20 = {$plugin.tx_news.view.templateRootPath} + } + partialRootPaths > + partialRootPaths { + 0 = EXT:news/Resources/Private/Partials/ + 10 = EXT:mynewsextender/Resources/Private/Partials/ + 15 = EXT:myothernewsextender/Resources/Private/Partials/ + 20 = {$plugin.tx_news.view.partialRootPath} + } + layoutRootPaths > + layoutRootPaths { + 0 = EXT:news/Resources/Private/Layouts/ + 10 = EXT:mynewsextender/Resources/Private/Layouts/ + 15 = EXT:myothernewsextender/Resources/Private/Layouts/ + 20 = {$plugin.tx_news.view.layoutRootPath} + } + } } It is recommended to always include the path from the TypoScript constants @@ -150,11 +150,11 @@ The path of the pagination widget can be changed by using a configuration like b :caption: TypoScript setup plugin.tx_news { - view { - widget.GeorgRinger\News\ViewHelpers\Widget\PaginateViewHelper { - templateRootPath = EXT:mysitepackage/Resources/Private/Extensions/News/Templates/ - } - } + view { + widget.GeorgRinger\News\ViewHelpers\Widget\PaginateViewHelper { + templateRootPath = EXT:mysitepackage/Resources/Private/Extensions/News/Templates/ + } + } } @@ -176,7 +176,7 @@ A layout can look this: :caption: :file:`EXT:mysitepackage/Resources/Private/Extensions/News/Layouts/General.html`
    - +
    This means that the output of the section :html:`content` will be rendered @@ -199,7 +199,7 @@ If :file:`Layouts` are used, it is required to define the name of the Layout - This will be rendered + This will be rendered @@ -254,9 +254,9 @@ namespace declaration like .. code-block:: html + xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers" + xmlns:x="http://typo3.org/ns/Vendor/SomeExtension/ViewHelper" + data-namespace-typo3-fluid="true"> ... diff --git a/Documentation/Tutorials/Templates/TemplateSelector/Index.rst b/Documentation/Tutorials/Templates/TemplateSelector/Index.rst index 1a87b6391b..bd961b0358 100644 --- a/Documentation/Tutorials/Templates/TemplateSelector/Index.rst +++ b/Documentation/Tutorials/Templates/TemplateSelector/Index.rst @@ -22,27 +22,27 @@ Now it is possible to use a condition in the template to change the layouts, and .. code-block:: html - - - -
    - - - -
    -
    - -
    - - - -
    -
    -
    -
    - -
    -
    + + + +
    + + + +
    +
    + +
    + + + +
    +
    +
    +
    + +
    +
    As you can see in this example a different partial is loaded if the layout 99 is used. @@ -58,9 +58,9 @@ The TypoScript could look like: .. code-block:: typoscript plugin.tx_news { - settings { - isLatest = 1 - } + settings { + isLatest = 1 + } } And then you can use a condition like this: @@ -68,12 +68,12 @@ And then you can use a condition like this: .. code-block:: html - - do something if it is set - - - do something if it is not set - + + do something if it is set + + + do something if it is not set + diff --git a/Documentation/Tutorials/Templates/ViewHelpers/Index.rst b/Documentation/Tutorials/Templates/ViewHelpers/Index.rst index 0fdaa221e5..23e5507dce 100644 --- a/Documentation/Tutorials/Templates/ViewHelpers/Index.rst +++ b/Documentation/Tutorials/Templates/ViewHelpers/Index.rst @@ -22,9 +22,9 @@ declaration at the beginning of the template. The namespace declaration for the .. code-block:: html + xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers" + xmlns:x="http://typo3.org/ns/Vendor/Someextension/ViewHelper" + data-namespace-typo3-fluid="true"> ... diff --git a/README.md b/README.md index 15bb69726a..f7e5aa66c0 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ It includes these features: * Support for editors and authors by * well-structured plugins with good preview functionality - * a backend module with filter & search (Availlable as payed add-on [EXT:news_administration](https://docs.typo3.org/p/georgringer/news/main/en-us/Addons/NewsAdministration/Index.html)) + * a backend module with filter & search (Available as paid add-on [EXT:news_administration](https://docs.typo3.org/p/georgringer/news/main/en-us/Addons/NewsAdministration/Index.html)) * frontend template variant based on Twitter Bootstrap v5. * Use of as many elements from the system core as possible, e.g. FAL and system