Question 1
Question
Which of the following objects are not TypoScript top level objects? (2)
Answer
-
config
-
TEXT
-
styles
-
GMENU
-
PAGE
-
includeLibs
Question 2
Question
Which of these statements about TypoScript is true? (2)
Answer
-
TypoScript is a programming language like ActionScript or Java-Script.
-
TypoScript is an extension for TYPO3.
-
TypoScript can be used to configure TYPO3.
-
TypoScript mainly controls the output of the website in the frontend.
-
Extensive knowledge of PHP is required to use TypoScript.
Question 3
Question
You want to assign a multi-line value. Which of the following code sections are syntactically correct as replacements for the question marks? (1)
page = PAGE
page.10 = TEXT
???
Answer
-
It is not possible to specify multi-line values in TypoScript; you can
assign only single-line values.
-
page.10.value (
Hello
World
)
-
page.10.value = (
Hello
World
)
-
page.10.value = (Hello
World)
-
page.10.value (Hello
World
)
Question 4
Question
It is possible to comment out lines in TypoScript. Which characters are used as comment characters? (4)
Answer
-
//
-
/* ... */
-
#
-
/
-
<!-- ... ->
Question 5
Question
What do you enter in the constants area to make the following TypoScript setup code functional? (1)
config.language = {$langKey}
config.sys_language_uid = 1
config.htmlTag_langKey = {$langKey}
Answer
-
$langKey = de
-
{$langkey = en}
-
langKey = jp
-
langkey = cn
-
LANGKEY = at
Question 6
Question
What is the function of this TypoScript code? (1)
page.meta.DESCRIPTION = {$meta.description}
page.meta.DESCRIPTION.override.field = description
Answer
-
The description field is output.
-
If the description field contains no value, the corresponding constant is used.
-
The description field is always overwritten by the value of the corresponding constant.
-
The value of the constant is used.
Question 7
Question
You want to execute a replacement in content elements: the system is to replace the ###MAIL### placeholder with the current email address of the web master. How do you proceed? (1)
Answer
-
You enter the following line in the TypoScript constant area:
MAIL = info@mytypo3domain.de
-
You enter the following line in the TypoScript setup area:
MAIL = info@mytypo3domain.de
-
You enter the following line in the TypoScript setup area:
<...> = {$MAIL}
-
You enter the following line in the TypoScript constant area:
constant.MAIL = info@mytypo3domain.de
-
You enter the following line in the TypoScript setup area:
constants.MAIL = info@mytypo3domain.de
Question 8
Question
What is the output produced by this TypoScript code? (1)
page = PAGE
page.10 = COA
page.10 {
30 = TEXT
30.value = A
30.wrap = B|C
40 = HTML
40.value = D
40.wrap = E|F
20 < .30
40.value = G
}
Answer
-
BACEGF
-
DBACD
-
DBACG
-
EDFBACEGF
-
DBACEGF
-
DBACEDF
-
BACBAC
Question 9
Question
What is the output produced by this TypoScript code? (1)
page = PAGE
page.10 = COA
page.10 {
30 = TEXT
30.value = A
40 = TEXT
40.value = B
20 = TEXT
20.value = C
20.stdWrap.append < .30
10 = TEXT
10.prepend < .40
10.value = D
}
Answer
-
ABCD
-
BDCAAB
-
ABCADB
-
BDCAB
-
DBCAB
Question 10
Question
What is the output produced by this TypoScript code? (1)
temp.text1.value = Certification
page = PAGE
page.10 =< temp.text1
temp.text1.wrap = TYPO3-|!
Answer
-
Certification
-
TYPO3-!
-
TYPO3-Certification!
-
There is no output.
-
!
Question 11
Question
What is the output produced by this TypoScript code? (1)
object1 = TEXT
object1.value = value1
page = PAGE
page {
10 <= object1
15 < object1
15.value = -
20 < object1
}
object1.value = value3
Answer
-
value1
-
-value1
-
value1-value1
-
value1-value3
-
value3-value1
Question 12
Question
What code do you enter in place of the question marks so that the output of the script is AB? (1)
lib.obj = COA
lib.obj {
10 = COA
10.10 = TEXT
10.10.value = A
10.20 < .10
}
page = PAGE
page.10 = COA
page.10 {
10 =< lib.obj
???
}
Answer
-
10.value = B
-
10.10.value = B
-
10.20.value = B
-
10.10.20.value = B
-
10.10.20.10.value = B
-
10.10.10.20.value = B
Question 13
Question
A condition begins with square brackets. Which expression does it have to end in? (6)
Answer
-
[GLOBAL]
-
[global]
-
[Global]
-
[END]
-
[end]
-
[End]
-
[]
Question 14
Question
Select the areas in which you can use conditions: (4)
Answer
-
TypoScript constants
-
TypoScript setup
-
Page TSconfig
-
User TSconfig
-
Fluid template
Question 15
Question
Is it possible to deactivate conditions in PageTSconfig and UserTSconfig? (1)
Answer
-
No, conditions are part of the core, so they cannot be deactivated for TSconfig.
-
Yes, by using the TypoScript instruction config.TSconfigConditions = 0
-
Yes, by using the PageTSconfig instruction
config.TSconfigConditions = 0
-
Yes, by using the following key in the Install Tool:
[BE][TSconfigConditions] = 0
-
Yes, by selecting the Use TSconfigConditions checkbox in the user settings.
Question 16
Question
Is it possible to check the backend_layout field in the backend, and if so, how? (1)
Answer
-
No, that is not possible. Page properties are only relevant in the
frontend and are checked there by TypoScript.
-
[globalVar = TSFE:current|backend_layout = 1]
-
[globalVar = TSFE:this|backend_layout = 1]
-
[globalVar = TSFE:page|backend_layout = 1]
-
[TSFE|backend_layout = 1]
-
[this|backend_layout = 1]
-
[page|backend_layout = 1]
-
[current|backend_layout = 1]
Question 17
Question
Which condition can you use to check whether a front end user is logged in? (1)
Answer
-
[login = true]
-
[!login = false]
-
[loginUser = *]
-
[user = login]
-
[loginUser = true]
-
[login = *]
Question 18
Question
Which condition allows you to determine in the frontend whether a user is logged into the backend at the same time? (1)
Question 19
Question
Which condition can you use to check whether it is later than 2 p.m.? (1)
Answer
-
[time > 14]
-
[time >= 14]
-
[time => 14]
-
[hour > 14]
-
[hour >= 14]
-
[hour => 14]
Question 20
Question
Which condition would you use to check that the user’s IP address is not 217.112.17.89? (1)
Question 21
Question
Which of the following conditions have the correct syntax? (6)
Answer
-
[language = *de][language = *en]
-
[language = *de]or[language = *en]
-
[language = *de]OR[language = *en]
-
[language = *de]NOT[language = *en]
-
[language = *de]||[language = *en]
-
[language = *de]AnD[language = *en]
-
[language = *de]&[language = *en]
-
[language = *de]&&[language = *en]
Question 22
Question
Which condition would you use to check whether the current day is Christmas Eve? (2)
Answer
-
This is not possible; Christmas Eve falls on a different day of the week every year.
-
You can write your own condition.
-
[dayofmonth = 24]AND[dayofweek = 12]
-
[dayofmonth = 24]AND[month = 12]
-
[day = 24]AND[month = 12]
Question 23
Question
What do you need to observe when creating your own condition? (5)
Answer
-
You have to create a PHP file.
-
You can only address a function, and not a class.
-
You address a function within a class.
-
The function can have any name.
-
The function has to start with user_.
-
It is possible to transfer parameters.
-
It is not possible to transfer parameters.
-
The function can return any value.
-
The function can only return true or false.
Question 24
Question
What does [20.h] stand for in the following TypoScript code? (1)
lib.getPageTitle = IMAGE
lib.getPageTitle.altText.field = title
lib.getPageTitle.file = GIFBUILDER
lib.getPageTitle.file {
XY = 400,[10.h]+[20.h]+20
10 = TEXT
10.text.field = title
10.text.listNum.splitChar = |
10.text.listNum = 0
10.fontSize = 20
10.fontColor = #cc0000
10.offset = 0,24
10.niceText = 1
20 < .10
20.text.listNum = 1
20.offset = 0,24+[10.h]+6
}
Answer
-
A width of 20 pixels.
-
A height of 20 pixels.
-
The value of the constant called h.
-
The height of the text field, which is defined in 20..
-
An offset of 20 pixels in height.
-
A font height of 20 pixels.
Question 25
Question
Is it possible to select any font in images that contain text and are created using the GIFBUILDER?
Answer
-
Yes, but only one of the 20 fonts supplied with TYPO3.
-
Yes, you can use a font from any font file with the format ttf (True-Type fonts).
-
Yes, you can use a font from any font file with the format otf (OpenType fonts).
-
Yes, you can use a font from any font file with the format ctf (ClearType fonts).
-
Yes, you can use a font from any font file with the format pfm/pfb (Type 1 fonts).
-
No, you have to use an extension to do this.
-
No, it is not possible.
Question 26
Question
What does the c in the width and height specifications stand for in the following TypoScript code? (1)
page = PAGE
page.10 = IMAGE
page.10.file = testimage.jpg
page.10.file.width = 100c+100
page.10.file.height = 100c
Answer
-
Calculated
-
Crop
-
Constant
-
Clear
-
Continuous
Question 27
Question
Which TypoScript objects have to be addressed so that contents from tt_content can be returned? (2)
Answer
-
PAGE
-
TEMPLATE
-
CONTENT
-
CONFIG
-
META
-
TEXT
-
USER
Question 28
Question
This next code fills position 10 of a register with the value of the layout field of the current page. How can you return to querying this value at position 20 instead of the question marks? (2)
10 = LOAD_REGISTER
10.layout.cObject = TEXT
10.layout.cObject.data = TSFE:layout
20 = TEXT
20.???
Question 29
Question
The following code will place the time of day on the website. Which content object needs to replace the question marks? (1)
page = PAGE
page.10 = ???
page.10 {
10 = TEXT
10.data = date:U
10.strftime = %D - %H:%M:%S
}
Answer
-
USER
-
USER_INT
-
COA
-
COA_INT
-
TIME
-
TEXT
-
TEXT_INT
Question 30
Question
The following script returns the share price. Why does it only return the correct price once? (1)
page = PAGE
includeLibs.stockexchange = media/scripts/shareprice.php
page.10 = USER
page.10 {
userFunc = user_stockexchange->showshareprice
wkn = AAPL
reverseOrder = 1
}
Answer
-
TYPO3 permits only one single call via a USER object.
-
The parameter reverseOrder = 1 means that the object is cached once the price has been determined once.
-
It should be USER_INT, not USER.
-
As the server containing the share price is a remote one, TYPO3 can only place one query before the server’s firewall notices and blocks any additional queries.
Question 31
Question
You want to use TypoScript to specify a background image. Which content element needs to replace the question marks? (1)
page = PAGE
page.10 = ???
page.10 {
file = fileadmin/backgroundimg.jpg
file.width = 100
file.height = 100
stdWrap.wrap = <div style="background-image:url(|); width:100px; ↩
height:100px;">Text</div>
}
Answer
-
IMG
-
IMAGE
-
IMG_RESOURCE
-
IMAGE_RESOURCE
-
GIFBUILDER
Question 32
Question
You want the output of a TEXT content object to be multilingual. What do you need to do? (1)
page = PAGE
page.10 = TEXT
page.10.value = English Text
Answer
-
You add the following: page.10._LOCAL_LANG.de = Deutscher Text
-
You add the following: page.10.lang.de = Deutscher Text
-
You add the following: page.10.de = Deutscher Text
-
Using the xml-ll extension is a convenient way of translating the language labels.
-
Translations have to be created by means of conditions, for example: [globalVar = GP:L = 1]
Question 33
Question
You want to display the content elements of a page in random order. Is this possible, and if so, how? (1)
page = PAGE
page.10 = CONTENT
page.10 {
table = tt_content
select {
where = colPos = 0
max = 1
???
}
}
Answer
-
That is not possible. The content elements are displayed in the sequence
specified in the backend.
-
You have to use an special extension to do this.
-
You replace the question marks with the following line:
orderBy = random
-
You replace the question marks with the following line:
orderBy = rand()
-
You replace the question marks with the following line:
orderBy = rand
Question 34
Question
From what page does the following script read out the content elements? (1)
page = PAGE
page.10 = CONTENT
page.10 {
table = tt_content
select {
pidInList = this
}
}
Answer
-
The content elements from the page with the identifier this.
-
The content elements of the current page.
-
The content elements from the page stored in the register called this.
-
The content elements from the page whose PID is the value of the UID of the current page.
-
The content elements from the page with PID = 0, because there is no such thing as a key word called this and TypoScript interprets this as value 0.
Question 35
Question
What is the output of the code below? (1)
page = PAGE
page.10 = CONTENT
page.10 {
table = tt_content
select {
pidInList = 2,3,4
}
}
Answer
-
It creates a menu from the pages with the UIDs 2, 3 and 4.
-
It displays the contents with the UIDs 2, 3 and 4.
-
It displays all the contents of the pages with the UIDs 2, 3 and 4.
-
It displays all contents apart from those with the UIDs 2, 3 and 4.
Question 36
Question
You want to display the data records from the tt_content table that have the IDs 2 and 3. What should be in place of the question marks? (1)
page = PAGE
page.10 = ???
page.10 {
tables = tt_content
source = 2,3
dontCheckPid = 1
}
Answer
-
TEXT
-
HTML
-
COA
-
RECORDS
-
DATA
-
CONTENT
Question 37
Question
When entering a content element, you can use the Frame select box to select a frame. What do you have to add to the code below if you want to enter your own style instructions when entering Frame 1 (ID=20) and Frame 2 (ID=21) (1)
temp.bodytext = <bf>???</bf>
temp.bodytext {
key.field = section_frame
default < tt_content.text.20
20 < .default
20.wrap = <div class="dotted">|</div>
21 < .default
21.wrap = <div class="solid">|</div>
}
tt_content.text.20 >
tt_content.text.20 < temp.bodytext
Answer
-
TEXT
-
HTML
-
CASE
-
RECORDS
-
LOAD_REGISTER
-
CONTENT
Question 38
Question
In the CType field of the tt_content table there is a list entry; what does this mean? (1)
Answer
-
The content element is a List type.
-
This is where multiple content elements are managed in a list.
-
The content element is a Plugin type.
-
This is where the extension’s list view is defined.
Question 39
Question
You see CType=list and list_type=9 (plugin tt_news). How do you address the body text of the output? (2)
Question 40
Question
How can you automatically replace specific strings with other strings in the output of the tt_content text content? (1)
tt_content.text.20 {
???
}
Answer
-
parseFunc.string1 = string2
-
parseFunc.short.string1 = string2
-
parseFunc.tags.string1 = string2
-
string1 = string2
-
HTMLparser.string1 = string2
-
HTMLparser.replace.string1 = string2
Question 41
Question
Subtitles in the backend form of a page can only be entered in one line. What do you need to do so that you can enter them in multiple lines? (1)
Answer
-
This is not possible without modifications to the TYPO3 core.
-
You install the multiline backend forms extension.
-
You enter the following code line in the extTables.php file:
$GLOBALS['TCA']['page']['columns']['subtitle']['config']['form_type'] = 'text';
-
You enter the following code in Page TSconfig:
TCEFORM.pages.columns.subtitle.config.form_type = text
-
You enter the following code in User TSconfig:
TCAdefaults.pages.subtitle.config.form_type = text
-
You enter the following code line in the TypoScript setup:
pages.columns.subtitle.config.form_type = text
-
You enter the following code line in the TypoScript setup:
pages.subtitle.config.form_type = text
Question 42
Question
Which TypoScript code element do you use to display email addresses in the frontend in a manner that robots are unable to read out for spam purposes? (1)
Answer
-
config.spam.email = 0
-
config.spamProtectEmailAddresses = 1
-
config.email.usePicture = 1
-
config.protectEmailAdresses = 0
Question 43
Question
You have added a Bullet list content element to a page, but you do not like the way it is displayed. How can you change it? (2)
Answer
-
The content element is a core function, so you have to modify the
appropriate core files directly.
-
The content element is a core function, so you have to find an extension
that implements an unsorted list.
-
You modify the tt_content.bullets.20 object.
-
You modify the tt_content.bulletlist.20 object.
-
You use CSS to modify the appearance of the csc-bullets class.
-
You use CSS to modify the appearance of the csc-bulletlist class.
Question 44
Question
You want to prevent the content elements with IDs 37 and 38 from being output if it is 11 a.m. or later. What code do you have to enter in place of the question marks? (1)
page = PAGE
page.10 < styles.content.get
[hour = > 11]
page.10.??? {
isInList.field = uid
value = 37,38
negate = 1
}
[end]
Answer
-
if
-
stdWrap.if
-
renderObj.stdWrap.if
-
renderObj.if
-
if.stdWrap