Brug af faneblade i Cataloger
Cataloger modulet er et alternativ til Products, hvis man for eksempel vil vise varer frem.
Det er et lidt simplere modul, men ofte brugbart.
Cataloger har muligheder for at lave en Element side hvor man kan have flere indholdsblokke, det er tit en nem måde at overskue forskellig information der er tilknyttet elementet.
Hvis man tager det at lave en lille butik der skal vise varer frem vil der typisk kunne være følgende indhold omkring varen :
- Information om varen
- Specifikationer om varen
- Evt. forskellige test og anmeldelser vedrørende varen.
Disse forskellige indholdsblokke kan man selvfølgelig bare have efter hinanden med overskrifter men tit vil det give en lang side, og overskueligheden forsvinder.
Man kan med fordel bruge jquery scripts som dette til at gøre det lidt pænere.
Nedestående er de dele der skal kopieres ind i Element siden og som vil lave indholdsblokkene om til faneblade.
Først kommer selve CSS og Jquery delen som bestemmer hvordan det hele skal se ud, det er wrappet med literal tagget(det vil sige omkring fra starten af style til slutningen af script delen). Derefter kommer selve Cataloger delen der generer fanebladende.
<style type="text/css">
ul.tabs {
margin: 0 !important;
padding: 0;
float: left;
list-style: none;
height: 32px; /*--Set height of tabs--*/
border-bottom: 1px solid #999;
border-left: 1px solid #999;
width: 100%;
}
ul.tabs li {
float: left;
margin: 0 !important;
padding: 0;
height: 31px; /*--Subtract 1px from the height of the unordered list--*/
line-height: 31px; /*--Vertically aligns the text within the tab--*/
border: 1px solid #999;
border-left: none;
margin-bottom: -1px; /*--Pull the list item down 1px--*/
overflow: hidden;
position: relative;
background: #e0e0e0;
}
ul.tabs li a {
text-decoration: none;
color: #000;
display: block;
font-size: 1.2em;
padding: 0 20px;
border: 1px solid #fff; /*--Gives the bevel look with a 1px white border inside the list item--*/
outline: none;
}
ul.tabs li a:hover {
background: #ccc;
}
html ul.tabs li.active, html ul.tabs li.active a:hover { /*--Makes sure that the active tab does not listen to the hover properties--*/
background: #fff;
border-bottom: 1px solid #fff; /*--Makes the active tab look like it's connected with its content--*/
}
.tab_container {
border: 1px solid #999;
border-top: none;
overflow: hidden;
float: left; width: 100%;
background: #fff;
}
.tab_content {
padding: 20px;
font-size: 1.2em;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
//Default Action
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
//On Click Event
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
$(activeTab).fadeIn(); //Fade in the active content
return false;
});
});
</script>
<ul class="tabs">
{section name=at loop=$attrlist}
<li><a href="#{eval var=$attrlist[at].name}">{eval var=$attrlist[at].name}</a></li>
{/section}
</ul>
<div class="tab_container">
{section name=at loop=$attrlist}
<div id="{eval var=$attrlist[at].name}" class="tab_content">
{eval var=$attrlist[at].key}
</div>
{/section}
</div>
Delene fra Cataloger der ikke har noget med fanebladsgenereringen at gøre er fjernet.
