# Ext: sg_news

<img src="https://www.sgalinski.de/typo3conf/ext/project_theme/Resources/Public/Images/logo.svg" />

License: [GNU GPL, Version 2](https://www.gnu.org/licenses/gpl-2.0.html)

Repository: https://gitlab.sgalinski.de/typo3/sg_news

Please report bugs here: https://gitlab.sgalinski.de/typo3/sg_news

TYPO3 version: >7.6 

## About

Integrates a powerful News-System. News and Categories can be created like normal TYPO3 pages. Newspages have several
additional meta information.

## Integration

Before using sg_news you need to supply your frontend some information on how the extension needs to be integrated into your template. 

As the extension itself provides two new [doktypes](https://docs.typo3.org/typo3cms/CoreApiReference/PageTypes/Index.html), you can simply add a switch case to your Fluid template to provide different rendering paths. 


### Example

```
lib.pageTemplate.default >
lib.pageTemplate.default = FLUIDTEMPLATE
lib.pageTemplate.default {
	# your default page template
	file = EXT:project_theme/Resources/Private/Templates/Default.html

	variables {
		INTRO = CASE
		INTRO {
			key.field = doktype

			# show nothing for the intro view as sg_news provides it's own default intro section
			116 = TEXT
			116.value =

			117 = COA
			117 {
				10 < tt_content.list.20.sgnews_latest
				20 < styles.content.col0
			}

			# just show the content
			default < styles.content.col0
		}

		CONTENT = CASE
		CONTENT {
			key.field = doktype

			# show the single view of a news article if the page type matches
			116 < tt_content.list.20.sgnews_singleview

			# show the category view of the news if the page type matches
			117 = COA
			117 {
				10 < tt_content.list.20.sgnews_listbycategory
				20 < styles.content.col1
			}

			# just show the content
			default < styles.content.col1
		}
	}
}
```

In this example we will load the first column for the intro section by default 
and the second column in the backend for the content below that. 

The news category (doktype 117) will render by default not the content on the page alone, but also the default category listing. 

With our example we don't want the intro section (116) and the default content to be rendered, because the extension handles those parts.

The single news plugin also needs some additional information so it can get the base content. 
By default it will resolve to the following code if not provided by you:

```
lib.mainContent < styles.content.col1
```

### Tags
In addition to categories, multiple tags can be created and specified for each news page.

Tags can be created by adding sys_category records to the root page of the news block (blog).
In order to differentiate each block's tags from the others, the PageTS value of **TCEFORM.pages.tx_sgnews_tags.PAGE_TSCONFIG_ID** 
can be set for each of the blocks containing the pid value for the selectable tags.
To make sure that only the correct tags are displayed in the FE, the **plugin.tx_sgnews.settings.tagPid**
constant must be set to the same value.

## Creating a news category 

## Creating news entries