.. include:: /Includes.rst.txt .. highlight:: typoscript .. _integrationTypoScript: ============================ Integrations with TypoScript ============================ This page gives you same examples which you can use for integrating EXT:news into a website. .. only:: html .. contents:: :local: :depth: 1 Add news by TypoScript ^^^^^^^^^^^^^^^^^^^^^^ If EXT:news should be integrated by using TypoScript only, you can use this code snippet: .. code-block:: typoscript lib.news = USER lib.news { userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run extensionName = News pluginName = Pi1 vendorName = GeorgRinger switchableControllerActions { News { 1 = list } } settings < plugin.tx_news.settings settings { //categories = 49 limit = 30 detailPid = 31 overrideFlexformSettingsIfEmpty := addToList(detailPid) startingpoint = 13 } } Now you can use the object lib.news. List and detail on the same page using TypoScript ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is the example of how to display list and detail view on the same page. .. code-block:: typoscript # Basic plugin settings lib.news = USER lib.news { userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run pluginName = Pi1 vendorName = GeorgRinger extensionName = News controller = News settings =< plugin.tx_news.settings persistence =< plugin.tx_news.persistence view =< plugin.tx_news.view } Configure list and detail actions: .. code-block:: typoscript lib.news_list < lib.news lib.news_list { action = list switchableControllerActions.News.1 = list } lib.news_detail < lib.news lib.news_detail { action = detail switchableControllerActions.News.1 = detail } Insert configured objects to wherever you want to use them, depending on the GET parameter of detail view: .. code-block:: typoscript [traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0] page.10.marks.content < lib.news_detail [else] page.10.marks.content < lib.news_list [end] Add news to breadcrumb menu ^^^^^^^^^^^^^^^^^^^^^^^^^^^ This example has been moved to the :ref:`Tutorial: Breadcrumb menus `. Add HTML to the header part in the detail view. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There might be a use case where you need to add specific code to the header part when the detail view is rendered. There are some possible ways to go. Plain TypoScript """""""""""""""" You could use a code like the following one to render e.g. the title of a news article inside a title-tag. .. code-block:: typoscript [globalVar = TSFE:id = NEWS-DETAIL-PAGE-ID] config.noPageTitle = 2 temp.newsTitle = RECORDS temp.newsTitle { dontCheckPid = 1 tables = tx_news_domain_model_news source.data = GP:tx_news_pi1|news source.intval = 1 conf.tx_news_domain_model_news = TEXT conf.tx_news_domain_model_news { field = title htmlSpecialChars = 1 } wrap = | } page.headerData.1 > page.headerData.1 < temp.newsTitle [global] If you want to show the categories of a news record, you can use the following code: .. code-block:: typoscript lib.categoryTitle = CONTENT lib.categoryTitle { if.isTrue.data = GP:tx_news_pi1|news table = tx_news_domain_model_news select { uidInList.data = GP:tx_news_pi1|news pidInList = 123 join = sys_category_record_mm ON tx_news_domain_model_news.uid = sys_category_record_mm.uid_foreign JOIN sys_category ON sys_category.uid = sys_category_record_mm.uid_local orderBy = sys_category.sorting max = 1 } renderObj = TEXT renderObj { field = title htmlSpecialChars = 1 } } Usage of a ViewHelper """"""""""""""""""""" Use a viewHelper of EXT:news to write any code into the header part. The code could look like this .. code-block:: xml