[TYPO3-german] Hook für css_styled_content schreiben
Johannes C. Schulz - EnzephaloN IT-Solutions
info at enzephalon.de
Thu Apr 11 12:35:17 CEST 2013
Hallo nochmal
Ich komme einfach nicht weiter, auch wenn ich einiges an der Extension
geändert habe.
ext_localconf.php:
<?php
if (!defined ('TYPO3_MODE'))
die ('Access denied.');
$TYPO3_CONF_VARS['EXTCONF']['css_styled_content']['pi1_hooks']['renderSpace'
] = 'EXT:enzcschook/class.enzcschook.php:enzcschook->renderSpace';
?>
class.enzcschook.php:
<?php
class enzcschook{
* @param string $content Content input. Not used, ignore.
* @param array $configuration TypoScript configuration
* @return string The class name
*/
function renderSpace($content, array $configuration) {
if (isset($configuration['space']) &&
in_array($configuration['space'], array('before', 'after'))) {
$constant = (int) $configuration['constant'];
if ($configuration['space'] === 'before') {
$value = $constant +
$this->cObj->data['spaceBefore'];
$declaration = 'margin-top: ' . $value .'px
!IMPORTANT;';
} else {
$value = $constant +
$this->cObj->data['spaceAfter'];
$declaration = 'margin-bottom: ' . $value .
'px !IMPORTANT;';
}
[...]
Wenn ich in sysext/csc_styled_content/Classes/CssStyledContentController.php
in der Funktion "hookRequest" einen Vardump auf das $hookObj mache, so ist
dieses leer. Also vermute ich, daß meine Klasse nicht durch den Hook geladen
werden kann. Also folgere ich, daß irgendwas in der ext_localconf.php wohl
falsch sein muß.
Kann mir hier bitte jemand weiterhelfen?
Johannes
-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org
[mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Johannes C.
Schulz - EnzephaloN IT-Solutions
Gesendet: Donnerstag, 11. April 2013 08:07
An: typo3-german at lists.typo3.org
Betreff: [TYPO3-german] Hook für css_styled_content schreiben
Hallo typo3-Gemeinde
Ich bin gerade daran einen Hook für css_styled_content zu schreiben. Ich
möchte dort die Funktion renderSpace überladen. Aber irgendwie bin ich
ziemlich eingerostet, deswegen möchte ich Euch um Hilfe bitten.
Extension: enz_csc_hook
class.enzcschook.php:
<?php
class enzcschook extends tx_cssstyledcontent_pi1{
function renderSpace($content, array $configuration) {
if (isset($configuration['space']) &&
in_array($configuration['space'], array('before', 'after'))) {
$constant = (int)
$configuration['constant'];
if ($configuration['space']
=== 'before') {
$value =
$constant + $this->cObj->data['spaceBefore'];
$declaration
= 'margin-top: ' . $value .'px !IMPORTANT;';
} else {
$value =
$constant + $this->cObj->data['spaceAfter'];
$declaration
= 'margin-bottom: ' . $value . 'px !IMPORTANT;';
}
if (!empty($value)) {
if
($configuration['stdWrap.']) {
$className = $this->cObj->stdWrap($value, $configuration['stdWrap.']);
} else {
$className = $value;
}
$selector =
'.' . trim($className);
$this->addPageStyle($selector, $declaration);
return
$className;
}
}
}
}
?>
ext_localconf.php:
<?php
if (!defined ('TYPO3_MODE'))
die ('Access denied.');
$TYPO3_CONF_VARS['EXTCONF']['css_styled_content']['pi1_hooks']['renderSpace'
] = 'EXT:enz_csc_hook/class.enzcschook.php:enzcschook->renderSpace';
?>
ext_tables.php:
<?php
require_once(t3lib_extMgm::extPath('enz_csc_hook') .
'class.enzcschook.php');
?>
Irgendwie scheint mir das alles richtig zu sein, doch wird der Hook nicht
ausgeführt, d.h. der veränderte CSS-Kram nicht ausgegeben.
Wäre echt dankbar, wenn mir jemand den Fehler aufzeigen und korrigieren
könnte.
Viele Grüße
Johannes
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
More information about the TYPO3-german
mailing list