3.1 General TYPO3 Features and APIs

Question 1 of 8

1

What needs to be done in a TYPO3 extension to send emails? (1)

Select one or more of the following:

  • The standard PHP function mail() must be used

  • The system extension swiftmailer needs to be installed and activated

  • The GeneralUtility class provides a static function email() that should be used to send emails

  • An instance of \TYPO3\CMS\Core\Mail\MailMessage needs to be created

  • Backend user records need to be retrieved from the database, because emails can only be sent to registered backend users for privacy reasons

Explanation

Question 2 of 8

1

What is required to use the global Category API in a custom extension? (2)

Select one or more of the following:

  • The method ExtensionManagementUtility::makeCategorizable() can be used

  • A relation to class \TYPO3\CMS\Extbase\Domain\Model\Category is required

  • A database field named categories must exist

  • A mapping to the category table needs to be added as TypoScript

  • A FlexForm with the field <categories> must be created

Explanation

Question 3 of 8

1

Which statements about the MetaTag API are correct? (3)

Select one or more of the following:

  • The TYPO3 core features an Open Graph MetaTagManager by default (system extension
    “SEO”)

  • Developers can only overwrite existing meta tags, but can not create custom tags by using the MetaTag API

  • Developers can not remove meta tags by using the MetaTagManager

  • When using the MetaTag API, meta tags can be set in TypoScript or in PHP (for example in a frontend plugin)

  • Custom MetaTagManager should implement the \TYPO3\CMS\Core\MetaTag\MetaTagManagerInterface

  • The system extension metatags must be installed to use the MetaTag API

Explanation

Question 4 of 8

1

How do you configure the Doctrine DBAL Query Builder to also return hidden records? (1)

Select one or more of the following:

  • This is not possible: TYPO3 never returns deleted or hidden records

  • By setting the TypoScript option setup.tx_querybuilder.include.hidden = 1

  • By using the method removeByType() of the RestrictionBuilder

  • By using the method includeHiddenRecords() of the RestrictionBuilder

Explanation

Question 5 of 8

1

Which value must be set in the database to make a dataset available in all languages? (1)

Select one or more of the following:

  • language = 0

  • language = -1

  • sys_language_uid = 0

  • sys_language_uid = -1

  • t3_origuid = 0

Explanation

Question 6 of 8

1

How do you determine the UID of a logged-in frontend user? (1)

Select one or more of the following:

  • By executing the function $this->userContext->getUid() that is available in Extbase controllers by default

  • By accessing the User Aspect of the Context API

  • By accessing the global variable $GLOBALS['BE_USER']

  • The only way is to query the database directly

Explanation

Question 7 of 8

1

What does the following API call do in the TYPO3 backend? (2)

use \TYPO3\CMS\Core\Utility\GeneralUtility;
use \TYPO3\CMS\Core\Messaging\FlashMessage;
...
$message = GeneralUtility::makeInstance(
FlashMessage::class,
'Lorem ipsum dolor sit amet.',
'Excepteur sint occaecat cupidatat',
FlashMessage::WARNING
);

Select one or more of the following:

  • It generates a warning as a Flash Message

  • It produces a PHP exception if the instance runs in the development context

  • It generates a Flash Message with the headline “Lorem ipsum dolor sit amet.”

  • It generates a Flash Message with the body text “Lorem ipsum dolor sit amet.”

  • It generates a message, if the user has Adobe Flash installed

  • The message is stored in the session until shown to the user

Explanation

Question 8 of 8

1

Which statements about TYPO3’s Flash Messages Renderer are correct? (3)

Select one or more of the following:

  • The CLI context uses the BootstrapRenderer by default

  • The backend uses the BootstrapRenderer by default

  • The frontend context has no default class (developers have to implement their own renderer class)

  • The FlashMessageRendererResolver detects the context to use the correct output format for Flash Messages

  • Developers can implement their own renderer class as required

  • The Flash Message Renderer has been marked deprecated in TYPO3 v9 and will be removed in v10

Explanation