DEPRECATION WARNING
This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
EXT: typo3_blog¶
Created: | 2010-02-18T17:33:18 |
---|---|
Changed by: | Roland Hensch |
Changed: | 2013-03-17T21:04:44.590000000 |
Classification: | typo3_blog |
Description: | The keywords help with categorizing and tagging of the manuals. You can combine two or more keywords and add additional keywords yourself. Please use at least one keyword from both lists. If your manual is NOT in english, see next tab "language" ---- forEditors (use this for editors / german "Redakteure") forAdmins (use this for Administrators) forDevelopers (use this for Developers) forBeginners (manuals covering TYPO3 basics) forIntermediates (manuals going into more depth) forAdvanced (covering the most advanced TYPO3 topics) see more: http://wiki.typo3.org/doc_template#tags ---- |
Keywords: | Blog |
Author: | Roland Hensch |
Email: | rsch73@gmail.com |
Info 4: | |
Language: | en |
EXT: typo3_blog - typo3_blog
EXT: typo3_blog¶
Extension Key: typo3_blog
Language: en
Keywords: Typo3 Blog
Copyright 2000-2010, Roland Hensch, <rsch73@gmail.com>
This document is published under the Open Content License
available from http://www.opencontent.org/opl.shtml
The content of this document is related to TYPO3
- a GNU/GPL CMS/Framework available from www.typo3.org
Table of Contents¶
`Introduction 3 <#__RefHeading__9811_1055177846>`_
`Users manual 4 <#__RefHeading__9817_1055177846>`_
`Administration 6 <#__RefHeading__9829_1055177846>`_
`Configuration 7 <#__RefHeading__9835_1055177846>`_
`Tutorial 16 <#__RefHeading__8961_1179748543>`_
`Known problems 17 <#__RefHeading__9843_1055177846>`_
`To-Do list 18 <#__RefHeading__9845_1055177846>`_
`ChangeLog 19 <#__RefHeading__9847_1055177846>`_
Introduction¶
What does it do?¶
- This extension provides blog functionality for Typo3 and we have included several widgets and a new page doktype “Blog Category”. All pages with this doktype will be rendered with the blogList widget. All pages with the doktype “Standard” will also be rendered with the blogSingle widget. You can use all content elements in your blog entries.
- The blog is managed only in Typo3 pagetree. This is very easy.
- You can add more functionality with other Typo3 extension. You can use ext:comments for comments, ext:vge_tagcloud for a tagcloud, ext:form4_pages_rss for RSS Feed
Widgets¶
- The following widgets are available in this extension
- blogSingle: Display a single blog entry
- category: Display a menu with blog categories
- archive: Display list of blog entries ordered by year and month
- calendar: Display a calendar an highlight the date of created posts
- blogroll: Display a list with interested links
- latestPosts: Display a list from the latest blog entries
Screenshots¶
Users manual¶
Generall¶
- This extension has the Typo3 multilanguage support.
- From the page you can use the “publish date” and the “expiration date”.
- realurl support
- You can change the create datetime of your blog entries
Blog start page¶
- Create first a new page in your pagetree and change the doktype to “Blog Category”. This is the blog start page. The blog start page display a list with all blog entries.
- The blog start page is rendered with the blogList widget.
Blog categories¶
- Create new pages below the blog start page and change the doktype to “Blog Category”. All pages with this doktype will be rendered as bloglist and displayed a list with blog entry only for this category.
- Each page with the page doktype “Blog Category” will be rendered with the blogList widget.
Blog entry¶
- Create a new page with the doktype “Standard” below a blog category page. The blog entry page belongs to this blog category page. You can change the blog settings in the “Blog Settings” Tab. You must edit this page to change the blog settings.
- You can add all content elements on this page.
Blog Settings¶
- Add the author name. Select your name in the “ Author ” select menu. This menu contains the backend users. Please set your name in the “User Settings”
- You can enable or disable comments for this page in “ Allow comments on blog page ”. If you have installed the commtens extension or disqus comment service.
- Set the create datetime . The default is the page create datetime
- Set tags on blog page for a tagcloud. You can render the tagcloud with the vge_tagcloud extension.
- Exclude page to render this page with css_styled_content. You can use this feature to display a search result.
- You can select a blogroll item to display this item on your blog entry page.
FAQ¶
Possible subsections: FAQ
Administration¶
Adding TypoScript Template¶
- Create a new extension template on the blog start page to integrate a blog in a existing Site.
- Add the extension TypoScript “Typo3Blog Setup (typo3_blog)” and the extension TypoScript “Page browser (pagebrowse)” to this template. Please set the correct order.
- Go into the “Constant Editor” on this template and select the category “PLUGIN.TYPO3BLOG: Basic” and set the “Start Pid”. The Start Pid is the page id from the blog start page.
Configuration¶
This section describes the TypoScript configuration of the typo3_blog widgets and the integration in your page template.
blogList Widget¶
Please look at the TypoScript configuration EXT:typo3_blog/widgets/bloglist/setup.txt and the template file EXT:typo3_blog/widgets/bloglist/template.html
TypoScript:
plugin.tx_typo3blog_pi1 {
blogList = USER_INT
blogList {
includeLibs = EXT:typo3_blog/widgets/bloglist/class.tx_typo3blog_widget_bloglist.php
userFunc = tx_typo3blog_widget_bloglist->main
...
}
}
itemsToDisplay¶
Property
itemsToDisplay
Data type
int
Description
Count to displaying entries in bloglist
Default
Value of {$plugin.tx_typo3blog_pi1.blogList.itemsToDisplay} constant
contentItemsToDisplay¶
Property
contentItemsToDisplay
Data type
int
Description
Displaying elements from tt_content as preview.
Default
Value of {$plugin.tx_typo3blog_pi1.blogList.contentItemsToDisplay} constant
templateFile¶
Property
templateFile
Data type
string
Description
Path to blogList template file
Default
Value of {$plugin.tx_typo3blog_pi1.blogList.templateFile} constant
baseWrap¶
Property
baseWrap
Data type
array
Description
Wrap for the widget
Example:
baseWrap {
outerWrap = <div class="tx-typo3blog-pi1"> | </div>
}
Default
marker¶
Property
marker
Data type
array
Description
This is an array with all markers for the template. You can use all columns from the table pages in this marker array. We have already set several columns in this TS.
Example:
marker {
...
title = TEXT
title {
wrap = |
field = title
typolink {
parameter.dataWrap = {field:uid}
title.field = subtitle // title
useCacheHash = 1
}
}
tx_typo3blog_create_datetime = TEXT
tx_typo3blog_create_datetime {
field = tx_typo3blog_create_datetime
strftime = {$plugin.tx_typo3blog_pi1.dateFromat}
wrap = <li> | </li>
required = 1
}
...
}
Default
markerConfigs¶
uid¶
Property
uid
Data type
TEXT
Description
Column uid from table pages.
Set the marker in templatefile ###UID###
Default
title¶
Property
title
Data type
TEXT
Description
Column title in table pages.
Set the marker in templatefile ###TITLE###
Default
tx_typo3blog_create_datetime¶
Property
tx_typo3blog_create_datetime
Data type
TEXT
Description
Column tx_typo3blog_create_datetime in table pages.
Set the marker in templatefile ###TX_TYPO3BLOG_CREATE_DATETIME###
Default
author¶
Property
author
Data type
TEXT
Description
Column be_user_realName in table be_users
Set the marker in templatefile ###AUTHOR###
Default
author_email¶
Property
author_email
Data type
TEXT
Description
Column be_user_email in table be_users
Set the marker in templatefile ###AUTHOR_EMAIL###
Default
author_email¶
Property
author_email
Data type
TEXT
Description
Field that widget with md5() hash from column be_user_email in table be_users
Set the marker in templatefile ###GRAVATAR###
Default
category¶
Property
category
Data type
TEXT
Description
Name of blog category. Field that generated by widget
Set the marker in templatefile ###CATEGORY###
Default
tx_typo3blog_tags¶
Property
tx_typo3blog_tags
Data type
COA
Description
Column tx_typo3blog_tags in table pages.
Set the marker in templatefile ###TX_TYPO3BLOG_TAGS###
Default
pagecontent¶
Property
pagecontent
Data type
COA
Description
CONTENT Select from table tt_content to set the content element as preview in blogList
Example:
marker {
...
pagecontent = COA
pagecontent {
10 = CONTENT
10.table = tt_content
10.select.pidInList.dataWrap = {field:uid}
10.select.where = colPos=0
10.select.max = {$plugin.tx_typo3blog_pi1.blogList.contentItemsToDisplay}
10.select.languageField = sys_language_uid
}
...
}
Default
showmore¶
Property
showmore
Data type
TEXT
Description
This field is parsed in widget and create a link to this blog entry page
Set the marker in templatefile ###SHOWMORE###
Default
additionalheader¶
Property
additionalheader
Data type
COA
Description
This field is parsed in widget and you can add other content on top of the widget. Set the marker in templatefile ###ADDITIONALHEADER###
Default
blogSingle Widget¶
Please look at the TypoScript configuration EXT:typo3_blog/widgets/blogsingle/setup.txt and the template file EXT:typo3_blog/widgets/blogsingle/template.html
TypoScript:
plugin.tx_typo3blog_pi1 {
blogSingle = USER
blogSingle {
includeLibs = EXT:typo3_blog/widgets/blogsingle/class.tx_typo3blog_widget_blogsingle.php
userFunc = tx_typo3blog_widget_blogsingle->main
...
}
}
templateFile¶
Property
templateFile
Data type
string
Description
Path to blogList template file
Default
Value of {$plugin.tx_typo3blog_pi1.blogList.templateFile} constant
baseWrap¶
Property
baseWrap
Data type
array
Description
Wrap for the widget
Example:
baseWrap {
outerWrap = <div class="tx-typo3blog-pi1"> | </div>
}
Default
marker¶
Property
marker
Data type
array
Description
This is an array with all markers for the template. You can use all columns from table pages in this marker array. We have already set several columns in this TS.
Example:
marker {
...
title = TEXT
title {
wrap = <h2>|</h2>
field = title
}
tx_typo3blog_create_datetime = TEXT
tx_typo3blog_create_datetime {
field = tx_typo3blog_create_datetime
strftime = {$plugin.tx_typo3blog_pi1.dateFromat}
wrap = <li> | </li>
required = 1
}
gravatar = TEXT
gravatar {
field = be_user_email_secure
dataWrap = <img src="http://www.gravatar.com/avatar/|.jpg?s=100" alt="{field:be_user_realName}" />
required = 1
}
...
}
Default
markerConfigs¶
additionalheader¶
Property
additionalheader
Data type
COA
Description
This field is parsed in widget and you can add other content on top of the widget. Set the marker in templatefile ###ADDITIONALHEADER###
Default
title¶
Property
title
Data type
TEXT
Description
Column title in table pages.
Set the marker in templatefile ###TITLE###
Default
category¶
Property
category
Data type
TEXT
Description
Name of blog category. Field that generated by widget
Set the marker in templatefile ###CATEGORY###
Default
author¶
Property
author
Data type
TEXT
Description
Column be_user_realName in table be_users
Set the marker in templatefile ###AUTHOR###
Default
author_email¶
Property
author_email
Data type
TEXT
Description
Field that widget with md5() hash from column be_user_email in table be_users
Set the marker in templatefile ###GRAVATAR###
Default
tx_typo3blog_create_datetime¶
Property
tx_typo3blog_create_datetime
Data type
TEXT
Description
Column tx_typo3blog_create_datetime in table pages.
Set the marker in templatefile ###TX_TYPO3BLOG_CREATE_DATETIME###
Default
tx_typo3blog_tags¶
Property
tx_typo3blog_tags
Data type
COA
Description
Column tx_typo3blog_tags in table pages.
Set the marker in templatefile ###TX_TYPO3BLOG_TAGS###
Default
gravatar¶
Property
gravatar
Data type
TEXT
Description
Add gravatar from http://www.gravatar.com/avatar/
Set the marker in templatefile ###GRAVATAR###
Example:
marker {
...
gravatar = TEXT
gravatar {
field = be_user_email_secure
dataWrap = <img src="http://www.gravatar.com/avatar/|.jpg?s=100" alt="{field:be_user_realName}" />
required = 1
}
...
}
Default
pagecontent¶
Property
pagecontent
Data type
COA
Description
CONTENT select from table tt_content to set all content element from current page (blog entry)
Example:
marker {
...
pagecontent = COA
pagecontent {
10 = CONTENT
10.table = tt_content
10.select.pidInList.dataWrap = {field:uid}
10.select.where = colPos=0
10.select.languageField = sys_language_uid
}
...
}
Default
additionalfooter¶
Property
additionalfooter
Data type
COA
Description
This field is parsed in widget and you can add other content on bottom of the widget. Set the marker in templatefile ###ADDITIONALFOOTER###
Example:
marker {
...
additionalfooter = COA
additionalfooter {
10 = TEXT
10 {
if.isTrue.field = tx_typo3blog_allow_comments
stdWrap.cObject = CONTENT
stdWrap.cObject < comments.commentsForm
}
}
...
}
Default
archive Widget¶
Please look at the TypoScript configuration EXT:typo3_blog/widgets/archive/setup.txt and the template file EXT:typo3_blog/widgets/archive/template.html
TypoScript:
plugin.tx_typo3blog_pi1 {
archive = USER
archive {
includeLibs = EXT:typo3_blog/widgets/archive/class.tx_typo3blog_widget_archive.php
userFunc = tx_typo3blog_widget_archive->main
...
}
}
jQueryNoConflict¶
Property
jQueryNoConflict
Data type
boolean
Description
Enable jQuery no conflict mode
Default
0
jsMinify¶
Property
jsMinify
Data type
boolean
Description
Minify Javascript
Default
0
jsInline¶
Property
jsInline
Data type
boolean
Description
Add Javascript inline
Default
0
cssMinify¶
Property
cssMinify
Data type
boolean
Description
Minify CSS stylesheet
Default
0
templateFile¶
Property
templateFile
Data type
string
Description
Path to template file
Default
Value of {$plugin.tx_typo3blog_pi1.archive.templateFile} constant
baseWrap¶
Property
baseWrap
Data type
array
Description
Contains wraps
Example:
baseWrap {
outerWrap = <div class="tx-typo3blog-pi1"> | </div>
dataWrap = <h3>{LLL:EXT:typo3_blog/pi1/locallang.xml:tx_typo3blog_widget_archive.title}</h3>
}
Default
marker¶
Property
marker
Data type
array
Description
This is an array with all markers for the template. You can use all columns from table pages in this marker array. We have already set several columns in this TS.
Example:
marker {
...
quantity = TEXT
quantity {
field = quantity
wrap = |
}
...
}
Default
markerConfigs¶
year¶
Property
year
Data type
TEXT
Description
Field year as link
Set the marker in templatefile ###YEAR###
Default
month¶
Property
month
Data type
TEXT
Description
Field month as link
Set the marker in templatefile ###MONTH###
Default
quantity¶
Property
quantity
Data type
TEXT
Description
Field quantity is a count of blog entry in month
Set the marker in templatefile ###QUANTITY###
Default
title¶
Property
title
Data type
TEXT
Description
Column title in table pages.
Set the marker in templatefile ###TITLE###
Default
blogroll Widget¶
Please look at the TypoScript configuration EXT:typo3_blog/widgets/blogroll/setup.txt
Typoscript:
includeLibs.tx_typo3blog_widget_blogroll = EXT:typo3_blog/widgets/blogroll/class.tx_typo3blog_widget_blogroll.php plugin.tx_typo3blog_pi1 {
blogroll = RECORDS
blogroll {
source.cObject = USER
source.cObject {
userFunc = tx_typo3blog_widget_blogroll->getBlogRollIds
}
...
}
}
tables¶
Property
tables
Data type
string
Description
Name of table with blogroll records
Default
tx_typo3blog_blogroll
conf.tx_typo3blog_blogroll¶
Property
conf.tx_typo3blog_blogroll
Data type
COA
Description
Contain all fields and wraps to render the blogroll list
Example:
conf.tx_typo3blog_blogroll = COA
conf.tx_typo3blog_blogroll {
10 = TEXT
10 {
field = name
typolink {
parameter.field = link
title.field = title // name
}
}
wrap = <li> | </li>
}
Default
stdWrap¶
Property
stdWrap
Data type
stdWrap
Description
Wrap for blogroll widget.
Example:
stdWrap {
outerWrap = <div class="tx-typo3blog-pi1"> | </div>
dataWrap =<h3> {LLL:EXT:typo3_blog/pi1/locallang.xml:tx_typo3blog_widget_blogroll.title}</h3>
wrap = <ul> | </ul>
required = 1
}
Default
calendar Widget¶
Please look at the TypoScript configuration EXT:typo3_blog/widgets/calendar/setup.txt and the template file EXT:typo3_blog/widgets/calendar/template.html
Typoscript:
plugin.tx_typo3blog_pi1 {
calendar = USER
calendar {
includeLibs = EXT:typo3_blog/widgets/calendar/class.tx_typo3blog_widget_calendar.php
userFunc = tx_typo3blog_widget_calendar->main
...
}
}
jQueryNoConflict¶
Property
jQueryNoConflict
Data type
boolean
Description
Enable jQuery no conflict mode
Default
0
jsInFooter¶
Property
jsInFooter
Data type
boolean
Description
Add Javascript in footer
Default
0
jsMinify¶
Property
jsMinify
Data type
boolean
Description
Minify Javascript
Default
0
jsInline¶
Property
jsInline
Data type
boolean
Description
Add Javascript inline
Default
0
cssMinify¶
Property
cssMinify
Data type
boolean
Description
Minify CSS stylesheet
Default
0
templateFile¶
Property
templateFile
Data type
string
Description
Path to template file
Default
Value of {$plugin.tx_typo3blog_pi1.calendar.templateFile} constant
baseWrap¶
Property
baseWrap
Data type
array
Description
Wrap for the widget
Example:
baseWrap {
outerWrap = <div class="tx-typo3blog-pi1"> | </div>
}
Default
datepicker¶
Property
datepicker
Data type
COA
Description
Add div element with class attribute to render the datpicker.
Example:
datepicker = COA
datepicker {
10 = TEXT
10.wrap = <div id="tx_typo3blog_widget_calendar">| </div>
}
Default
category Widget¶
Please look at the TypoScript configuration EXT:typo3_blog/widgets/category/setup.txt.
categoryList¶
Property
categoryList
Data type
HMENU
Description
Default HMENU to render a menu list with categories
Default
latestPosts Widget¶
Please look at the TypoScript configuration EXT:typo3_blog/widgets/latestposts/setup.txt and the template file EXT:typo3_blog/widgets/latestposts/template.html
Typoscript:
plugin.tx_typo3blog_pi1 {
latestPosts = USER
latestPosts {
includeLibs = EXT:typo3_blog/widgets/latestposts/class.tx_typo3blog_widget_latestposts.php
userFunc = tx_typo3blog_widget_latestposts->main
...
}
}
itemsToDisplay¶
Property
itemsToDisplay
Data type
int
Description
Number of items to display in the latestPosts list
Default
Value of {$plugin.tx_typo3blog_pi1.latestPosts.itemsToDisplay} constant
templateFile¶
Property
templateFile
Data type
string
Description
Path to template file
Default
Value of {$plugin.tx_typo3blog_pi1.latestPosts.templateFile} constant
baseWrap¶
Property
baseWrap
Data type
array
Description
Wrap for the widget
Example:
baseWrap {
outerWrap = <div class="tx-typo3blog-pi1"> | </div>
dataWrap = <h3 class="title">{LLL:EXT:typo3_blog/pi1/locallang.xml:tx_typo3blog_widget_latestposts.title}</h3>
wrap = <ul>|</ul>
}
Default
marker¶
Property
marker
Data type
array
Description
This is an array with all markers for the template. You can use all columns from table pages in this marker array. We have already set several columns in this TS.
Example:
marker {
...
title = TEXT
title {
wrap = <li>|</li>
field = title
typolink {
parameter.dataWrap = {field:uid}
title.field = subtitle // title
}
}
...
}
Default
markerConfigs¶
additionalheader¶
Property
additionalheader
Data type
COA
Description
This field is parsed in widget and you can add other content on top of the widget. Set the marker in templatefile ###ADDITIONALHEADER###
Default
title¶
Property
title
Data type
TEXT
Description
Column title in table pages.
Set the marker in templatefile ###TITLE###
Default
additionalfooter¶
Property
additionalfooter
Data type
COA
Description
This field is parsed in widget and you can add other content on bottom of the widget. Set the marker in templatefile ###ADDITIONALFOOTER###
Default
Template Setup¶
This TypoScript configuration contains the sidebar with widgets.
lib.content_right = COA
lib.content_right {
10 < plugin.tx_typo3blog_pi1.category
20 < plugin.tx_typo3blog_pi1.calendar
30 < plugin.tx_typo3blog_pi1.archive
40 < plugin.tx_typo3blog_pi1.relatedPosts
50 < plugin.tx_typo3blog_pi1.latestPosts
60 < plugin.tx_typo3blog_pi1.latestComments
70 < plugin.tx_typo3blog_pi1.blogroll
}
# Write the sidebar in page subparts marker CONTENT_RIGHT
page.10.subparts.CONTENT_RIGHT < lib.content_right
This Typoscript configuration is required to render the blogList and blogSingle widget in your template.
[PIDinRootline = {$plugin.tx_typo3blog_pi1.startPid}]
page.10.subparts.CONTENT_NORMAL < plugin.tx_typo3blog_pi1.blogSingle
[end]
[userFunc = user_typo3blog_pageTypeIsCategory()]
page.10.subparts.CONTENT_NORMAL < plugin.tx_typo3blog_pi1.blogList
page.10.subparts.CONTENT_RIGHT.30 >
page.10.subparts.CONTENT_RIGHT.50 >
[end]
[globalVar = TSFE:page|tx_typo3blog_exclude_page = 1]
page.10.subparts.CONTENT_NORMAL < styles.content.get
[end]
Reference¶
Possible subsections: Reference (TypoScript)
Tutorial¶
See typo3_blog documentation http://www.unitlabs.ch/typo3-extensions
Known problems¶
To-Do list¶
ChangeLog¶
- Create a file "ChangeLog" (see e.g. the extension "cal" as example) to inform about changes or
- Use this section to document all the changes through the versions.
- Alternative to the following list: ChangeLog online (point this link to YOUR extension)
1.0.0¶
Version
1.0.0
Changes
Add Typo3 multilanguage supportRemove the typo3blog sample Layout and remove widgets for comments, pagehits, tagcloud, form4_pages_rss, sexybookmarks and tt_content search
0.0.4¶
Version
0.0.4
Changes
Add manual
0.0.3¶
Version
0.0.3
Changes
0.0.2¶
Version
0.0.2
Changes