Hallo Forum
gibt es eine Möglichkeit von margin auf padding beim Erscheinungsbild Oberer Abstand / Unterer Abstand umzuschalten?
LG opaque
Hallo Forum
gibt es eine Möglichkeit von margin auf padding beim Erscheinungsbild Oberer Abstand / Unterer Abstand umzuschalten?
LG opaque
Hallo.
Jepp, indem Du CSS nutzt. Die csc-space-before-*-Klassen können ja auch überschrieben werden. 😉
Viele Grüße
Julian
Hallo Julian
aber das css mit margin wird ja im Code generiert und steht dann in der stylsheet.css
.csc-space-after-100 {padding-bottom: 100px !important;}
.
Jetzt habe ich einfach das margin durch ein padding ersetzt und es geht. Aber das ist nicht gerade die sauberste Lösung -> wird TYPO3 upgedated ist die Änderung weg. Das beste wär wohl ein Hook (eigene Extension), leider habe ich aber keine Ahnung wie man so einen erstellt.
So wie ich das verstehe ist der code sogar für einen Hook vorgesehen:
***********************************
* Rendering of Content Element properties
***********************************/
/**
* Add top or bottom margin to the content element
*
* Constructs and adds a class to the content element. This class selector
* and its declaration are added to the specific page styles.
*
* @param string $content Content input. Not used, ignore.
* @param array $configuration TypoScript configuration
* @return string The class name
*/
public function renderSpace($content, array $configuration) {
// Look for hook before running default code for function
if (method_exists($this, 'hookRequest') && ($hookObject = $this->hookRequest('renderSpace'))) {
return $hookObject->renderSpace($content, $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['classStdWrap.']) {
$className = $this->cObj->stdWrap($value, $configuration['classStdWrap.']);
} else {
$className = $value;
}
$selector = '.' . trim($className);
$this->addPageStyle($selector, $declaration);
return $className;
}
}
}
/************************************
Kennt jemand eine gute Step-by-step Anleitung wie man so einen Hook/Extension erstellt?
LG opaque
@Julian:
Dann muss man seinem CSS aber erklären, dass der letzte Wert (die Zahl), der entsprechende Padding sein soll. Denke mal da kommt man nicht um Javascript herum, außer man legt für die Zahlen 1 bis N manuell die einzelnen Margins fest.
Jein, Schweriner. Im Normalfall wirst Du dem Redakteur kaum den vollen Zahlenbereich 1 bis N zur Verfügung stellen, sondern per Schulung (oder Umbau des TCA in Selectbox) auf einige konkrete Werte einschränken. Dann sind es ein paar Zeilen CSS für die (wenigen) erlaubten/erwünschten Werte.
In der Theorie ist es natürlich nicht für alles eine Lösung. Praxisorientiert aber ein recht einfacher Weg :-)