Eben. Das hätte ich nämlich auch gemeint.
Eben. Das hätte ich nämlich auch gemeint.
Doch, die Module pct_themer und pct_customelements bringen jeweils ein eigenes be_main.html5 Template mit.
Allerdings nur in älteren Versionen. @monaco: wie hast du deine PCT Module aktualisiert? Du musst natürlich die alten löschen, nicht einfach nur die neuen drüber kopieren.
Das ist der Punkt.
Die neueren Versionen haben das Template nicht.
Ich würde an Deiner Stelle @monaco ein Contaoupdate von einem Themeupdate trennen.
Zuerst Contao und dann erst Eclipse (oder auch andersherum - wie es Dir besser gefällt).
Beides Zusammen könnte Murks ergeben wenn Du nicht genau weißt was Du tust.
Gruß
tschero
Ich habe jetzt nochmal anhand der Anleitung: https://forum.premium-contao-themes....ao-3-5-auf-4-4
nochmal alles von vorn begonnen. Ich komme wieder ins backend. Das passt. Das einzig was nicht funktioniert ist der Slider.
Testumgebung:
http://web268.s153.goserver.host/
Im Moment noch Produktiv
https://www.hampel-gmbh.com/
Könnte es vielleicht daran liegen, dass "Templates" nicht öffentlich gemacht wurde?
Seien wir realistisch, versuchen wir das Unmögliche
Du müsstest das j_accordion.html5 Template aktualisieren, da aktuell das Skript <script src="assets/jquery/ui//jquery-ui.min.js"></script> aufgrund der nicht mehr vorhandenen Versionsnummer nicht mehr gefunden bzw. geladen werden kann.
Danke dir. Hat prima geklappt. Bedauerlicherweise hat es mir jetzt die CSS-Formatierung bezüglich der Schrift und das grid "verballert".
http://web268.s153.goserver.host/innenputz.html
Seien wir realistisch, versuchen wir das Unmögliche
Die neueste Version von Eclipse benutzt ein Opt-In für extern eingebundene Ressourcen, inkl. Google Fonts. Das heißt die Google Fonts werden erst eingebunden, wenn der Benutzer das akzeptiert hat. Im Templates Ordner gibt es aber einen "no_optin_templates" Unterordner. Wenn du kein Opt-In möchtest, musst du diese Templates verwenden.
Für den Rest solltest du dich an das PCT Forum wenden.
Nein - aber das fe_page Template hat sich diesbezüglich geändert. Das solltest du auch abgleichen.
Da habe ich aber das "alte" von der produktive Seite so übernommen, und die zwei Zeilen mit dem customize css wurden wie folgt eingebunden
hier das template:PHP-Code:
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customize-hampel.css" media="screen">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customize-hampel2.css" media="screen">
PHP-Code:
<!DOCTYPE html>
<html lang="<?php echo $this->language; ?>"<?php if ($this->isRTL): ?> dir="rtl"<?php endif; ?>>
<head>
<?php $this->block('head'); ?>
<meta charset="<?php echo $this->charset; ?>">
<title><?php echo $this->title; ?></title>
<base href="<?php echo $this->base; ?>">
<?php $this->block('meta'); ?>
<meta name="robots" content="<?php echo $this->robots; ?>">
<meta name="description" content="<?php echo $this->description; ?>">
<meta name="keywords" content="<?php echo $this->keywords; ?>">
<meta name="generator" content="Contao Open Source CMS">
<?php if(strlen(strpos(\Environment::getInstance()->agent->class, 'mobile')) > 0): ?><meta name="viewport" content="width=device-width,initial-scale=1.0"><?php endif; ?>
<link rel="shortcut icon" href="files/cto_layout/img/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" href="files/cto_layout/img/apple-touch-icon.png">
<?php $this->endblock(); ?>
<?php echo $this->framework; ?>
<?php echo $this->mooScripts; ?>
<?php echo $this->stylesheets; ?>
<!-- uncomment if you dont use pct_customelements module - loads font-awesome from cdn
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
-->
<link rel="stylesheet" type="text/css" media="screen" href="<?php
$objCombiner = new Combiner();
$objCombiner->add('files/cto_layout/scripts/swiper/swiper.min.css');
$objCombiner->add('files/cto_layout/scripts/mmenu/jquery.mmenu.all.css');
$objCombiner->add('files/cto_layout/css/animate.css');
$objCombiner->add('files/cto_layout/scripts/jquery.mb.YTPlayer/css/YTPlayer.css');
$objCombiner->add('files/cto_layout/scripts/isotope/isotope_styles.css');
// for better page speed uncomment this lines (start)
//$objCombiner->add('files/cto_layout/css/framework.css');
//$objCombiner->add('files/cto_layout/css/customelements.css');
//$objCombiner->add('files/cto_layout/css/customcatalog.css');
//$objCombiner->add('files/cto_layout/css/styles.css');
// for better page speed uncomment this lines (end)
echo $objCombiner->getCombinedFile();
?>">
<!-- for better page speed remove this lines (start)-->
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/framework.css" media="screen">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customelements.css" media="screen">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/styles.css" media="screen">
<!-- for better page speed remove this lines (end)-->
<!-- pct_themer module (start)-->
<link rel="stylesheet" title="theme_css_session" type="text/css" href="<?php echo $this->pct_layout_css; ?> ">
<!-- pct_themer module (end)-->
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customize-hampel.css" media="screen">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customize-hampel2.css" media="screen">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/print.css" media="print">
<?php echo $this->head; ?>
<?php $this->endblock(); ?>
</head>
<body class="{{ua::class}}<?php if ($this->class) echo ' ' . trim(preg_replace('/fa(?:-[-\w]+|\b)/','', $this->class)); ?>"<?php if ($this->onload): ?> onload="<?php echo $this->onload; ?>"<?php endif; ?>>
<?php if (strlen($this->sections['body_top']) > 0): ?><div class="body_top"><?php echo $this->sections['body_top']; ?></div><?php endif; ?>
<!--[if lt IE 9]><p id="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better experience this site.</p><![endif]-->
<div>
<?php $this->block('body'); ?>
<div id="contentwrapper">
<div id="fix-wrapper">
<div id="top-wrapper">
<?php if (strlen($this->sections['top']) > 0): ?>
<?php $this->block('top'); ?>
<div id="top">
<div class="inside">
<?php echo $this->sections['top']; ?>
<hr class="clear">
</div>
<div class="offcanvas-trigger"><span class="line1"></span><span class="line2"></span></div>
</div>
<?php $this->endblock(); ?>
<?php endif; ?>
<?php $this->block('header'); ?>
<?php if ($this->header): ?>
<header id="header" class="header original">
<div class="inside">
<?php echo $this->header; ?>
<div class="clear"></div>
</div>
</header>
<div class="clear"></div>
<?php endif; ?>
<?php $this->endblock(); ?>
</div>
</div>
<?php $this->block('slider'); ?>
<div id="slider">
<div class="inside">
<?php echo $this->sections['slider']; ?>
</div>
</div>
<?php $this->endblock(); ?>
<?php $this->block('breadcrumb'); ?>
<?php echo $this->sections['breadcrumb']; ?>
<?php $this->endblock(); ?>
<?php $this->block('container'); ?>
<div id="wrapper">
<div id="container">
<?php $this->block('main'); ?>
<section id="main">
<div class="inside">
<?php echo $this->main; ?>
</div>
</section>
<?php $this->endblock(); ?>
<?php $this->block('left'); ?>
<?php if ($this->left): ?>
<aside id="left">
<div class="inside">
<?php echo $this->left; ?>
</div>
</aside>
<?php endif; ?>
<?php $this->endblock(); ?>
<?php $this->block('right'); ?>
<?php if ($this->right): ?>
<aside id="right">
<div class="inside">
<?php echo $this->right; ?>
</div>
</aside>
<?php endif; ?>
<?php $this->endblock(); ?>
</div>
</div>
<?php $this->endblock(); ?>
<?php $this->block('footer'); ?>
<?php if ($this->footer): ?>
<footer id="footer">
<div class="inside">
<?php echo $this->footer; ?>
<a href="body" class="totop"></a>
</div>
</footer>
<?php endif; ?>
<?php $this->endblock(); ?>
<?php if (strlen($this->sections['bottom']) > 0): ?>
<?php $this->block('bottom'); ?>
<div id="bottom">
<div class="inside">
<?php echo $this->sections['bottom']; ?>
</div>
</div>
<?php $this->endblock(); ?>
<?php endif; ?>
</div>
</div>
<div class="body_bottom"><?php echo $this->sections['body_bottom']; ?></div>
<script type="text/javascript">jQuery.noConflict();</script>
<?php echo $this->mootools; ?>
<script type="text/javascript" charset="utf-8" src="<?php
$objCombiner = new Combiner();
$objCombiner->add('files/cto_layout/scripts/mmenu/jquery.mmenu.min.all.js');
$objCombiner->add('files/cto_layout/scripts/waypoints/waypoints.min.js');
$objCombiner->add('files/cto_layout/scripts/jquery.mb.YTPlayer/inc/jquery.mb.YTPlayer.js');
$objCombiner->add('files/cto_layout/scripts/typed/js/typed.js');
$objCombiner->add('files/cto_layout/scripts/countup/countUp.min.js');
$objCombiner->add('files/cto_layout/scripts/parallax/jquery.stellar.min.js');
$objCombiner->add('files/cto_layout/scripts/doubletaptogo/doubletaptogo.js');
$objCombiner->add('files/cto_layout/scripts/easypiecharts/easypiechart.min.js');
$objCombiner->add('files/cto_layout/scripts/cookie/jquery.cookie.js');
echo $objCombiner->getCombinedFile();
?>"></script>
<script src="files/cto_layout/scripts/swiper/swiper.jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="files/cto_layout/scripts/scripts.js" type="text/javascript" charset="utf-8"></script>
<?php $this->endblock(); ?>
</body>
</html>
Seien wir realistisch, versuchen wir das Unmögliche
Du könntest das alte und neue fe_page Template mit einem DIFF-Tool abgleichen (NetBeans z.B. kann so was).
Und warum bindest Du externes CSS nicht über das Seitenlayout ein?
Gruß
tschero
Das wird von PCT direkt so im Template gemacht.
Ist da nicht ein kleiner Unterschied?
PCT bindet die customize.css direkt im Template mit ein.
monaco aber hat eine customize_hampel und customize-hampel2 eingebunden.
Diese beiden meinte ich, könnte er über das Seitenlayout einbinden.Code:<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customize-hampel.css" media="screen"> <link rel="stylesheet" type="text/css" href="files/cto_layout/css/customize-hampel2.css" media="screen">
Da es eigene css Dateien sind, werden die nicht von PCT im fe_page Template direkt(hardcoded) eingebunden.
Gruß
tschero
Geändert von tschero (18.08.2019 um 19:19 Uhr) Grund: Rechtschreibung
Ich habe das fe_page template angepasst.
PHP-Code:
<!DOCTYPE html>
<html lang="<?php echo $this->language; ?>"<?php if ($this->isRTL): ?> dir="rtl"<?php endif; ?>>
<head>
<?php $this->block('head'); ?>
<?php $this->block('meta'); ?>
<meta charset="<?php echo $this->charset; ?>">
<meta name="robots" content="<?php echo $this->robots; ?>">
<meta name="description" content="<?php echo $this->description; ?>">
<meta name="keywords" content="<?php echo $this->keywords; ?>">
<meta name="generator" content="Contao Open Source CMS">
<title><?php echo $this->title; ?></title>
<base href="<?php echo $this->base; ?>">
<?php if(strlen(strpos(\Environment::getInstance()->agent->class, 'mobile')) > 0): ?><meta name="viewport" content="width=device-width,initial-scale=1.0"><?php endif; ?>
<link rel="shortcut icon" href="files/cto_layout/img/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" href="files/cto_layout/img/apple-touch-icon.png">
<?php $this->endblock(); ?>
<?php echo $this->framework; ?>
<?php echo $this->mooScripts; ?>
<?php echo $this->stylesheets; ?>
<link rel="stylesheet" type="text/css" media="screen" href="<?php
$objCombiner = new Combiner();
$objCombiner->add('files/cto_layout/scripts/swiper/swiper.min.css');
$objCombiner->add('files/cto_layout/scripts/mmenu/jquery.mmenu.all.css');
$objCombiner->add('files/cto_layout/css/animate.css');
$objCombiner->add('files/cto_layout/scripts/jquery.mb.YTPlayer/css/YTPlayer.css');
$objCombiner->add('files/cto_layout/scripts/isotope/isotope_styles.css');
// for better page speed uncomment this lines (start)
//$objCombiner->add('files/cto_layout/css/framework.css');
//$objCombiner->add('files/cto_layout/css/customelements.css');
//$objCombiner->add('files/cto_layout/css/customcatalog.css');
//$objCombiner->add('files/cto_layout/css/styles.css');
// for better page speed uncomment this lines (end)
echo $objCombiner->getCombinedFile();
?>">
<!-- for better page speed remove this lines (start)-->
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/framework.css">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customelements.css">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customcatalog.css">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/styles.css">
<!-- for better page speed remove this lines (end)-->
<!-- pct_themer module (start)-->
<link id="layout_css" rel="stylesheet" title="theme_css_session" type="text/css" href="<?php echo $this->pct_layout_css; ?>">
<!-- pct_themer module (end)-->
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customize-hampel.css" media="screen">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customize-hampel2.css" media="screen">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/print.css" media="print">
<!-- custom scripts -->
<?php echo $this->head; ?>
<?php $this->endblock(); ?>
</head>
<body class="{{ua::class}}<?php if ($this->class) echo ' ' . trim(preg_replace('/fa(?:-[-\w]+|\b)/','', $this->class)); ?>"<?php if ($this->onload): ?> onload="<?php echo $this->onload; ?>"<?php endif; ?> itemscope itemtype="http://schema.org/WebPage">
<?php if (!empty($this->sections['body_top'])): ?><div class="body_top"><?php echo $this->sections['body_top']; ?></div><?php endif; ?>
<!--[if lt IE 9]><p id="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better experience this site.</p><![endif]-->
<div>
<?php $this->block('body'); ?>
<div id="contentwrapper">
<div id="fix-wrapper">
<div id="top-wrapper">
<?php if (!empty($this->sections['top_section'])): ?>
<?php $this->block('top_section'); ?>
<div id="top">
<div class="inside">
<?php echo $this->sections['top_section']; ?>
<hr class="clear">
</div>
<div class="offcanvas-trigger"><span class="line1"></span><span class="line2"></span></div>
</div>
<?php $this->endblock(); ?>
<?php endif; ?>
<?php $this->block('header'); ?>
<?php if ($this->header): ?>
<header id="header" class="header original" itemscope itemtype="http://schema.org/WPHeader">
<div class="inside">
<?php echo $this->header; ?>
<div class="clear"></div>
</div>
</header>
<div class="clear"></div>
<?php endif; ?>
<?php $this->endblock(); ?>
</div>
</div>
<?php $this->block('slider'); ?>
<div id="slider">
<div class="inside">
<?php echo $this->sections['slider']; ?>
</div>
</div>
<?php $this->endblock(); ?>
<?php if (!empty($this->sections['breadcrumb'])): ?>
<?php $this->block('breadcrumb'); ?>
<?php echo $this->sections['breadcrumb']; ?>
<?php $this->endblock(); ?>
<?php endif; ?>
<?php $this->block('container'); ?>
<div id="wrapper">
<div id="container">
<?php $this->block('main'); ?>
<section id="main" itemscope itemtype="http://schema.org/WebPageElement" itemprop="mainContentOfPage">
<div class="inside">
<?php echo $this->main; ?>
</div>
</section>
<?php $this->endblock(); ?>
<?php $this->block('left'); ?>
<?php if ($this->left): ?>
<aside id="left">
<div class="inside">
<?php echo $this->left; ?>
</div>
</aside>
<?php endif; ?>
<?php $this->endblock(); ?>
<?php $this->block('right'); ?>
<?php if ($this->right): ?>
<aside id="right">
<div class="inside">
<?php echo $this->right; ?>
</div>
</aside>
<?php endif; ?>
<?php $this->endblock(); ?>
</div>
</div>
<?php $this->endblock(); ?>
<?php $this->block('footer'); ?>
<?php if ($this->footer): ?>
<footer id="footer" itemscope itemtype="http://schema.org/WPFooter">
<div class="inside">
<?php echo $this->footer; ?>
<a href="{{env::request}}#contentwrapper" class="totop"></a>
</div>
</footer>
<?php endif; ?>
<?php $this->endblock(); ?>
<?php if (!empty($this->sections['bottom'])): ?>
<?php $this->block('bottom'); ?>
<div id="bottom">
<div class="inside">
<?php echo $this->sections['bottom']; ?>
</div>
</div>
<?php $this->endblock(); ?>
<?php endif; ?>
</div>
</div>
<div class="body_bottom"><?php echo $this->sections['body_bottom']; ?></div>
<?php if (!empty($this->sections['body'])): ?><?php echo $this->sections['body']; ?><?php endif; ?>
<?php if (!empty($this->sections['mmenu_top'])): ?><div id="mmenu_top"><?php echo $this->sections['mmenu_top']; ?></div><?php endif; ?>
<?php if (!empty($this->sections['mmenu_bottom'])): ?><div id="mmenu_bottom"><?php echo $this->sections['mmenu_bottom']; ?></div><?php endif; ?>
<script>jQuery.noConflict();</script>
<?php echo $this->mootools; ?>
<script src="<?php
$objCombiner = new Combiner();
$objCombiner->add('files/cto_layout/scripts/mmenu/jquery.mmenu.min.all.js');
$objCombiner->add('files/cto_layout/scripts/waypoints/waypoints.min.js');
$objCombiner->add('files/cto_layout/scripts/jquery.mb.YTPlayer/inc/jquery.mb.YTPlayer.js');
$objCombiner->add('files/cto_layout/scripts/typed/js/typed.js');
$objCombiner->add('files/cto_layout/scripts/countup/countUp.min.js');
$objCombiner->add('files/cto_layout/scripts/parallax/jquery.stellar.min.js');
$objCombiner->add('files/cto_layout/scripts/doubletaptogo/doubletaptogo.js');
$objCombiner->add('files/cto_layout/scripts/easypiecharts/easypiechart.min.js');
$objCombiner->add('files/cto_layout/scripts/cookie/jquery.cookie.js');
echo $objCombiner->getCombinedFile();
?>"></script>
<script src="files/cto_layout/scripts/swiper/swiper.jquery.min.js"></script>
<script src="files/cto_layout/scripts/scripts.js"></script>
<?php $this->endblock(); ?>
</body>
</html>
Dennoch wird, obwohl ich die beiden css-Dateien im Template eingebunden habe, meine Formatierung nicht geladen.
https://www.hampel-gmbh.com/innenputz.html vergleich zu http://web268.s153.goserver.host/innenputz.htmlPHP-Code:
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customize-hampel.css" media="screen">
<link rel="stylesheet" type="text/css" href="files/cto_layout/css/customize-hampel2.css" media="screen">
Kann mir jemand einen Tipp geben, wo der Fehler liegt? Die Schriftart wird nicht geladen, wenn ich dies im Firefox per Inspector anschaue.
Geändert von monaco (18.08.2019 um 12:36 Uhr)
Seien wir realistisch, versuchen wir das Unmögliche
Hast Du mal die Dateiverwaltung synchronisiert, die Systemwartung ausgeführt und var/cache/prod gelöscht?
Ich würde die beiden Dateien nicht über fe_page einbinden sondern immer im Seitenlayout.
Gruß
tschero
Also die zweite Version bringt beim Validieren des HTML einen Error bei einem Linkelement, weshalb layout.css schon mal nicht eingebunden wird. Ob das alles ist weiss ich aber auch nicht.
Ok. Bei mir gibt die Validation folgendes aus:
https://validator.w3.org/nu/?doc=htt...innenputz.html
Also nur die 2 warnings
Seien wir realistisch, versuchen wir das Unmögliche
Hmm, das war gestern abend definitiv noch anders.
Sorry. Habe nichts daran geändert.
Was kann ich denn noch tun? . Mehr als die CSS-Dateien im Seitenlayout einzubinden kann ich nicht machen .
Ich habe alles so befolgt und bin Schritt für Schritt anhand des Howto (PCT) vorgegangen wie man das Update von 3.5 auf 4.4 durchführt
Seien wir realistisch, versuchen wir das Unmögliche
Dass es gestern noch anders war (so wie von @tab beschrieben), kann ich ebenfalls bestätigen.
Heute schaut das <link>-Element folgendermaßen aus:
wobei http://web268.s153.goserver.host/sys...css/layout.css derzeit nicht gefunden wird. Hier müsstest Du also schauen, was der Grund dafür ist.HTML-Code:<link rel="stylesheet" title="theme_css_session" type="text/css" href="system/modules/pct_themer/assets/eclipse_constructor/css/layout.css ">
Hast du mal einen Screenshot vom Seitenlayout? Dort wo du die CSS Datei einbindest?
Und ist dieses Layout auch der entsprechenden Seite zugewiesen?
Eine hampel-customize.css gibt es nicht. Du meinst aber bestimmt das Stylesheet customize-hampel.css oder? Das wird ganz normal geladen.
Das liegt daran, dass das Style durch das Inline-CSS des PCT-Themedesigner wieder überschrieben wird. Deshalb wird hier auch Lato geladen und nicht etwa Muli.
Seien wir realistisch, versuchen wir das Unmögliche
An den PCT Modulen solltest du nichts selbst ändern.
Frage am besten im PCT-Forum nach, wie Du das (mit oder ohne Theme-Designer) umsetzen kannst.
Geändert von xchs (20.08.2019 um 09:46 Uhr)
ok. Danke euch. Woran es noch scheitert ist folgende Formatierung:
Diese wird unter Contao 3.5 geladen. Unter 4.4 leider nichtPHP-Code:
.mod_portfoliolist.portfolio-col1 .content {
width: 40%;
display: table-cell;
vertical-align: middle;
padding: 30px;
background: rgb(255,255,255);
Seien wir realistisch, versuchen wir das Unmögliche
Was meinst du mit "geladen"?
Wird das CSS ausgegeben?
Normalerweise legst du CSS Klassen in den Moduleinstellungen fest
Welche ID hat dieses Frontend-Modul? 96?
Schaut das bei Dir im Template mod_newslist_portfolio.html5 auch so aus:
?PHP-Code:
<div id="portfolio_<?php echo $this->id; ?>" class="mod_portfoliolist isotope <?php if(version_compare(VERSION,"4",">=")): ?><?php echo $this->class; ?><?php else:?><?php echo $this->origCssID['1']; ?><?php endif;?>">
Und in welcher CSS Datei soll der Style sein? Oder ist das eine von Dir definierte, eigene Klasse.
PCT schreibt nichts über eine Klasse "portfolio-col1":
https://help.premium-contao-themes.c...s-klassen.html
Geändert von tschero (20.08.2019 um 13:59 Uhr)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen