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.

Service

getSubpart()

What does it do?

Substitutes a marker string in the input content.

Sample

$MarkerBasedTemplateService = GeneralUtility::makeInstance( \Netzmacher\Refresh\Compatibility\Core\Service\MarkerBasedTemplateService::class );
$ajaxSubpartOfTheTemplate = $MarkerBasedTemplateService->getSubpart( $template, '###AJAX###' );

Refresh

You can refresh your extension by find and replace.

// Code from TYPO3 6.2 to 7.6
$ajaxSubpartOfTheTemplate = $this->cObj->etSubpart( $template, '###AJAX###' );
// Code from TYPO3 6.2 to 9.x
$ajaxSubpartOfTheTemplate = $MarkerBasedTemplateService->getSubpart( $template, '###AJAX###' );

Move “$this->cObj->getSubpart” to “$MarkerBasedTemplateService->getSubpart”

substituteMarker()

What does it do?

Substitutes a marker string in the input content.

Header

/**
 * Substitutes a marker string in the input content
 * (by a simple str_replace())
 *
 * @param string $content The content stream, typically HTML template content.
 * @param string $marker The marker string, typically on the form "###[the marker string]###
 * @param mixed $markContent The content to insert instead of the marker string found.
 *
 * @return string The processed HTML content string.
 * @see substituteSubpart()
 * @access public
 * @internal #t1655
 * @version 1.0.0
 * @since 1.0.0
 */
public function substituteMarker( $content, $marker, $markContent )

Sample

See getSubpart() above.

Refresh

See getSubpart() above.

substituteMarkerArray()

What does it do?

Substitutes a marker array in the input content.

Header

/**
 * Traverses the input $markContentArray array and for each key the marker
 * by the same name (possibly wrapped and in upper case) will be
 * substituted with the keys value in the array. This is very useful if you
 * have a data-record to substitute in some content. In particular when you
 * use the $wrap and $uppercase values to pre-process the markers. Eg. a
 * key name like "myfield" could effectively be represented by the marker
 * "###MYFIELD###" if the wrap value was "###|###" and the $uppercase
 * boolean TRUE.
 *
 * @param string $content The content stream, typically HTML template content.
 * @param array $markContentArray The array of key/value pairs being marker/content values used in the substitution. For each element in this array the function will substitute a marker in the content stream with the content.
 * @param string $wrap A wrap value - [part 1] | [part 2] - for the markers before substitution
 * @param bool $uppercase If set, all marker string substitution is done with upper-case markers.
 * @param bool $deleteUnused If set, all unused marker are deleted.
 *
 * @return string The processed output stream
 * @see substituteMarker(), substituteMarkerInObject(), TEMPLATE()
 * @access public
 */
public function substituteMarkerArray( $content, array $markContentArray, $wrap = '', $uppercase = FALSE, $deleteUnused = FALSE )

Sample

See getSubpart() above.

Refresh

See getSubpart() above.

substituteMarkerArrayCached()

What does it do?

Multi substitution function with caching.

Header

/**
 * Multi substitution function with caching.
 *
 * This function should be a one-stop substitution function for working
 * with HTML-template. It does not substitute by str_replace but by
 * splitting. This secures that the value inserted does not themselves
 * contain markers or subparts.
 *
 * Note that the "caching" won't cache the content of the substition,
 * but only the splitting of the template in various parts. So if you
 * want only one cache-entry per template, make sure you always pass the
 * exact same set of marker/subpart keys. Else you will be flooding the
 * user's cache table.
 *
 * This function takes three kinds of substitutions in one:
 * $markContentArray is a regular marker-array where the 'keys' are
 * substituted in $content with their values
 *
 * $subpartContentArray works exactly like markContentArray only is whole
 * subparts substituted and not only a single marker.
 *
 * $wrappedSubpartContentArray is an array of arrays with 0/1 keys where
 * the subparts pointed to by the main key is wrapped with the 0/1 value
 * alternating.
 *
 * @param string $content The content stream, typically HTML template content.
 * @param array $markContentArray Regular marker-array where the 'keys' are substituted in $content with their values
 * @param array $subpartContentArray Exactly like markContentArray only is whole subparts substituted and not only a single marker.
 * @param array $wrappedSubpartContentArray An array of arrays with 0/1 keys where the subparts pointed to by the main key is wrapped with the 0/1 value alternating.
 * @return string The output content stream
 * @see substituteSubpart(), substituteMarker(), substituteMarkerInObject(), TEMPLATE()
 * @access public
 * @internal #t1818
 * @version 1.0.2
 * @since 1.0.2
 */
public function substituteMarkerArrayCached( $content, array $markContentArray = null, array $subpartContentArray = null, array $wrappedSubpartContentArray = null )

Sample

See getSubpart() above.

Refresh

See getSubpart() above.

substituteSubpart()

What does it do?

Substitute subpart in input template stream.

Header

/**
 * Substitute subpart in input template stream.
 * This function substitutes a subpart in $content with the content of
 * $subpartContent.
 * Wrapper for \TYPO3\CMS\Core\Html\HtmlParser::substituteSubpart which behaves identical
 *
 * @param string $content The content stream, typically HTML template content.
 * @param string $marker The marker string, typically on the form "###[the marker string]###
 * @param mixed $subpartContent The content to insert instead of the subpart found. If a string, then just plain substitution happens (includes removing the HTML comments of the subpart if found). If $subpartContent happens to be an array, it's [0] and [1] elements are wrapped around the EXISTING content of the subpart (fetched by getSubpart()) thereby not removing the original content.
 * @param boolean $recursive If $recursive is set, the function calls itself with the content set to the remaining part of the content after the second marker. This means that proceding subparts are ALSO substituted!
 * @return string The processed HTML content string.
 * @access public
 */
public function substituteSubpart( $content, $marker, $subpartContent, $recursive = 1 )

Sample

See getSubpart() above.

Refresh

See getSubpart() above.