[TYPO3-english] Tips/hints for debugging
Robert Wildling
rowild at gmx.net
Mon May 12 17:11:37 CEST 2014
Hi,
When updating from TYPO3 4.5.17 to 4.5.18, a Typoscript that reads
tt_news entries from 2 SysFolders and outputs them as XML (pageType
123), suddenly only outputs the first element only.
I am trying to debug, but do so in a manner of trial&error. Do you have
any hints how I could focus? EG what's the place to look for the XML
page type renderer?
Thanks!
Robert
This is my TS:
(In case somebody wonders why a new XML with tt_news: it is needed for a
Screen Info, where the software on the other side needs the
enclosure-tag...)
xmlPage = PAGE
xmlPage {
typeNum = 123
config {
disableAllHeaderCode = 1
additionalHeaders = Content-type:text/xml
xhtml_cleaning = 0
metaCharset = utf-8
absRefPrefix = {$absRefPrefix}
baseURL >
language = {$language}
locale_all = {$locale_all}
}
10 = TEXT
10.value = <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
#selectFields = tt_news_cat.title AS cat_title
#selectFields =
tt_news.title,tt_news.category,tt_news.image,tt_news.short,tt_news.bodytext,tt_news.datetime,tt_news.author,tt_news.author_email,tt_news_cat.title
AS cat_title
20 = COA
20 {
10 = CONTENT
10.stdWrap.dataWrap = <root>|</root>
10 {
table = tt_news
select {
selectFields = *,tt_news.title AS news_title,tt_news_cat.title
AS cat_title,tt_news.image AS news_image, tt_news_cat.image AS cat_image
pidInList = {$pidInList}
orderBy = tt_news.datetime DESC
leftjoin = tt_news_cat_mm ON
(tt_news.uid=tt_news_cat_mm.uid_local) LEFT JOIN tt_news_cat ON
(tt_news_cat_mm.uid_foreign = tt_news_cat.uid)
max = {$maxNewsItems}
}
renderObj = COA
renderObj {
### OPEN ITEM NODE (this is NOT the root tag of the XML file,
but the one that wraps ONE news entry!) ###
1 = TEXT
1.value = <item>
### CATEGORY & CATEGORY IMAGE ###
2 = TEXT
2.value = <category>
3 = TEXT
3.field = cat_title
3.wrap = <title>|</title>
4 = TEXT
4.value = <image>
6 = TEXT
6.field = cat_image
6.split {
token = ,
cObjNum = 1
1 = COA
1 {
10 = IMG_RESOURCE
10.file {
import.current = 1
import = uploads/pics/
}
10.stdWrap.dataWrap = <enclosure url="{$mainUrl}|"
length="" type="image/{TSFE:lastImgResourceInfo|2}"></enclosure>
30 = TEXT
30.data = TSFE:lastImgResourceInfo|0
30.wrap = <width>|</width>
40 = TEXT
40.data = TSFE:lastImgResourceInfo|1
40.wrap = <height>|</height>
45 = TEXT
45.data = TSFE:lastImgResourceInfo|2
45.wrap = <type>|</type>
50 = TEXT
50.data = TSFE:lastImgResourceInfo|3
50.wrap = <path>|</path>
60 = TEXT
60.if.isLessThan.data = TSFE:lastImgResourceInfo|0
60.if.value.data = TSFE:lastImgResourceInfo|1
60.value = portrait
60.wrap = <format>|</format>
61 = TEXT
61.if.isLessThan.data = TSFE:lastImgResourceInfo|1
61.if.value.data = TSFE:lastImgResourceInfo|0
61.value = landscape
61.wrap = <format>|</format>
}
}
7 = TEXT
7.value = </image>
8 = TEXT
8.value = </category>
### THE VARIOUS TEXT FIELDS: TITLE, SHORT, BODYTEXT ###
10 = TEXT
10.field = news_title
10.wrap = <title><![CDATA[|]]></title>
11 = TEXT
11 {
field = short
stripHtml = 1
htmlSpecialChars = 1
htmlSpecialChars.preserveEntities = 1
crop >
wrap = <short><![CDATA[|]]></short>
}
12 = TEXT
12 {
field = bodytext
stripHtml = 0
htmlSpecialChars = 0
htmlSpecialChars.preserveEntities = 0
wrap = <bodytext><![CDATA[|]]></bodytext>
}
13 = TEXT
13 {
field = keywords
wrap = <keywords>|</keywords>
}
### IMAGES ###
19 = TEXT
19.value = <images>
20 = TEXT
20.field = news_image
20.split {
token = ,
cObjNum = 1
1 = COA
1 {
stdWrap.wrap = <image>|</image>
10 = IMG_RESOURCE
10.file {
import.current = 1
import = uploads/pics/
}
#10.stdWrap.wrap = <source>physik.univie.ac.at/|</source>
10.stdWrap.dataWrap = <enclosure url="{$mainUrl}|"
length="123123123" type="image/{TSFE:lastImgResourceInfo|2}"></enclosure>
20 = TEXT
20 {
field = imagecaption
# split saves the index in REGISTER:SPLIT_COUNT
listNum.stdWrap.data = REGISTER:SPLIT_COUNT
listNum.splitChar = 10
wrap = <caption>|</caption>
}
21 = TEXT
21 {
field = imagecaption
# split saves the index in REGISTER:SPLIT_COUNT
listNum.stdWrap.data = REGISTER:SPLIT_COUNT
listNum.splitChar = 10
wrap = <imagealttext>|</imagealttext>
}
22 = TEXT
22 {
field = imagecaption
# split saves the index in REGISTER:SPLIT_COUNT
listNum.stdWrap.data = REGISTER:SPLIT_COUNT
listNum.splitChar = 10
wrap = <imagetitletext>|</imagetitletext>
}
30 = TEXT
30.data = TSFE:lastImgResourceInfo|0
30.wrap = <width>|</width>
40 = TEXT
40.data = TSFE:lastImgResourceInfo|1
40.wrap = <height>|</height>
45 = TEXT
45.data = TSFE:lastImgResourceInfo|2
45.wrap = <type>|</type>
50 = TEXT
50.data = TSFE:lastImgResourceInfo|3
50.wrap = <path>|</path>
60 = TEXT
60.if.isLessThan.data = TSFE:lastImgResourceInfo|0
60.if.value.data = TSFE:lastImgResourceInfo|1
60.value = portrait
60.wrap = <format>|</format>
61 = TEXT
61.if.isLessThan.data = TSFE:lastImgResourceInfo|1
61.if.value.data = TSFE:lastImgResourceInfo|0
61.value = landscape
61.wrap = <format>|</format>
}
}
21 = TEXT
21.value = </images>
# Images aus Dateien-Feld (Sonderwunsch der Physik: es werden
nur Images in dieses Feld geladen)
22 = TEXT
22.value = <images_from_news_files>
23 = TEXT
23.field = news_files
23.split {
token = ,
cObjNum = 1
1 = COA
1 {
stdWrap.wrap = <image>|</image>
10 = IMG_RESOURCE
10.file {
import.current = 1
import = uploads/media/
}
10.stdWrap.dataWrap = <enclosure url="{$mainUrl}|"
length="123123123" type="image/{TSFE:lastImgResourceInfo|2}"></enclosure>
30 = TEXT
30.data = TSFE:lastImgResourceInfo|0
30.wrap = <width>|</width>
40 = TEXT
40.data = TSFE:lastImgResourceInfo|1
40.wrap = <height>|</height>
45 = TEXT
45.data = TSFE:lastImgResourceInfo|2
45.wrap = <type>|</type>
50 = TEXT
50.data = TSFE:lastImgResourceInfo|3
50.wrap = <path>|</path>
60 = TEXT
60.if.isLessThan.data = TSFE:lastImgResourceInfo|0
60.if.value.data = TSFE:lastImgResourceInfo|1
60.value = portrait
60.wrap = <format>|</format>
61 = TEXT
61.if.isLessThan.data = TSFE:lastImgResourceInfo|1
61.if.value.data = TSFE:lastImgResourceInfo|0
61.value = landscape
61.wrap = <format>|</format>
}
}
24 = TEXT
24.value = </images_from_news_files>
### DATE, TIME, DAY, MONTH, AGE ###
25 = TEXT
25.value = <datetime>
26 = TEXT
26.field = datetime
26.strftime = %B
26.wrap = <month>|</month>
27 = TEXT
27.field = datetime
27.strftime = %A
27.wrap = <day>|</day>
28 = TEXT
28.field = datetime
28.date = d.m.Y
28.wrap = <date>|</date>
29 = TEXT
29.field = datetime
29.date = H:i
29.wrap = <time>|</time>
30 = TEXT
30.value = <datetime_single_values>
32 = TEXT
32.field = datetime
32.date = d
32.wrap = <single_day>|</single_day>
33 = TEXT
33.field = datetime
33.date = m
33.wrap = <single_month>|</single_month>
34 = TEXT
34.field = datetime
34.date = y
34.wrap = <single_year>|</single_year>
35 = TEXT
35.field = datetime
35.date = H
35.wrap = <single_hour>|</single_hour>
36 = TEXT
36.field = datetime
36.date = i
36.wrap = <single_minute>|</single_minute>
37 = TEXT
37.value = </datetime_single_values>
38 = TEXT
38.field = datetime
38.age = " Minuten | Stunden | Tage | Jahre | Minute | Stunde |
Tag | Jahr"
38.wrap = <age>|</age>
39 = TEXT
39.value = </datetime>
40 = TEXT
40.field = author
40.wrap = <author>|</author>
#40.required = 1
50 = TEXT
50.field = author_email
50.wrap = <author_email>|</author_email>
#50.required = 1
### RELATED NEWS ###
60 = COA
60 {
10 = CONTENT
10 {
table = tt_news
select {
pidInList = {$pidInList}
#uidInList.field = uid
leftjoin = tt_news_related_mm ON
tt_news.uid=tt_news_related_mm.uid_foreign AND tablenames='tt_news'
andWhere.dataWrap =
tt_news.uid=tt_news_related_mm.uid_foreign AND
tt_news_related_mm.uid_local = {field:uid}
orderBy = tt_news.datetime DESC
# Max. Anzahl an verwandten Beiträgen
max = 5
}
renderObj = COA
renderObj {
10 = TEXT
10.field = title
10.dataWrap = <header
url="{$mainUrl}index.php?id={field:uid}">|</header>
wrap = <newsitem>|</newsitem>
}
}
wrap = <related>|</related>
}
# CLOSE ITEM TAG (this is NOT the root tag of the XML file!)
9999 = TEXT
9999.value = </item>
}
}
}
}
More information about the TYPO3-english
mailing list