Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #11  
Alt 11.12.07, 12:16
Forum Newbie
 
Registriert seit: 27.04.06
Alter: 26
Beiträge: 22

kannst du mir das anhand eines beispiels zeigen?!

ich habe ne windows-wamp-installation
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #12  
Alt 11.12.07, 12:51
Forum Crack
 
Registriert seit: 28.06.05
Ort: Großenseebach nähe Erlangen
Beiträge: 1.016

Zitat:
Zitat von Vesiga Beitrag anzeigen
du meinst das typoscript im backend?!
Richtig ;)
__________________
Grüße Basti

TYPO3 Handbuch für Redakteure | sb_* Extensions
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #13  
Alt 11.12.07, 14:28
Forum Newbie
 
Registriert seit: 27.04.06
Alter: 26
Beiträge: 22

wenn also das mein code ist, füge ich das so ein. irgendwas mach ich aber falsch. wenn ich mit dem editor nicht per ftp zugreifen will, sondern lokal, welches file muss ich dann öffnen?!

page = PAGE
page {
typeNum = 0

config.no_cache = 1
<INCLUDE_TYPOSCRIPT: source="c:\test.ts">


# Allgemeine Seiteneigenschaften setzen
bodyTag = <body bgcolor="#FFFFFF" topmargin="0" leftmargin="0">
meta.AUTHOR = Robert Meyer
meta.DESCRIPTION = Hier steht eine Beschreibung
stylesheet = fileadmin/style.css

# Die Designvorlage integrieren
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/vorlage.html
10.workOnSubpart = DOKUMENT
10.marks {

# Den Platzhalter DATUM ansprechen
DATUM = TEXT
DATUM.data = date : d.m.Y

# Das Logo einlesen
LOGO = IMAGE
LOGO.file = fileadmin/images/logo.jpg
LOGO.file.width = 178

# Das Logo auf Ebene 10 einbinden
10 = IMAGE
10.file = fileadmin/images/logo.jpg
10.file.width = 100
10.offset = 659, 0

# Grafischen Text auf Ebene 20 rendern
20 = TEXT
20.text.field = title
20.fontFile = fileadmin/fonts/verdana.ttf
20.fontSize = 20
20.fontColor = white
20.niceText = 1
20.offset = 10, 30

# Einen Schatten als Kopie der Ebene 20 realisieren
15 < .20
15.offset = 12, 32
15.fontColor = #000000

# Den Platzhalter KLICKPFAD ansprechen
# Objekt COA wird zwischengeschaltet, um einen zusätzlichen
# Text angeben zu können.
KLICKPFAD = COA
KLICKPFAD {

# Der vorgeschaltete Text
10 = TEXT
10.value = Sie befinden sich hier:&nbsp;

# Den Klickpfad an Position 20 darstellen
20 = HMENU
20 {
special = rootline
special.range = 2|-1
1 = TMENU
1.NO = 1
1.NO.linkWrap = |&nbsp;/&nbsp;
}
}

# Den Trailer dynamisch ansprechen
TRAILER = IMAGE
TRAILER.file = GIFBUILDER
TRAILER.file {
XY = 759, 99
backColor = #697DEE

# Das Hintergrundbild einlesen
10 = IMAGE
10.file.import = uploads/media/
10.file.import.data = levelmedia:-1, slide
10.file.import.listNum = 0
10.file.width = 759
10.offset = 0, -150

# Den Verlauf einarbeiten
20 = IMAGE
20.file = GIFBUILDER
20.file.backColor = #FFFFFF
20.file.XY = 759,99
20.mask = fileadmin/images/mask.jpg

# Text auf den Trailer rendern
30 = TEXT
30.text.field = subtitle // title
30.fontFile = fileadmin/fonts/verdana.ttf
30.fontSize = 24
30.fontColor = #364497
30.niceText = 1
30.offset = 10, 85
}

# Das Textmenü oben erstellen
MENU_OBEN = HMENU
MENU_OBEN {
special = directory
special.value = 4
1 = TMENU
1.NO = 1
1.NO.linkWrap = &nbsp;|&nbsp;| |*| &nbsp;|&nbsp;| |*| &nbsp;|
}

# Inhalt ausgeben
INHALT = CONTENT
INHALT {
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
}

# Inhalte in der rechten Spalte ausgeben
RECHTS = COA
RECHTS.10 = CONTENT
RECHTS.10 {
table = tt_content
select.where = colPos = 2
select.orderBy = sorting
}
RECHTS.20 = CONTENT
RECHTS.20 {
table = tt_content
select.orderBy = sorting

# Inhalte werden von der Seite mit der ID 24 genommen.
select.pidInList = 24
}

# Suchformular im Platzhalter anzeigen
SUCHE < tt_content.search.30
SUCHE {
target = _self
redirect = 9
badMess = Bitte geben Sie ein Suchwort an!
layout = ###FIELD###<br>
stdWrap.wrap >
dataArray.10 {
label =
type = *sword = input, 5, 30
}
dataArray.20 {
valueArray >
type = scols = hidden
value = pages.title-subtitle-keywords-description:tt_content.header-bodytext-imagecaption
}
image = IMAGE
image.file = GIFBUILDER
image.file {
XY = 20,15
backColor = silver
10 = TEXT
10.text = GO
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontColor = black
10.fontSite = 11
10.niceText = 1
10.offset = 2, 13
}
}

# Das grafische Menü erstellen
MENU_LINKS = HMENU
MENU_LINKS {
wrap = <img src="fileadmin/images/linie_weiss.gif" width="178" height="1"><br>|
special = directory
special.value = 12
entryLevel = 1
1 = GMENU
1.NO = 1
1.NO {
warp = | <br>
XY = 178, 24+[16.h]
backColor = #364497

# Text auf den Menüpunkt rendern
10 = TEXT
10.text.field = title
10.text.listNum = 0
10.text.listNum.splitChar = |
10.fontColor = #FFFFFF
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontSize = 12
10.niceText = 1
10.offset = 14, 16

# Eine ggf. vorhandene zweite Textzeile
15 < .10
15.text.listNum = 1
15.offset = 14, 32

# Hilfsebene zur Berechnung der Höhe von Menüpunkten
16 < .10
16.text.case = upper
16.text.listNum = 1
16.fontSize = 22
16.offset = 1000,1000

# Eine weisse Linie erzeugen
20 = IMAGE
20.file = GIFBUILDER
20.file {
XY = 178,1
backColor = #FFFFFF
}
20.offset = 0, 23+[16.h]
}

# Einen RollOver-Zustand beschreiben
1.RO < .1.NO
1.RO.backColor = #061467

# Die zweite Ebene als Kopie der ersten Ebene beschreiben
2 < .1
2.NO {
backColor = #D3E2F9
10.fontColor = #061467
10.fontSize = 11
}
2.RO < .2.NO
2.RO.backColor = #C1D5F4
}
}
}

# Die Überschrift neu formatieren
lib.stdheader >
lib.stdheader = CASE
lib.stdheader {
key.field = header_layout
default = TEXT
default.field = header
default.wrap = <h1>|</h1>

2 = IMAGE
2.file = GIFBUILDER
2.file {
XY = [10.w]+10, 20
backColor = #FFFFFF
10 = TEXT
10.text.field = header
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontColor = #061467
10.fontSize = 15
10.niceText = 1
10.offset = 2, 18
}
wrap = |<br>
}

# Inhaltstyp "Normaler Text" anpassen
tt_content.text.20 {
textStyle >
wrap = <p>|</p>
}

# Die Sitemap von einem Ausgangspunkt erstellen lassen
tt_content.menu.20.2 {
special = directory
special.value.field = pages
}

# Das Suchformular anpassen
tt_content.search.30 {
target = _self
badMess = Bitte füllen Sie alle erforderlichen Felder aus:
dataArray.10 {
label = Ihre Suche:
type = *sword = input, 15, 30
}
dataArray.20 {
valueArray >
type = scols = hidden
value = pages.title-subtitle-keywords-description:tt_content.header-bodytext-imagecaption
}
image = IMAGE
image.file = GIFBUILDER
image.file {
XY = 50,20
backColor = silver
10 = TEXT
10.text = SUCHE
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontColor = black
10.fontSite = 11
10.niceText = 1
10.offset = 2, 15
}
}

# Das Suchergebnis anpassen
tt_content.search.20 {
layout.10 {
value = Ergebnisse auf dieser Seite: ###RANGELOW### bis ###RANGEHIGH### von ###TOTAL###
fontTag >
wrap = <td width=95% bgColor="silver"><font face="verdana" size=”2”><b>|</b></font></td>
}
layout.20 {
value = ###PREV###&nbsp;&nbsp;&nbsp;###NEXT###
fontTag >
wrap = <td bgColor="silver"><font face="verdana" size=2><B>|</B></font></td>
}
renderObj.10 {
textStyle >
fontTag >
wrap = <font face=”verdana” size=”2”><b>|</b></font>
typolink.target = _self
}
renderObj.20 {
stdWrap.textStyle >
stdWrap.wrap = <tr><td><font face="Verdana" size="1" color="navy"> |</font></td></tr>
stdWrap.crop = 200 | [...]
}
noResultObj >
noResultObj = TEXT
noResultObj {
value = Kein Ergebniss gefunden!
wrap = <font face="Verdana" size="2"><b>|</b></font>
}
next.value = Weiter
prev.value = Zurück
target = _self
range = 10
}
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #14  
Alt 11.12.07, 14:45
Benutzerbild von just2b  
Registriert seit: 03.11.04
Alter: 25
Beiträge: 2.515

LOL wie willst du am server ein file per c:\ öffnen...

musst schon per ftp hin
__________________
TYPO3 3.7./3.8.X/4.0.X/4.1.1
just2b.com | Google Maps | SmoothGallery | Das grösste werbefreie TYPO3 Forum typo3.net | Content-Management-Systeme mit TYPO3 & RedDot
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #15  
Alt 11.12.07, 15:25
Forum Newbie
 
Registriert seit: 27.04.06
Alter: 26
Beiträge: 22

@just2b, versucht du eigentlich den leten zu helfen oder sie zu nerfen?! ich versuche hier was zu lernen und komme nicht weiter.

nur bringen mich deine komentare und "hilfen" keinen schritt weiter.

kannst dir das lol und deine beiträge spaaren, es sein denn, du bist bereit mir zu helfen.

du bist der beste.



cucu
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #16  
Alt 11.12.07, 15:38
Benutzerbild von just2b  
Registriert seit: 03.11.04
Alter: 25
Beiträge: 2.515

es geht nicht lokal
__________________
TYPO3 3.7./3.8.X/4.0.X/4.1.1
just2b.com | Google Maps | SmoothGallery | Das grösste werbefreie TYPO3 Forum typo3.net | Content-Management-Systeme mit TYPO3 & RedDot
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #17  
Alt 11.12.07, 15:46
Forum Crack
 
Registriert seit: 28.06.05
Ort: Großenseebach nähe Erlangen
Beiträge: 1.016

Hi,

wenn dann musst du das so schreiben:
Typoscript-Code:
1:
<INCLUDE_TYPOSCRIPT:source="FILE:fileadmin/meinedatei.ts">

Sprich die Datei muss im fileadmin Ordner liegen. Genaus das ist was Dir Georg (just2b) sagen wollte ;)
__________________
Grüße Basti

TYPO3 Handbuch für Redakteure | sb_* Extensions
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #18  
Alt 11.12.07, 15:46
Forum Newbie
 
Registriert seit: 27.04.06
Alter: 26
Beiträge: 22

anke danke!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #19  
Alt 11.12.07, 16:16
Forum Newbie
 
Registriert seit: 27.04.06
Alter: 26
Beiträge: 22

mir ist jetzt klaar wo das file ligen sollte oder ligen muss.

wenn ich die fette codezeile so einfüge wie unten wird mir aber kein file zum editieren erstellt und wenn ich dieses manuel erstelle bleibt es leer.

wiso kann ich das nicht lokal editieren?!

ich steh immer noch auf dem schlauch...



page = PAGE
page {
typeNum = 0

config.no_cache = 1
<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/MeineDatei.ts">


# Allgemeine Seiteneigenschaften setzen
bodyTag = <body bgcolor="#FFFFFF" topmargin="0" leftmargin="0">
meta.AUTHOR = Robert Meyer
meta.DESCRIPTION = Hier steht eine Beschreibung
stylesheet = fileadmin/style.css

# Die Designvorlage integrieren
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/vorlage.html
10.workOnSubpart = DOKUMENT
10.marks {

# Den Platzhalter DATUM ansprechen
DATUM = TEXT
DATUM.data = date : d.m.Y

# Das Logo einlesen
LOGO = IMAGE
LOGO.file = fileadmin/images/logo.jpg
LOGO.file.width = 178

# Das Logo auf Ebene 10 einbinden
10 = IMAGE
10.file = fileadmin/images/logo.jpg
10.file.width = 100
10.offset = 659, 0

# Grafischen Text auf Ebene 20 rendern
20 = TEXT
20.text.field = title
20.fontFile = fileadmin/fonts/verdana.ttf
20.fontSize = 20
20.fontColor = white
20.niceText = 1
20.offset = 10, 30

# Einen Schatten als Kopie der Ebene 20 realisieren
15 < .20
15.offset = 12, 32
15.fontColor = #000000

# Den Platzhalter KLICKPFAD ansprechen
# Objekt COA wird zwischengeschaltet, um einen zusätzlichen
# Text angeben zu können.
KLICKPFAD = COA
KLICKPFAD {

# Der vorgeschaltete Text
10 = TEXT
10.value = Sie befinden sich hier:&nbsp;

# Den Klickpfad an Position 20 darstellen
20 = HMENU
20 {
special = rootline
special.range = 2|-1
1 = TMENU
1.NO = 1
1.NO.linkWrap = |&nbsp;/&nbsp;
}
}

# Den Trailer dynamisch ansprechen
TRAILER = IMAGE
TRAILER.file = GIFBUILDER
TRAILER.file {
XY = 759, 99
backColor = #697DEE

# Das Hintergrundbild einlesen
10 = IMAGE
10.file.import = uploads/media/
10.file.import.data = levelmedia:-1, slide
10.file.import.listNum = 0
10.file.width = 759
10.offset = 0, -150

# Den Verlauf einarbeiten
20 = IMAGE
20.file = GIFBUILDER
20.file.backColor = #FFFFFF
20.file.XY = 759,99
20.mask = fileadmin/images/mask.jpg

# Text auf den Trailer rendern
30 = TEXT
30.text.field = subtitle // title
30.fontFile = fileadmin/fonts/verdana.ttf
30.fontSize = 24
30.fontColor = #364497
30.niceText = 1
30.offset = 10, 85
}

# Das Textmenü oben erstellen
MENU_OBEN = HMENU
MENU_OBEN {
special = directory
special.value = 4
1 = TMENU
1.NO = 1
1.NO.linkWrap = &nbsp;|&nbsp;| |*| &nbsp;|&nbsp;| |*| &nbsp;|
}

# Inhalt ausgeben
INHALT = CONTENT
INHALT {
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
}

# Inhalte in der rechten Spalte ausgeben
RECHTS = COA
RECHTS.10 = CONTENT
RECHTS.10 {
table = tt_content
select.where = colPos = 2
select.orderBy = sorting
}
RECHTS.20 = CONTENT
RECHTS.20 {
table = tt_content
select.orderBy = sorting

# Inhalte werden von der Seite mit der ID 24 genommen.
select.pidInList = 24
}

# Suchformular im Platzhalter anzeigen
SUCHE < tt_content.search.30
SUCHE {
target = _self
redirect = 9
badMess = Bitte geben Sie ein Suchwort an!
layout = ###FIELD###<br>
stdWrap.wrap >
dataArray.10 {
label =
type = *sword = input, 5, 30
}
dataArray.20 {
valueArray >
type = scols = hidden
value = pages.title-subtitle-keywords-description:tt_content.header-bodytext-imagecaption
}
image = IMAGE
image.file = GIFBUILDER
image.file {
XY = 20,15
backColor = silver
10 = TEXT
10.text = GO
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontColor = black
10.fontSite = 11
10.niceText = 1
10.offset = 2, 13
}
}

# Das grafische Menü erstellen
MENU_LINKS = HMENU
MENU_LINKS {
wrap = <img src="fileadmin/images/linie_weiss.gif" width="178" height="1"><br>|
special = directory
special.value = 12
entryLevel = 1
1 = GMENU
1.NO = 1
1.NO {
warp = | <br>
XY = 178, 24+[16.h]
backColor = #364497

# Text auf den Menüpunkt rendern
10 = TEXT
10.text.field = title
10.text.listNum = 0
10.text.listNum.splitChar = |
10.fontColor = #FFFFFF
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontSize = 12
10.niceText = 1
10.offset = 14, 16

# Eine ggf. vorhandene zweite Textzeile
15 < .10
15.text.listNum = 1
15.offset = 14, 32

# Hilfsebene zur Berechnung der Höhe von Menüpunkten
16 < .10
16.text.case = upper
16.text.listNum = 1
16.fontSize = 22
16.offset = 1000,1000

# Eine weisse Linie erzeugen
20 = IMAGE
20.file = GIFBUILDER
20.file {
XY = 178,1
backColor = #FFFFFF
}
20.offset = 0, 23+[16.h]
}

# Einen RollOver-Zustand beschreiben
1.RO < .1.NO
1.RO.backColor = #061467

# Die zweite Ebene als Kopie der ersten Ebene beschreiben
2 < .1
2.NO {
backColor = #D3E2F9
10.fontColor = #061467
10.fontSize = 11
}
2.RO < .2.NO
2.RO.backColor = #C1D5F4
}
}
}

# Die Überschrift neu formatieren
lib.stdheader >
lib.stdheader = CASE
lib.stdheader {
key.field = header_layout
default = TEXT
default.field = header
default.wrap = <h1>|</h1>

2 = IMAGE
2.file = GIFBUILDER
2.file {
XY = [10.w]+10, 20
backColor = #FFFFFF
10 = TEXT
10.text.field = header
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontColor = #061467
10.fontSize = 15
10.niceText = 1
10.offset = 2, 18
}
wrap = |<br>
}

# Inhaltstyp "Normaler Text" anpassen
tt_content.text.20 {
textStyle >
wrap = <p>|</p>
}

# Die Sitemap von einem Ausgangspunkt erstellen lassen
tt_content.menu.20.2 {
special = directory
special.value.field = pages
}

# Das Suchformular anpassen
tt_content.search.30 {
target = _self
badMess = Bitte füllen Sie alle erforderlichen Felder aus:
dataArray.10 {
label = Ihre Suche:
type = *sword = input, 15, 30
}
dataArray.20 {
valueArray >
type = scols = hidden
value = pages.title-subtitle-keywords-description:tt_content.header-bodytext-imagecaption
}
image = IMAGE
image.file = GIFBUILDER
image.file {
XY = 50,20
backColor = silver
10 = TEXT
10.text = SUCHE
10.fontFile = fileadmin/fonts/verdana.ttf
10.fontColor = black
10.fontSite = 11
10.niceText = 1
10.offset = 2, 15
}
}

# Das Suchergebnis anpassen
tt_content.search.20 {
layout.10 {
value = Ergebnisse auf dieser Seite: ###RANGELOW### bis ###RANGEHIGH### von ###TOTAL###
fontTag >
wrap = <td width=95% bgColor="silver"><font face="verdana" size=”2”><b>|</b></font></td>
}
layout.20 {
value = ###PREV###&nbsp;&nbsp;&nbsp;###NEXT###
fontTag >
wrap = <td bgColor="silver"><font face="verdana" size=2><B>|</B></font></td>
}
renderObj.10 {
textStyle >
fontTag >
wrap = <font face=”verdana” size=”2”><b>|</b></font>
typolink.target = _self
}
renderObj.20 {
stdWrap.textStyle >
stdWrap.wrap = <tr><td><font face="Verdana" size="1" color="navy"> |</font></td></tr>
stdWrap.crop = 200 | [...]
}
noResultObj >
noResultObj = TEXT
noResultObj {
value = Kein Ergebniss gefunden!
wrap = <font face="Verdana" size="2"><b>|</b></font>
}
next.value = Weiter
prev.value = Zurück
target = _self
range = 10
}
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #20  
Alt 11.12.07, 17:31
Forum Newbie
 
Registriert seit: 27.04.06
Alter: 26
Beiträge: 22

ende gut, alles gut. ich habs gerafft und alles funkioniert so wie ich es will.
natürlich kann man das typoscript-file auch lokal am rechner editieren...

aller anfang ist schwer...

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Logo editieren becky TYPO3 4.x Backend 7 06.11.07 18:49
Einträge editieren zefix Extension modifizieren oder neu erstellen 4 23.04.07 13:21
Wo kann man statische Template Datensätze editieren startupboy TYPO3 3.x Fragen und Probleme 2 31.10.06 17:10
Browsertitel editieren mavo TYPO3 4.x Fragen und Probleme 5 15.09.06 10:28
Editieren von Datensätzen im BE Fabian Extension modifizieren oder neu erstellen 3 11.01.06 11:09


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0