Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Wie kann ich mein Header in TYPO3 ändern?
#1
Hallo zusammen,

und vielen Dank für`s reinschauen Smile

Mein Header ist leider noch gar nicht richtig konfiguriert so wie es sich gehört.

Wenn man sich den von Wolfgang anschaut:

Code:
<title>Webdesigner Friedrichshafen am Bodensee - TYPO3,WordPress - Wolfgang Wagner</title>
<meta name="description" content="Wolfgang Wagner, Webdesigner aus Friedrichshafen am Bodensee. Spezialisiert auf TYPO3 und WordPress." />
<meta name="keywords" content="webdesign,webdesigner,friedrichshafen,typo3,wordpress" />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="http://wowa-webdesign.de/" />

Sieht man, dass "description" drin ist oder "keywords"

Mein Header hingegen:

"
Code:
<html xml:lang="de" lang="de" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!--
    This website is powered by TYPO3 - inspiring people to share!
    TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.
    TYPO3 is copyright 1998-2011 of Kasper Skaarhoj. Extensions are copyright of their respective owners.
    Information and contribution at http://typo3.com/ and http://typo3.org/
    -->
    <base href="http://www.xxxxx.de/" />
    <link rel="shortcut icon" href="http://www.xxxxx.de/" type="directory" />
    <link rel="icon" href="http://www.xxxxx.de/" type="directory" />
    <title>Home</title>
    <meta name="generator" content="TYPO3 4.6 CMS" />
"

Hat nichts dergleichen...

Wo und Wie kann ich das ändern?

Und wenn ich es änder kann es dann passieren, dass es mir meine Seite zerschießt oder Page Not Found kommt?

Danke für eure Hilfe Smile
Zitieren
#2
Hallo,

natürlich kannst du das ändern.
Ich verwende z.B. folgendes TypoScript:

Code:
page {
  meta {
    viewport = width=device-width
    apple-mobile-web-app-capable = no
    apple-mobile-web-app-status-bar-style = black

    keywords.field = keywords
    keywords.ifEmpty (
      {$meta.keywords}
    )
    description.field = description
    description.ifEmpty (
      {$meta.description}
    )
    author.field = author
    author.ifEmpty (
      {$meta.author}
    )
    copyright.field = copyright
    copyright.ifEmpty (
      {$meta.copyright}
    )
    robots = index,follow
        
    google-site-verification = {$verify.google.webmastertools}
    y_key = {$verify.yahoo.validation}
  }
}

Zur Erklärung:
Die ersten drei Angaben innerhalb von meta sind nur für mobile Endgeräte oder iOS wichtig. Danach folgen die eigentlich wichtigen Meta-Tags.
Die Keywords und Description wird nach meiner Konfiguration immer mit den entsprechenden Inhalten der jeweiligen Detailseite gefüllt. Im besten Fall definierst du für jede Seite eine eigene Description, da dieser Text von Google in den Suchergebnissen angezeigt wird:
[Bild: wolfgang%20wagner%20webdesign%20-%20Google-Suche.png]

Sollte die Description und/ober Keywords dann doch einmal leer sein, so fülle ich sie mit einem Standrad-Text, den ich in TypoScript-Konstanten angelegt habe (z.B. meta.description).

Verwendest du dann noch die Extension tt_news, dann kann man das ganze um folgenden TypoScript-Code erweitern:

Code:
[globalVar = GP:tx_ttnews|tt_news > 0]
page.meta.description >
page.meta.description = TEXT
page.meta.description.data = register:newsSubheader

page.meta.keywords >
page.meta.keywords = TEXT
page.meta.keywords.data = register:newsKeywords
[global]

Bei TYPO3-Versionen, welche älter als 4.6.0 sind, muss in der ersten Zeile statt GP: auf GPvar: umgestellt werden.

Ich hoffe, dass ich dir damit weiterhelfen konnte.

Viele Grüße
Michael Schulze
Webentwickler & Designer

http://michsch.de
http://michs.ch/twitter
Zitieren
#3
Hallo Michsch,

erstmal vielen Dank für deine großartige Hilfe! Smile
Find ich super, dass du dir so eine Mühe gegeben hast.
Hat mir prima weitergeholfen.

Habe es gleich mal in mein TS eingebunden.

PHP-Code:
#################################
    # Indexed Search aktivieren
    #################################
    
config.index_enable 1
     
     
    
# RealURL
    #config.simulateStaticDocuments = 0
    
config.baseURL http://xxxxx.de/
    #config.tx_realurl_enable = 1
    #config.uniqueLinkVars = 1
    #config.linkVars = L

   
page {
   
meta {
    
viewport width=device-width
    apple
-mobile-web-app-capable no
    apple
-mobile-web-app-status-bar-style black

    keywords
.field keywords
    keywords
.ifEmpty (
      {
$meta.keywords}
    )
    
description.field description
    description
.ifEmpty (
      {
$meta.description}
    )
    
author.field author
    author
.ifEmpty (
      {
$meta.author}
    )
    
copyright.field copyright
    copyright
.ifEmpty (
      {
$meta.copyright}
    )
    
robots index,follow
        
    google
-site-verification = {$verify.google.webmastertools}
    
y_key = {$verify.yahoo.validation}
     }
    }

     
    
#E-Mail Antispam
    
config.spamProtectEmailAddresses 1
    config
.spamProtectEmailAddresses_atSubst = (at)

    
config {
    
#Kommentare ausblenden
    
disablePrefixComment 1
    xhtml_cleaning 
all
    index_enable 
1
    linkVars 
L
    sys_language_uid 
0
    language 
de
    locale_all 
de_DE.utf8
    htmlTag_langKey 
de
    metaCharset 
utf-8
    
#renderCharset = utf-8
    
additionalHeaders Content-Type:text/html;charset=utf-8
    extTarget
=_blank
    doctype 
xhtml_trans
    
}

// CoolURI aktivieren
    
config.tx_cooluri_enable 1
    config
.redirectOldLinksToNew 1

    plugin
.tt_news {
    
_LOCAL_LANG.de.more mehr...
    
_LOCAL_LANG.de.backToList « Zurück zu: %s
    displayList
.age_stdWrap.age MinutenStundenTageJahr(e)
    
displaySingle.age_stdWrap.age MinutenStundenTageJahr(e)
    }
     
    
plugin.tt_news.excludeAlreadyDisplayedNews 0
    plugin
.tt_news._LOCAL_LANG.de.pi_list_browseresults_displays Treffer ###FROM### bis ###TO### von ###OUT_OF###  
    
plugin.tt_news.displaySingle.content_stdWrap.wrap >
    
plugin.tt_news.displaySingle.subheader_stdWrap.wrap = |
    
plugin.tt_news.general_stdWrap >
    
plugin.tt_news.displaySingle.content_stdWrap.parseFunc lib.parseFunc_RTE
    
#csc-header entfernen
    
lib.stdheader.stdWrap.dataWrap >
     
    
#Überschriften ohne Zusätze
    
lib.stdheader.2.headerStyle >
    
lib.stdheader.3.headerClass >
     
    
# class="bodytext" bei RTE abstellen
    
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class >
     
    
# Ummantelung mit <p> bei folgenden Tags verhindern
    
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.encapsTagList citedivpprehrh1h2h3h4h5h6,table,tr,td
     
    
#p bei Tabellenzellen entfernen
    #lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.removeTags = p
     
    #Klassen in Tabellen zulassen
    
lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.c​lass.list >

     
    
page PAGE
    page 
{
      
    
config.disablePrefixComment 1
    shortcutIcon 
fileadmin/template/images/favicon.ico
    typeNum 
0
    bodyTag 
=
     
    
includeCSS {
    
file1 fileadmin/template/style.css
    file2 
fileadmin/css/style.css
    file1
.media screen
    
}
    
includeJS.file10 fileadmin/template/js/jquery.min.js
     
    includeJSFooter
{
    
file11 fileadmin/template/js/animated-menu.js
    file12 
fileadmin/template/js/general.js
    file13 
fileadmin/template/js/jquery.easing.1.3.js
    
}
     
     
    
bodyTagCObject TEXT
    bodyTagCObject
.field uid
    bodyTagCObject
.wrap = <body id="page|">
     
     
    
10 TEMPLATE
    10.template 
FILE
    10.template
.file fileadmin/template/template.html
    10.workOnSubpart 
DOKUMENT
    10.marks 
{
     
    
LOGO TEXT
    LOGO
.value = <a href="/" title="Home"><img src="fileadmin/template/img/logo.png"></a>
      
     
    
NAVI HMENU
    NAVI 
{
    
special directory
    special
.value 1
    1 
TMENU
    1 
{
    
wrap = <ul class="sf-menu">|</ul>
    
noBlur 1
    expAll 
1
    NO 
1
    NO
.before.dataWrap = <li id="pageUid_{field:uid}"> |
    
NO.wrapItemAndSub = |</li>
    
NO.ATagTitle.field title // nav_title
    
ACT < .NO
    ACT 
1
    ACT
.ATagParams = class="active"
    
}
    
.1
    2 
{
    
noBlur 0
    
}
    
.2
    
}
     
    
CONTENT CONTENT
    CONTENT 
{
    
table tt_content
    select
.orderBy sorting
    select
.languageField sys_language_uid
    select
.where colPos 0
    renderObj 
tt_content
    renderObj
.stdWrap.wrap = <div id="con-mitte-left"><!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end--></div>
    }
     
    
RIGHT CONTENT
    RIGHT 
{
    
table tt_content
    slide 
= -1
    select
.orderBy sorting
    select
.languageField sys_language_uid
    select
.where colPos 2
    renderObj 
tt_content
    renderObj
.stdWrap.wrap = <div id="con-mitte-right"> | </div>
    }
     
    
HEADERBILD CONTENT
    HEADERBILD 
{
    
table tt_content
    slide 
= -1
    select
.orderBy sorting
    select
.languageField sys_language_uid
    select
.where colPos 1
    renderObj 
tt_content
    renderObj
.stdWrap.wrap = <div id="con-headerbild"> | </div>
    }
      

     
FOOTER CONTENT
FOOTER 
{
  
table pages
  select 
{
    
pidInList 146
  
}
  
renderObj = CASE
  
renderObj {
    
key.field doktype
 
    4 
TEXT
    4 
{
      
field title
      typolink
.parameter.field shortcut
      typolink
.title.field title
      wrap 
= <div class="partner">|</div>
    }
 
    
COA
    3 
{
 
      
10 IMAGE
      10 
{
        
file {
          
maxW 150
          maxH 
150
 
          import 
uploads/media/
          
import {
            
field media
            listNum 
0
          
}
        }
        
altText.field title
        params 
= class="normal"
      
}
 
      
20 .10
      20.file
.import.listNum 0
      20.params 
= class="hover"
 
      
stdWrap {
        
wrap = <div class="partner">|</div>
        
ifEmpty.cObject TEXT
        ifEmpty
.cObject {
          
field title
        
}
        
typolink.parameter.field url
        typolink
.title.field title
      
}
 
    }
  }
}

     
    
HEADERNAVI HMENU
    HEADERNAVI 
{
    
special = list
    
special.value 104,280,7,11,282
    1 
GMENU
    1.noBlur 
1
    1.wrap 
= |
    
1.NO 1
    1.NO
.ATagTitle.field title
    1.NO 
{
    
altImgResource.import uploads/media/
    
altImgResource.import.field media
    altImgResource
.import.listNum 0
    
}
    
1.RO .1.NO
    1.RO 
1
    1.RO
.altImgResource.import.listNum 1
    
}
     
    
LOGTEXT COA_INT
    LOGOUT 
COA_INT
    LOGIN 
COA_INT
    
}
    }
     
    
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang 0
    config
.index_externals (z.Bfür PDF Files)
    
config.sys_language_uid 0
    config
.language de
    config
.index_externals 1
     
    
# Anzahl der anzuzeigenden Resultate pro Seite
    
plugin.tx_indexedsearch._DEFAULT_PI_VARS.results 10
    plugin
.tx_indexedsearch {
    
# ID der obersten Seite
    
search.rootPidList 1
    show
.rules 0
    show
.advancedSearchLink 1
    show
.L1sections 0
    templateFile 
fileadmin/template/indexed_search.tmpl
    _DEFAULT_PI_VARS
.lang 0
    browseBoxWrap 
= <div class="browsebox">|</div>
    
pageWrap = <span>|</span>
    }
     
     
     
    [
loginUser = *]
    
page.10.marks.LOGOUT {
    
20 TEXT
    20.value 
Kunden-Logout
    20.typolink
.parameter.data TSFE:id
    20.typolink
.additionalParams = &logintype=logout
    20.typolink
.title Abmelden
    
}
    [global]
     
     
    [
loginUser = *]
    
page.10.marks.LOGTEXT {
    
10 TEXT
    10.data 
TSFE:fe_user|user|username
    10.required 
1
    10.wrap 
Sie sind eingeloggt als:&nbsp;  |
    }
    [global]
     
     
    
page.10.marks.LOGIN {
    
30 COA
    30 
{
    
10 TEXT
    10.wrap 
= <a href="#" id="loginButton" title="Anmelden" ><span>|</span></a>
    
10.value Kunden-Login
    20 
COA
    20 
{
    
wrap = <div id="loginBox"> | </div>
    
10 plugin.tx_felogin_pi1
    10 
{
    
feloginBaseURL xxx
    storagePid 
132
    templateFile 
fileadmin/template/felogin/felogin_standard.html
    showForgotPasswordLink 
0
    noSuccessMessageAfterLogin 
0
    dateFormat 
d.m.Y
     
    redirectMode 
login
    
#_CSS_DEFAULT_STYLE >
    
}
    }
    }
    }
     
    [
loginUser = *]
    
page.10.marks.LOGIN.30 >
    [global]
     
     
    [
globalVar TSFE:id 1]
    
page.includeJS.file81 fileadmin/template/js/general-start.js
    
[global]
     
    [
globalVar GP:tx_ttnews|tt_news 0]
    
page.meta.description >
    
page.meta.description TEXT
    page
.meta.description.data register:newsSubheader

    page
.meta.keywords >
    
page.meta.keywords TEXT
    page
.meta.keywords.data register:newsKeywords
    
[global]

    
####
    # Condition for layout
    #####
     
    
[globalVar TSFE:page|layout 1]
    
page.10.template.file fileadmin/template/template2.html
    
[global]
     
     
    [
globalVar=TSFE:page|layout=2]
    
page.10.template.file fileadmin/template/temp-start.html
     
    
[global]
     
     
    [
browser msie]
    
page.includeCSS.file90 fileadmin/template/ie.css
    
[GLOBAL] 

Auch das Script für die tt_news konnte ich gut gebrauchen, weil ich diese Extension nutze. Smile

Ich hoffe ich habe alles richtig eingebunden?

Auf: http://www. managing care .de/
*Ohne Leerzeichen
Kann man es sich mal anschauen.


Ein paar Fragen hätte ich noch an dich Smile
und zwar, wie setzt sich der "Title" zusammen?
Aus dem Seitenbaum-Name?

Ich bin vorhin in meinem Seitenbaum auf die Seite "Home" und habe diese unbenannt, in den Firmennamen. Jetzt steht das auch im HTML als "Title" drin. Und im Menü steht noch "Home"
Jetzt muss ich mich schon wundern, wie kann das sein? Habe doch die Seite unbenannt. Eigentlich müsste der Menüpunkt doch jetzt auch wie der Firmennamen heissen. Nicht das ich das will, ist schon richtig anscheinend. Aber es wundert mich nur.
Vor allem Frag ich mich einfach aus welcher Zeile im Backend sich dieser Title zusammensetzt.

Und was hat es damit auf sich?

PHP-Code:
$verify.google.webmastertools 

Ich bin selber bei Webmaster Google Tools.
Kann ich damit noch was einstellen?

Entschuldigung, für die vielen Fragen bin noch ein "Neuling" und wissen macht schlau Big Grin

Danke an dich. Smile
Zitieren
#4
Das mit der Navigation liegt wahrscheinlich daran, dass TYPO3 intern zuerst den Navtitle für die Navigation verwendet. Der Seitentitel wird nur dann verwendet, wenn der Navtitle einer Seite leer ist.

Die letzten zwei Werte der Meta-Tags kannst du gerne ignorieren. Da gebe ich immer die entsprechenden Keys der jeweiligen Webmaster Tools (von Google und Yahoo) an. Damit kann man die Webseite verifizieren und z.B. weitere Statistiken über den Besuch von Robots abfragen oder XML-Sitemaps registrieren.
Das ist aber nicht unbedingt nötig.

Viele Grüße
Michael Schulze
Webentwickler & Designer

http://michsch.de
http://michs.ch/twitter
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste