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: in2rss

Author:Kasper Skårhøj
Created:2002-11-01T00:32:00
Changed by:Alex Kellner
Changed:2011-02-02T12:13:57.560000000
Classification:in2rss
Keywords:RSS, tt_content, tt_news, anytable
Author:Alex Kellner
Email:alexander.kellner@in2code.de
Info 4:
Language:en

img-1 img-2 EXT: in2rss - in2rss

EXT: in2rss

Extension Key: in2rss

Language: en

Keywords: RSS, tt_content, tt_news, anytable

Copyright 2000-2008, Alex Kellner, <alexander.kellner@in2code.de>

img-3

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

EXT: in2rss 1

Extension Key: in2rss 1

Language: en 1

Keywords: RSS, tt_content, tt_news, anytable 1

Copyright 2000-2008, Alex Kellner, <alexander.kellner@in2code.de> 1

This document is published under the Open Content License 1

available from http://www.opencontent.org/opl.shtml 1

The content of this document is related to TYPO3 1

- a GNU/GPL CMS/Framework available from www.typo3.org1

`Introduction 3 <#__RefHeading__901_73144984>`_

What does it do? 3

Generate RSS Feeds in the Frontend: 3

From any table 3

Merge more queries together 3

And sort by different fields 3

Some examples: 3

Generate RSS feed from tt_content 3

Generate RSS feed from tt_address 3

Generate RSS feed from your extension 3

Generate an overall RSS feed from two or more tables and sort it 3

How does this extension work: 3

Complete configuration via TypoScript 3

Fluid is used for the template engine 3

Who is responsible for in2rss? 3

The in2code team offers this free extension for you 3

Visit us on http://www.in2code.de 3

Screenshots 4

`Installation 6 <#__RefHeading__913_73144984>`_

Quickstart 6

Be sure to use TYPO3 4.3 or newer 6

Install the extension extbase and fluid (system extensions) 6

Install the extension in2rss 6

Include the static template (Main TypoScript) 6

Be sure to add your domain to the constants (plugin.in2rss.absRefPrefix = http://www.in2code.de/) 6

Make some more configurations with constants (tablename, fieldname etc...) 6

Step by Step 6

`Configuration 10 <#__RefHeading__919_73144984>`_

TypoScript 10

`FAQ 13 <#__RefHeading__923_73144984>`_

Default 13

Turn on all errormessages in the install tool (even the sql messages) 13

Recheck all your settings in the constants! 13

Have you included the static template? 13

See this example TypoScript: 13

Copy the original HTML Template (EXT:in2rss/files/templates/rss.html) to the fileadmin folder and set the new path via constants 14

Please change the text in the HTML template 14

`To-Do list 15 <#__RefHeading__929_73144984>`_

It's up to you to give us some feedback! 15

Are there any further feature requests or bugs? Write us an email... See www.in2code.de 15

`Additional links 16 <#__RefHeading__931_73144984>`_

You can use one of the following links, to get more information about this plugin: 16

Company which created this plugin: http://www.in2code.de 16

Authors private homepage: http://www.einpraegsam.net 16

Do you need help with this plugin: http://www.typo3.net 16

Don't miss the best TYPO3 blogging page: http://www.typo3blogger.de 16

`ChangeLog 17 <#__RefHeading__933_73144984>`_

Version 0.2.0 alpha 17

Feature #12130: Enable html tags in the bodytext of the rss feed (enables images for the facebook import) 17

Feature #10955: Adding content anker to links 17

Version 0.1.0 alpha 17

Added date to the rss feed 17

First upload to TER 17

Do you want to know more about the Features and Bugfixes of in2rss? 17

See all issues on forge:http://forge.typo3.org/projects/extension- in2rss/issues 17

Introduction

What does it do?

  • Generate RSS Feeds in the Frontend:
    • From any table
    • Merge more queries together
    • And sort by different fields
  • Some examples:
    • Generate RSS feed from tt_content
    • Generate RSS feed from tt_address
    • Generate RSS feed from your extension
    • Generate an overall RSS feed from two or more tables and sort it
  • How does this extension work:
    • Complete configuration via TypoScript
    • Fluid is used for the template engine

Who is responsible for in2rss?

The in2code team offers this free extension for you

Visit us on http://www.in2code.de

Screenshots

Frontend: RSS Feed
Show Feed from any database table

img-4

Show Feed from more tables (merged)

img-5

Facebook and Twitter
RSS feeds could be imported to facebook or twitter – Facebook example (with facebook plugin rssgraffiti)

img-6

Installation

Quickstart

  • Be sure to use TYPO3 4.3 or newer
  • Install the extension extbase and fluid (system extensions)
  • Install the extension in2rss
    • Include the static template (Main TypoScript)
    • Be sure to add your domain to the constants (plugin.in2rss.absRefPrefix = http://www.in2code.de/)
  • Make some more configurations with constants (tablename, fieldname etc...)

Step by Step

Install extbase and fluid from the system.

img-7

Import in2rss with the extension manager from the TER.
Include the main static template for the extension.

img-8

Go to the constant editor and change your settings

img-9

Check your new RSS Feed in the frontend by adding &type=101 to the default URL

Configuration

TypoScript

setup (main template)
# IN2RSS PLUGIN #
includeLibs.in2rss_main = EXT:in2rss/lib/class.tx_in2rss_main.php

# settings for in2rss
lib.in2rssFeed {
    template = {$plugin.in2rss.template}
    sorting = {$plugin.in2rss.sorting}
    limit = {$plugin.in2rss.limit}
    uft8_coding = {$plugin.in2rss.uft8_coding}

    // rss feed from the first table
    10 {
            settings {
                    table = {$plugin.in2rss.settings.table}
                    fieldTitle = {$plugin.in2rss.settings.fieldTitle}
                    fieldDescription = {$plugin.in2rss.settings.fieldDescription}
                    fieldBody = {$plugin.in2rss.settings.fieldBody}
                    fieldImage = {$plugin.in2rss.settings.fieldImage}
                    fieldSorting = {$plugin.in2rss.settings.fieldSorting}
                    fieldCrdate = {$plugin.in2rss.settings.fieldCrdate}
                    pid = {$plugin.in2rss.settings.pid}
                    pid_recursive = {$plugin.in2rss.settings.pid_recursive}
                    additionalWhereClause = {$plugin.in2rss.settings.additionalWhereClause}
                    cropDescription = {$plugin.in2rss.settings.cropDescription}
                    limit = 1000
            }
            fields {
                    rssTitle = TEXT
                    rssTitle {
                            field = rssTitle
                    }

                    rssDescription = TEXT
                    rssDescription {
                            field = rssDescription
                    }

                    rssBody = COA
                    rssBody {
                            wrap = <![CDATA[|]]>
                            10 = TEXT
                            10 {
                                    field = rssBody
                                    parseFunc < lib.parseFunc_RTE
                            }
                            20 = IMAGE
                            20 {
                                    file.import = uploads/pics/
                                    file.import.field = rssImage
                                    file.import.listNum = 0
                                    file.width = 250
                            }
                    }

                    rssSorting = TEXT
                    rssSorting {
                            field = rssSorting
                    }

                    rssCrdate = TEXT
                    rssCrdate {
                            field = rssCrdate
                    }

                    rssLink = COA
                    rssLink {
                            10 = TEXT
                            10 {
                                    typolink {
                                            parameter.field = pid
                                            parameter.dataWrap=|#{field:uid}
                                            returnLast = url
                                    }
                            }
                    }
            }
    }

    // rss feed from a second table (show fe_users)
    #20 < .10
    #20 {
    #       settings {
    #               pid = 89
    #               table = fe_users
    #               fieldTitle = username
    #               fieldBody = address
    #       }
    #}
}

# TypeNum 101 to show the rss feed
in2rss = PAGE
in2rss {
    typeNum = 101

    config {
            disableAllHeaderCode = 1
            #additionalHeaders = Content-type:application/xml
            disablePrefixComment = 1
            xhtml_cleaning = 0
            admPanel = 0
    }

    10 = USER
    10 {
            userFunc = user_in2rss_main->showRSS
            userFunc {
                    config < lib.in2rssFeed
            }
    }
}

[globalVar = GP:type = 101]
    config.absRefPrefix = {$plugin.in2rss.absRefPrefix}
[end]
constants (main template)
###
# This are the default TS-constants for in2rss
##

plugin.in2rss {

        # cat=plugin.in2rss/file/0010; type=file[html,htm,tmpl,txt]; label= Template File: HTML-template file for rss feed (see EXT:in2rss/files/templates/rss.html for an example)
        template = EXT:in2rss/files/templates/rss.html

        # cat=plugin.in2rss//0100; type=text; label= Your Domain: in2rss uses absRefPrefix for adding the domain to all links and images. Please enter your Domain with an ending slash
        absRefPrefix = http://www.in2code.de/

        # cat=plugin.in2rss//0110; type=options[ASC,DESC]; label= Sorting: ASC or DESC only
        sorting = DESC

        # cat=plugin.in2rss//0120; type=int+; label= RSS Limit: Maximum numbers of rss items
        limit = 20

        # cat=plugin.in2rss//0200; type=text; label= Table name: Table name for rss feed (e.g. tt_content, tt_news, tx_ext, etc..)
        settings.table = tt_content

        # cat=plugin.in2rss//0210; type=text; label= Title field: Table field for the rss header (e.g. title, header)
        settings.fieldTitle = header

        # cat=plugin.in2rss//0220; type=text; label= Description field: Table field for the short description of the item (e.g. description, bodytext)
        settings.fieldDescription = bodytext

        # cat=plugin.in2rss//0230; type=text; label= Bodytext field: Table field for the bodytext (e.g. description, bodytext)
        settings.fieldBody = bodytext

        # cat=plugin.in2rss//0240; type=text; label= Image field: Table field for an additional image (e.g. image, picture)
        settings.fieldImage = image

        # cat=plugin.in2rss//0250; type=text; label= Sorting field: Field for sorting (e.g. crdate, sorting)
        settings.fieldSorting = crdate

        # cat=plugin.in2rss//0260; type=text; label= Date field: Field for the date in the feed (e.g. crdate, tstamp, starttime, etc...)
        settings.fieldCrdate = crdate

        # cat=plugin.in2rss//0270; type=int+; label= PID: Page ID for your rss feed
        settings.pid = 72

        # cat=plugin.in2rss//0280; type=int+; label= PID recursive: How many levels are included to your pid
        settings.pid_recursive = 0

        # cat=plugin.in2rss//0290; type=text; label= Where clause: If you want to add something to the where clause (e.g. AND cat=1, AND sys_language_uid=0)
        settings.additionalWhereClause =

        # cat=plugin.in2rss//0300; type=int+; label= Crop Description: Crop description after X signs (0 disables cropping)
        settings.cropDescription = 250

        # cat=plugin.in2rss//0800; type=options[,uft8_encode,utf8_decode]; label= UTF-8 charset: force to en- or decode
        uft8_coding =

}

FAQ

Default

Q: There is no output in the frontend
  • Turn on all errormessages in the install tool (even the sql messages)
  • Recheck all your settings in the constants!
Q: The page is not configured! [type= 101][]

Have you included the static template?

Q: How can I merge two or more feeds?

See this example TypoScript:

lib.in2rssFeed {
        template = fileadmin/rss.html
        sorting = DESC
        limit = 20
        uft8_coding =

        // table 1 (tx_dmmjobcontrol_job)
        10 {
                settings {
                        table = tx_dmmjobcontrol_job
                        fieldTitle = job_title
                        fieldBody = employer_description
                        fieldSorting = crdate
                        pid = 24
                        pid_recursive = 2
                        additionalWhereClause = AND sys_language_uid = 0
                        limit = 1000
                }
                fields {
                        rssTitle = TEXT
                        rssTitle {
                                field = rssTitle
                        }

                        rssBody = TEXT
                        rssBody {
                                field = rssBody
                        }

                        rssSorting = TEXT
                        rssSorting {
                                field = rssSorting
                        }

                        rssLink = COA
                        rssLink {
                                10 = TEXT
                                10 {
                                        wrap = http://|/
                                        data = getIndpEnv: HTTP_HOST
                                }

                                20 >
                                20 = TEXT
                                20.typolink.parameter = 67
                                20.typolink.returnLast = url
                                20.typolink.additionalParams.cObject = TEXT
                                20.typolink.additionalParams.cObject {
                                        wrap = &amp;tx_dmmjobcontrol_pi1[job_uid]=|
                                        field = uid
                                }
                        }
                }
        }

        // table 2 (tt_content)
        20 < .10
        20 {
                settings {
                        table = tt_content
                        fieldTitle = header
                        fieldBody = bodytext
                        fieldSorting = tstamp
                        pid = 159
                        additionalWhereClause = AND sys_language_uid = 0 AND pid != 159 AND pid != 160

                }
                fields {
                        rssLink {
                                20 >
                                20 = TEXT
                                20.typolink.parameter.field = pid
                                20.typolink.returnLast = url
                        }
                }
        }

        // table 3 (tt_content)
        30 < .20
        30 {
                settings {
                        pid = 19
                        pid_recursive = 2
                }
        }
}
Q: How to change the html Template?

Copy the original HTML Template (EXT:in2rss/files/templates/rss.html) to the fileadmin folder and set the new path via constants

Q: How to change the „in2code“ in the feed?

Please change the text in the HTML template

To-Do list

It's up to you to give us some feedback!

Are there any further feature requests or bugs? Write us an email... See www.in2code.de

ChangeLog

Version 0.2.0 alpha

2011-02-01: Bugfix Update to 0.2.2
  • Bugfix: Don't crop description within a word (only on space characters)
  • Feature: Add Picture from a different field to the body
2011-01-13: Bugfix Update to 0.2.1

Feature #12164 - Use absRefPrefix only for typenum 101

2011-01-12: Main Update to 0.2.0
  • Feature #12130: Enable html tags in the bodytext of the rss feed (enables images for the facebook import)
  • Feature #10955: Adding content anker to links

Version 0.1.0 alpha

2010-10-13: Bugfix Update to 0.1.1

Added date to the rss feed

2010-09-30: Initial release 0.1.0

First upload to TER

Do you want to know more about the Features and Bugfixes of in2rss?

See all issues on forge: http://forge.typo3.org/projects/extension- in2rss/issues

17