Page MenuHomeIn-Portal Phabricator

modern-store
No OneTemporary

File Metadata

Created
Wed, Feb 12, 3:16 AM

modern-store

Index: branches/1.0.x/inc/styles.css
===================================================================
--- branches/1.0.x/inc/styles.css (revision 14979)
+++ branches/1.0.x/inc/styles.css (revision 14980)
@@ -1,1181 +1,1186 @@
@charset "UTF-8";
/* Basic Blocks
*******************************************************************************/
html {
min-width: 1000px;
}
body {
background: #fff url(@templates_base@/img/bg-header.jpg) repeat-y 0 0;
color: #3c3c3c;
font: 0.813em/1.231em Arial,Verdana,Tahoma,Sans-Serif;
}
img { border: 0; }
table { border-collapse: collapse; border-spacing: 0; }
td { padding: 0; vertical-align: top; }
a, a:hover, a:focus { color: #333; outline: none; text-decoration: underline; }
a:hover, a:focus { text-decoration: none; }
.clear { clear: both !important; }
.fix { border: 1px solid #f00; }
/* Header
*******************************************************************************/
#header {
margin: 0 auto;
width: 960px;
}
#header .logo {
float: left;
padding: 18px 0;
}
#header .infoblock {
float: right;
position: relative;
width: 580px;
}
#header .infoblock .welcome {
color: #343338;
float: right;
padding: 9px 0;
position: relative;
}
#header .infoblock .welcome div { float: left; }
#header .infoblock .welcome .txt { padding: 0 0 0 20px; }
#header .infoblock .welcome .logged { padding-top: 5px; }
#header .infoblock .welcome .txt a { font-weight: bold; }
#header .infoblock .welcome .lang .with-icon {
background: url(@templates_base@/img/lang/eng.gif) no-repeat 10px 7px;
padding: 5px 10px 10px 35px;
}
#header .infoblock .welcome .lang .without-icon {
padding: 5px 10px 10px 10px;
}
#header .infoblock .welcome .txt,
#header .infoblock .welcome .lang,
#header .infoblock .welcome .currency,
#header .infoblock .welcome .profile-menu {
position: relative;
}
#header .infoblock .welcome .profile-menu { margin-left: 10px; margin-right: 10px; }
#header .infoblock .welcome .txt .login,
#header .infoblock .welcome .currency .cur,
#header .infoblock .welcome .profile-menu .link {
padding: 5px 10px 10px;
}
#header .infoblock .welcome .currency { margin-left: 5px; }
#header .infoblock .welcome .currency .cur.plashka-sel { margin-left: -1px; }
a#lang,
a#currency,
a#profile {
background: url(@templates_base@/img/icon-select.gif) no-repeat 100% 6px;
display: block;
padding: 0 12px 0 0;
text-decoration: none;
}
#header .infoblock .cart {
background: url(@templates_base@/img/bg-cart.jpg) no-repeat 100% 0;
float: left;
font-size: 1.154em;
font-weight: bold;
padding: 15px 0;
}
#header .infoblock .cart span,
#header .infoblock .cart a { float: left; }
#header .infoblock .cart a {
background: url(@templates_base@/img/icon-checkout.gif) no-repeat 100% 12px;
color: #75b833;
line-height: 33px;
padding: 0 12px 0 0;
text-decoration: none;
}
#header .infoblock .cart i {
font-size: 0.733em;
}
#header .infoblock .cart .items {
background: url(@templates_base@/img/icon-cart.png) no-repeat 0 0;
line-height: 33px;
padding: 0 0 0 50px;
}
#header .infoblock .cart .delim {
color: #b5b5b5;
font-weight: normal;
line-height: 33px;
padding: 0 15px;
}
#header .infoblock .cart .phone {
color: #535353;
font: bold 1.385em Tahoma,Arial,Verdana,Sans-Serif;
line-height: 33px;
padding-right: 50px;
}
#header .infoblock .welcome .lang #lang-sel a {
text-decoration: underline;
}
#header .infoblock .welcome .lang #lang-sel .eng {
background: url(@templates_base@/img/lang/eng.gif) no-repeat 0 0;
padding: 0 0 0 25px;
}
#header .infoblock .welcome .lang #lang-sel .deutch {
background: url(@templates_base@/img/lang/deutch.gif) no-repeat 0 0;
padding: 0 0 0 25px;
}
#header .infoblock .welcome .lang #lang-sel .rus {
background: url(@templates_base@/img/lang/rus.gif) no-repeat 0 0;
padding: 0 0 0 25px;
}
.plashka {
background-color: #fff;
border: 1px solid #d0d0d0;
display: none;
padding: 10px 20px 5px;
position: absolute;
top: 31px;
right: -1px;
z-index: 95;
-webkit-border-radius: 5px;
-webkit-border-top-right-radius: 0;
-moz-border-radius: 5px;
-moz-border-radius-topright: 0;
border-radius: 5px;
border-top-right-radius: 0;
-moz-box-shadow: 0 0 8px #ccc;
-webkit-box-shadow: 0 0 8px #ccc;
box-shadow: 0 0 8px #ccc;
}
.plashka-sel {
background-color: #fff !important;
border: 1px solid #d0d0d0;
border-bottom: 1px solid #fff;
margin: -1px -1px 0 0;
position: relative;
z-index: 96;
-webkit-border-top-left-radius: 5px;
-webkit-border-top-right-radius: 5px;
-moz-border-radius-topleft: 5px;
-moz-border-radius-topright: 5px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
-moz-box-shadow: #ccc 0 -3px 8px -1px;
-webkit-box-shadow: #ccc 0 -3px 8px -1px;
box-shadow: #ccc 0 -3px 8px -1px;
}
#header .infoblock .welcome .plashka li {
padding: 0 0 5px;
white-space: nowrap;
}
#header .infoblock .welcome .plashka .active { color: #2d85d6; }
#header .infoblock .welcome .txt .plashka,
#header .infoblock .welcome .profile-menu .plashka { right: 0; }
.plashka-sel a#lang,
.plashka-sel a#currency,
.plashka-sel a#profile {
background: url(@templates_base@/img/icon-close.gif) no-repeat 100% 6px;
}
#header .infoblock .welcome .login,
.login-alt .login {
display: inline-block;
float: none;
}
.login-alt .login { font-size: 0.867em; padding-left: 5px; }
#header .infoblock .welcome .login a,
.login-alt .login a {
background: url(@templates_base@/img/bg-button-login.jpg) no-repeat 0 0;
display: block;
height: 18px;
text-align: center;
text-decoration: none;
width: 61px;
}
#header .infoblock .welcome .txt .login.plashka-sel,
.login-alt .login.plashka-sel {
margin-left: 4px;
margin-bottom: 1px;
padding: 5px 18px 10px;
}
.login-alt .login.plashka-sel { padding: 5px 10px 10px; }
#header .infoblock .welcome .login.plashka-sel a,
.login-alt .login.plashka-sel a {
background: none;
height: auto;
width: auto;
}
.icon-close { right: 10px; position: absolute; }
/*** Menu ***/
.menu {
background: #3e3e3e url(@templates_base@/img/bg-menu.jpg) repeat-x 0 0;
height: 46px;
position: relative;
width: 100%;
}
.menu .padding {
margin: 0 auto;
width: 960px;
}
.menu ul {
float: left;
width: 740px;
}
.menu ul li {
color: #fff;
float: left;
font-size: 1.154em;
font-weight: bold;
}
.menu ul li a {
color: #fff;
display: block;
line-height: 46px;
padding: 0 18px;
text-decoration: none;
}
.menu ul li a:hover,
.menu ul li a:focus {
background: #4b4b4b url(@templates_base@/img/bg-menu.jpg) repeat-x 0 -46px;
}
.menu ul li a.active {
background: #2d85d6 url(@templates_base@/img/bg-menu.jpg) repeat-x 0 -92px;
}
.menu .searchbox {
background: url(@templates_base@/img/bg-searchbox-l.jpg) no-repeat 0 0;
float: right;
margin-top: 10px;
text-align: right;
width: 210px;
}
.menu .searchbox input[type="text"] {
border: none;
background: #fff url(@templates_base@/img/bg-searchbox-r.jpg) no-repeat 100% 0;
height: 23px;
line-height: 23px;
padding-top: 2px;
width: 180px;
}
.level2 {
background-color: #fff;
left: 273px;
position: absolute;
z-index: 4000;
}
.level2-bg {
border: 1px solid #3e3e3e;
float: left;
width: auto;
-webkit-border-bottom-right-radius: 5px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomright: 5px;
-moz-border-radius-bottomleft: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
box-shadow: 0 0 3px #444;
-moz-box-shadow: 0 0 3px #444;
-webkit-box-shadow: 0 0 3px #444;
}
#level2-menu {
background-color: #3e3e3e;
float: left;
padding: 8px 0;
width: 200px;
}
#level2-menu h3 {
background-color: #3e3e3e;
padding: 7px 12px;
white-space: nowrap;
}
#level2-menu h3 a {
color: #fff;
font-weight: bold;
text-decoration: none;
}
#level2-menu h3 a:hover {
text-decoration: underline;
}
#level2-menu ul {
width: 100%;
}
#level2-menu ul li {
background-color: #eaeaea;
font-size: 0.923em;
font-weight: normal;
width: 100%;
}
#level2-menu ul li a {
color: #3e3e3e;
line-height: 20px;
padding: 3px 13px 5px;
text-decoration: none;
}
#level2-menu ul li a:hover,
#level2-menu ul li a:focus {
background: none;
text-decoration: underline;
}
#level2-menu ul li a.active {
background: none;
}
#level2-menu ul li i {
background: url(@templates_base@/img/bullet-l3menu.png) no-repeat 22px 9px;
display: block;
padding: 0 0 0 20px;
white-space: nowrap;
}
#level2-menu ul li.level3-menu h4 {
padding-left: 20px;
white-space: nowrap;
}
#level2-menu ul li.level3-menu ul {
background-color: #fff;
}
#level2-menu ul li.level3-menu ul li {
background-color: #fff;
font-size: 0.917em;
}
#level2-menu ul li.level3-menu ul li a {
background: url(@templates_base@/img/bullet-l3menu.png) no-repeat 35px 4px;
line-height: 18px;
padding: 0 0 0 45px;
}
#level2-menu ul li.level3-menu ul li a.active { color: #2f7916; }
#level2-menu.ui-accordion .ui-accordion-content { overflow: hidden; }
#level2-menu.ui-accordion .ui-accordion-content-active { background-color: #eaeaea; }
#level2-menu .ui-icon-circle-arrow-l2e {
background: url(@templates_base@/img/bullet-l2menu.png) no-repeat 0 0;
height: 7px;
width: 4px;
}
#level2-menu .ui-icon-circle-arrow-l2s {
background: url(@templates_base@/img/bullet-l2menu.png) no-repeat 0 -7px;
height: 4px;
width: 7px;
}
#level2-menu .ui-icon-circle-arrow-l3e {
background: url(@templates_base@/img/bullet-l2menu.png) no-repeat 0 -11px;
height: 7px;
width: 4px;
}
#level2-menu .ui-icon-circle-arrow-l3s {
background: url(@templates_base@/img/bullet-l2menu.png) no-repeat 0 -18px;
height: 4px;
width: 7px;
}
#level-content {
background-color: #fff;
float: left;
padding: 15px;
width: 400px;
}
#level-content ul {
width: auto;
}
#level-content ul li {
background: url(@templates_base@/img/bullet-level5.png) no-repeat 0 7px;
float: left;
font-size: 1em;
font-weight: normal;
padding: 0 10px 7px 10px;
width: 180px;
}
#level-content ul li a {
color: #3c3c3c;
line-height: 20px;
padding: 0;
text-decoration: underline;
}
#level-content ul li a:hover,
#level-content ul li a:focus {
background: none;
color: #2a80d3;
}
#level-good {
background-color: #fff;
float: left;
padding: 15px;
text-align: center;
width: 120px;
}
#level-good .price { padding: 10px 0; }
/* Content
*******************************************************************************/
#content {
background-color: #f7f7f7;
padding: 32px 0;
width: 100%;
}
#content .padding {
margin: 0 auto;
position: relative;
width: 960px;
}
#content .block-fixed {
background-color: #fff;
border: 1px solid #d0d0d0;
padding: 13px 11px 0 11px;
position: absolute;
margin: 40px 0 0 -100px;
}
#content .block-fixed div { padding-bottom: 13px; }
.button-addtocart {
background: url(@templates_base@/img/button-addtocart-left.jpg) no-repeat 0 0;
color: #faffed;
display: inline-block;
font-size: 0.846em;
text-shadow: #000 0px 1px 1px;
text-decoration: none;
}
.button-addtocart span {
background: url(@templates_base@/img/button-addtocart-right.jpg) no-repeat 100% 0;
display: inline-block;
height: 40px;
padding: 5px 6px 0;
text-align: center;
}
.button-addtocart span i { display: block; margin-top: -4px; }
.button-addtocart:hover { color: #faffed; text-shadow: #000 0px 1px 1px; }
#content .leftcol {
float: left;
padding: 0 20px 0 0;
width: 230px;
}
#content .rightcol {
float: left;
padding: 0 0 0 20px;
width: 230px;
}
#content .contentcol {
float: left;
width: 710px;
}
.subscribe-block {
background: url(@templates_base@/img/subs.png) no-repeat 0 100%;
padding: 0 16px 11px 0;
width: 214px;
}
.subscribe-block h4 {
background: url(@templates_base@/img/subs-top.png) no-repeat 0 0;
font-size: 1.077em;
font-weight: bold;
padding: 14px 0 0 16px;
width: 214px;
}
.subscribe-block fieldset {
padding: 10px 0 0 16px;
text-align: left;
width: 214px;
}
input.field,
textarea.field,
select.field,
select.field-alt {
background: url(@templates_base@/img/bg-field.jpg) repeat-x 0 0;
border: 1px solid #828282;
height: 24px;
line-height: 24px;
margin-bottom: 5px;
padding: 0 5px;
}
select.field { padding: 0 0 0 5px; }
select.field-alt { margin: 0; padding: 0 0 0 5px; }
input.field:focus,
textarea.field:focus,
select.field-alt:focus,
select.field:focus { border: 1px solid #000; }
.form select.field { width: 360px; }
.form input.subsfield { width: 190px; }
/*** Block ***/
.block {
background: url(@templates_base@/img/bg-block-bottom.jpg) no-repeat 0 100%;
margin: 0 0 10px;
padding: 0 0 8px;
}
.block .block-top {
background: url(@templates_base@/img/bg-block-top.jpg) no-repeat 0 100%;
height: 8px;
width: 100%;
}
.block.no-border-bottom {
background: none;
padding: 0;
}
.block.block-margin { margin: 0 0 20px; }
.block h2 {
background: url(@templates_base@/img/h1-left.png) no-repeat 0 0;
height: 36px;
line-height: 36px;
padding-left: 14px;
position: relative;
z-index: 10;
}
.block h2 em,
.block h2 a {
color: #fefefe;
font-size: 1.154em;
font-weight: bold;
font-style: normal;
position: relative;
z-index: 150;
}
+
+.block h2 em.filter-header {
+ padding-left: 14px;
+}
+
.block h2 a { text-decoration: underline; }
.block h2 i {
background: url(@templates_base@/img/bc-step.png) no-repeat 50% 50%;
padding: 0 15px;
}
.block h2 span {
background: url(@templates_base@/img/h1-right.png) no-repeat 100% 0;
height: 53px;
position: absolute;
top: -3px; right: -6px;
width: 136px;
z-index: 50;
}
.block h2 span.new { background: url(@templates_base@/img/h1-right-new.png) no-repeat 100% 0; }
.block h2 span.pick { background: url(@templates_base@/img/h1-right-pick.png) no-repeat 100% 0; }
.block h2 span.sale { background: url(@templates_base@/img/h1-right-sale.png) no-repeat 100% 0; }
.block h2 span.bullet { background: url(@templates_base@/img/h1-right-bullet.png) no-repeat 100% 0; }
.block.alt-block {
background: none;
}
.block.alt-block h2 {
background: url(@templates_base@/img/bg-block.png) no-repeat 0 0;
padding-left: 0;
}
.block.alt-block h2.active {
background-position: 0 100%;
}
.block.alt-block h2 a {
display: block;
- height: 36px;
- line-height: 36px;
- padding-left: 14px;
- text-decoration: none;
+ float: right;
+ line-height: 8px;
+ padding-top: 8px;
+ padding-right: 8px;
}
.block .block-content {
background-color: #fff;
border: 1px solid #d0d0d0;
border-top: none;
padding: 15px;
-webkit-border-bottom-right-radius: 5px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomright: 5px;
-moz-border-radius-bottomleft: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
.block .block-content.noactive { display: none; }
.manufacturer dt {
float: left;
width: 155px;
}
.manufacturer dd {
float: left;
text-align: right;
width: 40px;
}
.manufacturer .active {
color: #0171e4;
}
.manufacturer label { text-decoration: underline; }
.slider-vertical {
background: url(@templates_base@/img/bg-vertslider-full.png) no-repeat 0 0;
float: left;
padding: 5px 0 0;
}
.slider-vertical .ui-slider-range {
background: url(@templates_base@/img/bg-vertslider-a.png) repeat-y 0 0;
margin: 0 0 0 7px;
}
.slider-vertical .ui-slider-handle {
background: url(@templates_base@/img/point-vertslider.png) no-repeat 0 0;
height: 9px;
margin: 0;
width: 16px;
}
.range-block {
margin: 0 auto;
padding: 10px 0 0;
width: 120px;
}
.range-block ul.range {
color: #333;
float: left;
margin-right: 10px;
position: relative;
top: -7px;
width: 50px;
}
.range-block ul.range li {
padding: 0 0 10px;
text-align: right;
}
.range-block ul.range li:last-child { padding: 0; }
.range-block ul.range2 {
color: #a0a0a0;
float: left;
margin-left: 10px;
position: relative;
top: 4px;
width: 20px;
}
.range-block ul.range2 li {
font-size: 0.846em;
padding: 0 0 10px;
text-align: left;
}
.range-block ul.range2 li:last-child { padding: 0; }
/*** Accordion menu ***/
#accordion-menu {
border-left: 1px solid #d0d0d0;
border-right: 1px solid #d0d0d0;
}
#accordion-menu h3 {
background: #fff url(@templates_base@/img/bg-point-menu.jpg) repeat-x 0 100%;
border-bottom: 1px solid #d0d0d0;
color: #666;
cursor: pointer;
font-size: 1.077em;
font-weight: bold;
padding: 10px 14px;
position: relative;
}
#accordion-menu h3.active {
background: #1b6bc7 url(@templates_base@/img/bg-point-menu-active.jpg) repeat-x 0 0;
color: #fff;
}
#accordion-menu a { padding-left: 20px; text-decoration: none; }
#accordion-menu a:hover, #accordion-menu a:focus { text-decoration: underline; }
#accordion-menu h3.active a { color: #fff; }
#accordion-menu .ui-icon-circle-arrow-e {
background: url(@templates_base@/img/bullet-menu.png) no-repeat 0 0;
height: 6px;
width: 10px;
}
#accordion-menu.alt-menu .ui-icon-circle-arrow-e {
margin-top: -4px;
position: absolute;
top: 50%;
}
#accordion-menu .ui-icon-circle-arrow-s {
background: url(@templates_base@/img/bullet-menu.png) no-repeat 0 -6px;
height: 6px;
width: 10px;
}
#accordion-menu .ui-icon-circle-arrow-a {
background: url(@templates_base@/img/bullet-menu.png) no-repeat 0 -12px;
height: 10px;
margin-top: -5px;
position: absolute;
top: 50%;
width: 8px;
}
#accordion-menu div {
background-color: #fff;
border-bottom: 1px solid #d0d0d0;
}
#accordion-menu div ul { padding: 10px 0 10px 7px; }
#accordion-menu div ul li { padding: 3px 0 5px 7px; }
#accordion-menu div ul li.active {
background: url(@templates_base@/img/bg-subcategory.png) repeat-x 0 0;
}
#accordion-menu div ul a { color: #333; padding-left: 0; }
#accordion-menu div ul li.active a { color: #fff; }
#accordion-menu div ul li ul { padding: 10px 0 0 25px; }
#accordion-menu div ul li ul li {
background: url(@templates_base@/img/point-subcategory.png) no-repeat 0 7px;
font-size: 0.923em;
padding: 2px 0 2px 10px;
}
#accordion-menu div ul li.active ul a { color: #333; }
/*** Good item ***/
.good-item {
background-color: #fff;
width: auto;
}
.good-item.good-item-narrow {
margin: 5px 5px 0 0;
width: 171px;
}
.good-item.good-item-narrow-last {
margin-right: 0;
}
.good-item.good-item-float {
float: left;
height: 290px;
}
.good-item.border-radius-bottom {
border: 1px solid #d0d0d0;
border-top: none;
-webkit-border-bottom-right-radius: 5px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomright: 5px;
-moz-border-radius-bottomleft: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
.good-item.border-radius {
border: 1px solid #d0d0d0;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.good-item dl {
padding: 14px 16px 0;
text-align: center;
}
.good-item dl dd { padding-bottom: 15px; }
.good-item.comparing-items dl {
border-bottom: 1px dotted #b5b5b5;
padding: 14px 0;
margin: 0 16px;
}
.good-item.comparing-items dl.last {
border-bottom: none;
}
.good-item.comparing-items .buttons {
padding: 15px 0;
text-align: center;
width: 210px;
}
.good-item dl dt { padding-bottom: 15px; }
.good-item dl dt a {
font-size: 1.077em;
font-weight: bold;
}
.good-item .img { height: 140px; }
.good-item .price {
font-size: 1.846em;
font-weight: bold;
font-style: normal;
padding: 10px 0;
}
.good-item .price span {
font-size: 0.708em;
}
.good-item .addtocart {
background: url(@templates_base@/img/addtocart-left.jpg) no-repeat 0 0;
color: #faffed;
display: inline-block;
font-size: 1.077em;
font-weight: bold;
text-shadow: #000 0px 1px 1px;
text-decoration: none;
}
.good-item .addtocart span {
background: url(@templates_base@/img/addtocart-right.jpg) no-repeat 100% 0;
display: inline-block;
height: 33px;
line-height: 33px;
padding: 0 20px;
}
.good-item .addedtocart {
color: #3d901f;
font-size: 1.154em;
}
/*** Scrollable ***/
#scrollable {
position:relative;
overflow: hidden;
width: 710px;
height: 309px;
background-color: #fff;
margin: 5px 0
}
#scrollable .items {
border-top: 1px solid #d0d0d0;
border-bottom: 1px solid #d0d0d0;
height: 307px;
margin: 0 30px;
position: relative;
width: 650px;
}
#scrollable .good-item {
background: url(@templates_base@/img/delimiter-special.gif) repeat-y 100% 0;
position:relative;
width:222px;
height: 280px;
margin: 16px 0;
}
#scrollable .good-item dl { padding: 0 16px; }
#scrollable .good-item dl dt { height: 35px; }
#scrollable .good-item dl dd .price { color: #c2120a; }
#scrollable .good-item dl dd .price-deal {
padding: 10px 0;
}
#scrollable .good-item dl dd .price-deal s.under {
font-size: 1.308em;
font-weight: bold;
padding-right: 10px;
}
#scrollable .good-item dl dd .price-deal s.under span {
font-size: 0.706em;
}
#scrollable .ca-nav span {
width:30px;
height:309px;
background:transparent url(@templates_base@/img/special-navi.png) no-repeat 0 0;
position:absolute;
top:0;
left:0;
text-indent:-9000px;
cursor:pointer;
z-index:8;
}
#scrollable .ca-nav span.ca-nav-prev:hover {
background-position:-30px 0;
}
#scrollable .ca-nav span.ca-nav-next {
background-position:-60px 0;
left:auto;
right:0;
}
#scrollable .ca-nav span.ca-nav-next:hover {
background-position:-90px 0;
}
#content .content,
#content .compare {
margin: 5px 0 0;
padding: 20px 30px;
}
#content .content.border-radius,
#content .goods.border-radius,
#content .items.border-radius,
#content .compare.border-radius {
background-color: #fff;
border: 1px solid #d0d0d0;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
width: auto;
}
#content .content p {
font-size: 1.077em;
line-height: 1.5em;
}
#feedback {
background: url(@templates_base@/img/con-contact.jpg) no-repeat 100% 0;
font-size: 0.929em;
padding: 20px 330px 0 0;
}
#feedback p.req {
border-bottom: 1px solid #d0d0d0;
color: #3e85d2;
font-size: 1em;
font-weight: bold;
margin-bottom: 15px;
padding: 0 0 5px;
}
span.star {
color: #3e85d2;
font-weight: bold;
}
#feedback p {
clear: both !important;
padding: 5px 0;
}
#feedback label {
float: left;
font-weight: bold;
padding: 5px 0;
white-space: nowrap;
width: 110px;
}
.form .field {
border: 1px solid #b4b4b4;
width: 350px;
}
#feedback input.field,
#feedback span.radios,
#feedback textarea {
float: left;
}
#feedback textarea {
background: url(@templates_base@/img/bg-textarera.jpg) repeat-x 0 0;
border: 1px solid #b4b4b4;
height: 120px;
width: 450px;
}
#feedback .radio label { width: 240px; }
#feedback span.radios { padding: 5px 0; }
#feedback .buttons {
padding: 10px 0 0 110px;
}
.form .green-button {
background: url(@templates_base@/img/bg-buttons.jpg) no-repeat 0 0;
border: none;
color: #fff;
font-weight: bold;
height: 26px;
padding-bottom: 1px;
width: 90px;
}
.form .grey-button, .form .green-button[disabled] {
background: url(@templates_base@/img/bg-buttons.jpg) no-repeat 0 100%;
border: none;
color: #000;
font-weight: bold;
height: 26px;
padding-bottom: 1px;
width: 90px;
}
.green-but {
background: url(@templates_base@/img/bg-button-left.png) no-repeat 0 0;
color: #fff;
display: inline-block;
font-weight: bold;
height: 26px;
line-height: 26px;
margin: 0 20px 0 0;
padding: 0 0 0 20px;
text-decoration: none;
}
.green-but:hover { color: #fff; text-decoration: none; }
.green-but span {
background: url(@templates_base@/img/bg-button-right.png) no-repeat 100% 0;
display: inline-block;
height: 26px;
margin: 0 -19px 0 0;
padding: 0 20px 0 0;
}
.grey-but {
background: url(@templates_base@/img/bg-button-left.png) no-repeat 0 100%;
color: #3c3c3c;
display: inline-block;
font-weight: bold;
height: 26px;
line-height: 26px;
padding: 0 0 0 20px;
text-decoration: none;
}
.grey-but:hover { color: #3c3c3c; text-decoration: none; }
.grey-but span {
background: url(@templates_base@/img/bg-button-right.png) no-repeat 100% 100%;
display: inline-block;
height: 26px;
margin: 0 -19px 0 0;
padding: 0 20px 0 0;
}
/*** Login form ***/
.login-form {
padding: 0;
}
.login-form p {
padding: 5px 0;
}
.login-form label {
display: block;
font-weight: bold;
padding-bottom: 5px;
}
.login-form .field {
width: 230px;
}
/* Footer
*******************************************************************************/
#footer {
margin: 0 auto;
width: 960px;
}
#footer .copy {
float: left;
font-family: Tahoma,Arial,Verdana,Sans-Serif;
padding-top: 18px;
width: 580px;
}
#footer .copy .doplinks {
color: #a8a8a8;
padding-top: 15px;
}
#footer .copy .doplinks a { padding: 0 15px; }
#footer .copy .doplinks a:first-child { padding-left: 0; }
#footer .links {
background: url(@templates_base@/img/bg-blinks.jpg) no-repeat 0 0;
float: left;
padding: 18px 0 36px 16px;
width: 124px;
}
#footer .links ul li {
background: url(@templates_base@/img/li-blinks.gif) no-repeat 0 6px;
padding: 0 0 0 11px;
}
#footer .payment {
float: left;
font-weight: bold;
padding: 18px 0 36px;
text-align: right;
width: 230px;
}
#footer .payment .logos {
padding: 0 0 20px;
}
#footer .payment a {
padding: 0 3px;
}
.basketStatus {
position: absolute;
top: 153px;
left: 247px;
display: block;
z-index: 5000;
}
.basketStatus .basketContent {
background-color: #fff;
width: 230px;
font-weight: bold;
position:relative;
z-index:5001;
color: #333;
padding: 12px 25px;
box-shadow: 0 0 3px #444;
-moz-box-shadow: 0 0 3px #444;
-webkit-box-shadow: 0 0 3px #444;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}
.basketStatus .basketArrow {
background: url(@templates_base@/img/con-basket-arrow.png) no-repeat 0 0;
height: 15px;
margin: -55px 0 0 22px;
position: relative;
width: 26px;
z-index: 5006;
}
.basketStatus .basketContent .subtitle { color: #62aa2c; padding-bottom: 15px; }
.basketStatus .basketContent .img {
float: left;
padding-right: 15px;
}
.basketStatus .basketContent .info { color: #333; }
/* --- Item Rating Styles --- */
.ratingblock, .ratingblock div {
display: -moz-inline-block;
}
.voted {
color: #999;
}
.thanks {
color: #36AA3D;
}
.static {
color: #5D3126;
}
.inline-rating {
display:-moz-inline-block;
display:-moz-inline-box;
display:inline-block;
vertical-align: middle;
}
.star-rating,
.star-rating a:hover,
.star-rating a:active,
.star-rating a:focus,
.star-rating .current-rating{
background: url('@templates_base@/img/star_sprite.gif') left -1000px repeat-x;
}
.star-rating {
position:relative;
width:125px;
height:25px;
overflow:hidden;
list-style:none;
margin:0;
padding:0;
background-position: left top;
}
.star-rating li {
display: inline;
}
.star-rating a,
.star-rating .current-rating {
position:absolute;
top:0;
left:0;
text-indent:-1000em;
height:25px;
line-height:25px;
outline:none;
overflow:hidden;
border: none;
}
.star-rating a:hover,
.star-rating a:active,
.star-rating a:focus {
background-position: left bottom;
}
.star-rating a.r1-unit { width:20%;z-index:6; }
.star-rating a.r2-unit { width:40%;z-index:5; }
.star-rating a.r3-unit { width:60%;z-index:4; }
.star-rating a.r4-unit { width:80%; z-index:3; }
.star-rating a.r5-unit { width:100%; z-index:2; }
.star-rating .current-rating { z-index:1; background-position: left center; }
.small-star {
width:50px;
height:10px;
}
.small-star, .small-star a:hover, .small-star a:active,
.small-star a:focus, .small-star .current-rating {
background-image: url('@templates_base@/img/star_sprite_small.gif');
line-height: 10px;
height: 10px;
}
\ No newline at end of file
Index: branches/1.0.x/inc/js/list_manager.js
===================================================================
--- branches/1.0.x/inc/js/list_manager.js (revision 14979)
+++ branches/1.0.x/inc/js/list_manager.js (revision 14980)
@@ -1,257 +1,338 @@
function ListManager() {}
ListManager.containerSelector = ''; // selector id of container
ListManager.url = ''; // url to template with list contents
ListManager.urlParams = {layout: 'list'};
ListManager.filters = {};
ListManager.xhrRequests = [];
ListManager.reloadTimer = null;
ListManager.reloadTimeout = 1000;
ListManager.firstLoad = true;
ListManager.getUrl = function () {
var $url = this.url;
}
ListManager.cancelXHRRequests = function () {
while ( this.xhrRequests.length > 0 ) {
this.xhrRequests.shift().abort();
}
}
ListManager.reload = function ($now) {
this.cancelXHRRequests();
if ( $now === undefined || $now === false ) {
this.updateAnchor();
return;
}
var $container = $(this.containerSelector);
$container.fadeTo('fast', 0.7);
var $request = $.post(
this.url,
this.urlParams,
function ($data) {
$container.html($data).fadeTo('fast', 1.0);
}
);
this.xhrRequests.push($request);
}
ListManager.scheduleReload = function () {
var $me = this;
clearTimeout(this.reloadTimer);
this.reloadTimer = setTimeout(function() { $me.reload(); }, this.reloadTimeout);
}
ListManager.setParam = function ($name, $value, $reload) {
if ( $value === undefined || $value === '' ) {
// don't pass empty parameters
delete this.urlParams[$name];
}
else {
this.urlParams[$name] = $value;
}
if ( $reload === true ) {
this.reload();
}
}
ListManager.getParam = function ($name) {
return this.urlParams[$name] !== undefined ? this.urlParams[$name] : false;
}
ListManager.updateAnchor = function () {
var $query_string = [],
$url_params = sort_object(this.urlParams);
for (var $param_name in $url_params) {
$query_string.push( $param_name + '=' + encodeURIComponent(this.urlParams[$param_name]) );
}
window.location.hash = '#' + $query_string.join('&');
}
ListManager.parseAnchor = function ($anchor) {
var $query_string = {};
$anchor.replace(
new RegExp('([^?=&]+)(=([^&]*))?', 'g'),
function($0, $1, $2, $3) {
$query_string[$1] = decodeURIComponent($3);
}
);
this.urlParams = $query_string;
// sync values from url params into empty filters on first page with anchor load
this.initFilters();
this.reload(true);
}
+ListManager.replaceFilter = function ($form_id, $form_html) {
+ $('#' + $form_id).replaceWith($form_html);
+}
+
+ListManager.replaceCounters = function ($field, $counters) {
+ // reset all counters in case if we got less, then are displayed right now
+ $('.filter-counter', '#filter-form-' + $field).text('0');
+
+ for (var $option_value in $counters) {
+ $('#' + jq('filter-counter[' + $field + '][' + $option_value + ']')).text($counters[$option_value]);
+ }
+}
+
ListManager.registerFilter = function ($field) {
var $manager = this,
$form = $('#filter-form-' + $field);
$manager.filters[$field] = {'type': $form.attr('filter_type')};
- $('h2:first a', $form).click(
+ /*$('h2:first a', $form).click(
function ($e) {
var $header = $(this).parent(),
$active = $header.hasClass('active');
$header.toggleClass('active', !$active);
$header.next().toggleClass('noactive', $active);
return false;
}
+ );*/
+
+ $('h2:first .reset-filter', $form).click(
+ function ($e) {
+ $manager.resetFilter($field);
+
+ return false;
+ }
);
switch( $manager.filters[$field].type ) {
case 'radio':
$("input[type='radio']", $form).click(
function ($e) {
- $manager.updateFilterParams();
+ $manager.updateFilterParams($field);
}
);
break;
case 'checkbox':
$("input[type='checkbox']", $form).click(
function ($e) {
var $checkbox = $(this),
$hidden_id = $checkbox.attr('id').replace(/_([\d\w-=]|)+$/, ''),
$regexp = new RegExp(jq($hidden_id) + '_([\\d\\w-=]+)');
if ( $checkbox.val() == '' ) {
// "All" checkbox
$("input[type='checkbox']", $form).not($checkbox).attr('checked', false);
}
else if ( $checkbox.is(':checked') ) {
$("input[type='checkbox'][value='']", $form).attr('checked', false);
}
update_checkbox_options($regexp, $hidden_id, $form);
- $manager.updateFilterParams();
+ $manager.updateFilterParams($field);
}
);
break;
}
}
+ListManager.resetFilters = function ($reload) {
+ for (var $filter_field in this.filters) {
+ this.resetFilter($filter_field, $reload);
+ }
+}
+
+ListManager.resetFilter = function ($field, $reload) {
+ var $manager = this,
+ $form = $('#filter-form-' + $field);
+
+ switch( $manager.filters[$field].type ) {
+ case 'radio':
+ $("input[type='radio'][value='']", $form).attr('checked', true);
+ break;
+
+ case 'checkbox':
+ var $checkbox = $("input[type='checkbox'][value='']", $form),
+ $hidden_id = $checkbox.attr('id').replace(/_([\d\w-=]|)+$/, ''),
+ $regexp = new RegExp(jq($hidden_id) + '_([\\d\\w-=]+)');
+
+ $checkbox.attr('checked', true);
+ $("input[type='checkbox']", $form).not($checkbox).attr('checked', false);
+
+ update_checkbox_options($regexp, $hidden_id, $form);
+ break;
+
+ case 'range':
+ var $param_name = 'filters[' + $field + ']',
+ $slider = $('#' + jq($param_name + '_slider') );
+
+ $slider.slider('option', 'values', [$slider.slider('option', 'min'), $slider.slider('option', 'max')]);
+
+ $('#' + jq($param_name) ).val('');
+ break;
+ }
+
+ $manager.updateFilterParams($field, $reload);
+}
+
ListManager.initFilters = function () {
if ( !this.firstLoad ) {
return;
}
for (var $filter_field in this.filters) {
this.initFilter($filter_field);
}
this.firstLoad = false;
}
+ListManager.toggleFilter = function ($field, $toggle) {
+ var $form = $('#filter-form-' + $field),
+ $param_value = this.getParam('filters[' + $field + ']');
+
+ if ( $toggle === undefined ) {
+ $toggle = $param_value !== false && $param_value !== '';
+ }
+
+ $('h2:first', $form).toggleClass('active', $toggle);
+ $('h2:first .reset-filter', $form).toggle($toggle);
+}
+
ListManager.initFilter = function ($field) {
var $values = '',
$form = $('#filter-form-' + $field),
$param_name = 'filters[' + $field + ']',
$param_value = this.getParam($param_name);
if ( $param_value === false || $param_value === '' ) {
return;
}
+ this.toggleFilter($field);
+
switch( this.filters[$field].type ) {
case 'radio':
$('#' + jq($param_name + '_' + $param_value) ).attr('checked', true);
break;
case 'checkbox':
$values = $param_value.substring(1, $param_value.length - 1).split('|');
for (var $i = 0; $i < $values.length; $i++) {
$('#' + jq($param_name + '_' + $values[$i]) ).attr('checked', true);
}
$('#' + jq($param_name + '_') ).attr('checked', false);
$('#' + jq($param_name) ).val($param_value);
break;
case 'range':
var $slider = $('#' + jq($param_name + '_slider') ),
$slider_options = {
- min: $slider.slider('option', 'min'),
- max: $slider.slider('option', 'max'),
- step: $slider.slider('option', 'step')
- };
+ min: $slider.slider('option', 'min'),
+ max: $slider.slider('option', 'max'),
+ step: $slider.slider('option', 'step')
+ };
$values = $param_value.split('-');
$values = this.invertRange($slider_options, $values[0], $values[1]);
$slider.slider('option', 'values', $values);
$('#' + jq($param_name) ).val($param_value);
break;
}
this.syncChecked( $("input[type=checkbox], input[type=radio]", '#filter-form-' + $field) );
}
ListManager.invertRange = function ($options, $min, $max) {
var $min_value = $options.min + (($options.max - $max) / $options.step) * $options.step,
$max_value = $options.max - (($min - $options.min) / $options.step) * $options.step;
return [$min_value, $max_value];
}
ListManager.syncChecked = function ($checkboxes) {
$checkboxes.each(
function () {
var $me = $(this),
$checked = $me.is(':checked'),
$dt = $me.parent(),
$dd = $dt.next();
$dt.toggleClass('active', $checked);
$dd.toggleClass('active', $checked);
}
);
}
-ListManager.updateFilterParams = function () {
+ListManager.updateFilterParams = function ($current_field, $reload) {
var $form_fields;
for (var $field in this.filters) {
$form_fields = $('#filter-form-' + $field).serializeArray();
for (var $i = 0; $i < $form_fields.length; $i++) {
this.setParam($form_fields[$i].name, $form_fields[$i].value);
}
this.syncChecked( $("input[type=checkbox], input[type=radio]", '#filter-form-' + $field) );
}
- this.scheduleReload();
+ if ( $current_field !== undefined ) {
+ this.toggleFilter($current_field);
+ this.setParam('exclude_filters', $current_field);
+ }
+
+ if ( $reload === undefined || $reload === true ) {
+ this.scheduleReload();
+ }
}
ListManager.init = function () {
var $manager = this;
this.firstLoad = window.location.hash.length > 1;
$('body').bind(
'anchorchanged',
function ($e, $anchor) {
$manager.parseAnchor($anchor);
}
);
}
\ No newline at end of file
Index: branches/1.0.x/elements/filters.elm.tpl
===================================================================
--- branches/1.0.x/elements/filters.elm.tpl (revision 14979)
+++ branches/1.0.x/elements/filters.elm.tpl (revision 14980)
@@ -1,125 +1,151 @@
<inp2:m_DefineElement name="filter_text_block" PrefixSpecial="item-filter" filter_type="text" is_list="0">
<input type="text" name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>" value="<inp2:FilterField/>"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_select_block" PrefixSpecial="item-filter" filter_type="select" is_list="0">
<select name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>">
</select>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_radio_element">
<dt<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>
<input type="radio"<inp2:m_if check="m_Param" name="selected"> checked</inp2:m_if> name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>"/>&nbsp;<label for="<inp2:FilterInputName/>_<inp2:m_param name='key'/>"><inp2:m_Param name="title"/></label>
</dt>
- <dd<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>(<inp2:m_Param name="count"/>)</dd>
+ <dd<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>(<span id="filter-counter[<inp2:m_Param name='filter_field'/>][<inp2:m_param name='key'/>]" class="filter-counter"><inp2:m_Param name="count"/></span>)</dd>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_radio_block" PrefixSpecial="item-filter" filter_type="radio" is_list="0">
<dl class="manufacturer">
<inp2:ListFilterOptions render_as="filter_radio_element" pass_params="1"/>
</dl>
<div class="clear"></div>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_checkbox_element" form_id="">
<dt<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>
<input type="checkbox"<inp2:m_if check="m_Param" name="selected"> checked</inp2:m_if> id="<inp2:FilterInputName/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>"/>&nbsp;<label for="<inp2:FilterInputName/>_<inp2:m_param name='key'/>"><inp2:m_Param name="title"/></label>
</dt>
- <dd<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>(<inp2:m_Param name="count"/>)</dd>
+ <dd<inp2:m_if check="m_Param" name="selected"> class="active"</inp2:m_if>>(<span id="filter-counter[<inp2:m_Param name='filter_field'/>][<inp2:m_param name='key'/>]" class="filter-counter"><inp2:m_Param name="count"/></span>)</dd>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_checkbox_block" PrefixSpecial="item-filter" filter_type="checkbox" is_list="0">
<dl class="manufacturer">
<inp2:ListFilterOptions render_as="filter_checkbox_element" form_id="filter-form-{$filter_field}" pass_params="1"/>
</dl>
<div class="clear"></div>
<input type="hidden" name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>" value="<inp2:FilterField/>"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_range_value_element">
<li>
<!--##<inp2:m_param name='key'/>; ##--><inp2:m_Param name="title"/>
</li>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_range_count_element">
- <li>(<inp2:m_Param name="count"/>)</li>
+ <li>(<span id="filter-counter[<inp2:m_Param name='filter_field'/>][<inp2:m_param name='key'/>]" class="filter-counter"><inp2:m_Param name="count"/></span>)</li>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_range_block" PrefixSpecial="item-filter" filter_type="range" is_list="0">
<div class="range-block">
<ul class="range">
<inp2:ListFilterOptions render_as="filter_range_value_element" pass_params="1"/>
</ul>
<div class="slider-vertical" id="<inp2:FilterInputName/>_slider" style="height:260px;"></div>
<ul class="range2">
<inp2:ListFilterOptions render_as="filter_range_count_element" pass_params="1"/>
</ul>
<div class="clear"></div>
</div>
<script type="text/javascript">
$(document).ready(
function() {
var $slider_options = {
min: <inp2:m_Get name="min_range_value"/>,
max: <inp2:m_Get name="max_range_value"/>,
step: <inp2:m_Get name="range_step"/>
},
$options = {
orientation: 'vertical',
range: true,
values: [<inp2:m_Get name="selected_from_range"/>, <inp2:m_Get name="selected_to_range"/>],
change: function(event, ui) {
// jQuery UI slider has inverted range - fix that here
var $selected_range = ListManager.invertRange($slider_options, ui.values[0], ui.values[1]);
- $('#' + jq('<inp2:FilterInputName/>')).val($selected_range[0] + '-' + $selected_range[1]);
- ListManager.updateFilterParams();
+ if ( $selected_range[0] == $slider_options.min && $selected_range[1] == $slider_options.max ) {
+ $('#' + jq('<inp2:FilterInputName/>')).val('');
+ }
+ else {
+ $('#' + jq('<inp2:FilterInputName/>')).val($selected_range[0] + '-' + $selected_range[1]);
+ }
+
+ ListManager.updateFilterParams('<inp2:m_Param name="filter_field"/>');
}
},
$values = ListManager.invertRange($slider_options, $options.values[0], $options.values[1]);
$options.values[0] = $values[0];
$options.values[1] = $values[1];
$.extend($options, $slider_options);
$( '#' + jq('<inp2:FilterInputName/>_slider') ).slider($options);
}
);
</script>
<input type="hidden" name="<inp2:FilterInputName/>" id="<inp2:FilterInputName/>" value="<inp2:FilterField/>"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="filter_element" PrefixSpecial="item-filter" prefix="" filter_field="" filter_type="" is_list="0">
<inp2:m_IFDataExists>
<inp2:m_ifnot check="m_Param" name="is_list">
<inp2:ReloadItem prefix="$prefix" field="$filter_field"/>
</inp2:m_ifnot>
<form action="<inp2:m_FormAction/>" id="filter-form-<inp2:m_Param name='filter_field'/>" method="post" class="filter-form" filter_field="<inp2:m_Param name='filter_field'/>" filter_type="<inp2:m_Param name='filter_type'/>">
<div class="block alt-block">
- <h2 class="active"><a href="#">Filter by <inp2:m_Phrase name="lu_fld_{$filter_field}"/></a></h2>
+ <h2>
+ <em class="filter-header">
+ Filter by <inp2:m_Phrase name="lu_fld_{$filter_field}"/>
+ </em>
+
+ <a href="#" class="reset-filter" style="display: none;">
+ <img src="<inp2:m_TemplatesBase/>img/btn_reset_filter.png" width="18" height="18" alt="Reset Filter"/>
+ </a>
+ </h2>
<div class="block-content">
<inp2:m_RenderElement name="filter_{$filter_type}_block" pass_params="1"/>
</div>
</div>
<script type="text/javascript">
$(document).ready(
function () {
ListManager.registerFilter('<inp2:m_Param name="filter_field"/>');
}
);
</script>
</form>
</inp2:m_IFDataExists>
</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="filter_counter_element">
+ '<inp2:m_Param name="key"/>': <inp2:m_Param name="count"/><inp2:m_ifnot check="m_Param" name="is_last">,</inp2:m_ifnot>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="filter_counters_element">
+ ListManager.replaceCounters('<inp2:m_Param name="filter_field"/>', {<inp2:ListFilterOptions render_as="filter_counter_element" pass_params="1" strip_nl="2"/>});
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="used_filter_element">
+ ListManager.replaceFilter('filter-form-<inp2:m_Param name="filter_field"/>', '<inp2:m_RenderElement name="filter_element" pass_params="1" js_escape="1"/>');
+</inp2:m_DefineElement>
\ No newline at end of file
Index: branches/1.0.x/elements/sorting.elm.tpl
===================================================================
--- branches/1.0.x/elements/sorting.elm.tpl (revision 14979)
+++ branches/1.0.x/elements/sorting.elm.tpl (revision 14980)
@@ -1,135 +1,136 @@
<inp2:m_DefaultParam prefix="" list_name="" layout="list" ajax="0"/>
<div class="filter-block">
<div class="paginate">
<a href="#prev" class="prev"><img src="<inp2:m_TemplatesBase/>img/arrow-left.png" width="7" height="13" alt="" /></a>&nbsp;
Products
<select id="paginate">
<inp2:m_DefineElement name="option_page_current">
<option value="<inp2:m_param name='page'/>" selected><inp2:m_param name="from_record"/> - <inp2:m_param name="to_record"/></a>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="option_page_link">
<option value="<inp2:m_param name='page'/>"><inp2:m_param name="from_record"/> - <inp2:m_param name="to_record"/></a>
</inp2:m_DefineElement>
<inp2:$prefix_PaginationBar list_name="$list_name" current_render_as="option_page_current" link_render_as="option_page_link"/>
</select>
out of <inp2:p_TotalRecords/>&nbsp;
<a href="#next" class="next"><img src="<inp2:m_TemplatesBase/>img/arrow-right.png" width="7" height="13" alt="" /></a>
</div>
<div class="sortby">
<form method="post" action="<inp2:m_FormAction/>">
Sort by:
<select name="<inp2:p_CombinedSortingDropDownName/>" id="sorting">
<option value="Name|asc" <inp2:p_SortingSelected sorting="l1_Name|asc" selected='selected="selected"'/>>Name</option>
<option value="Price|asc" <inp2:p_SortingSelected sorting="Price|asc" selected='selected="selected"'/>>Price Low</option>
<option value="Price|desc" <inp2:p_SortingSelected sorting="Price|desc" selected='selected="selected"'/>>Price High</option>
<option value="CachedRating|asc" <inp2:p_SortingSelected sorting="CachedRating|asc" selected='selected="selected"'/>>Rating</option>
</select>&nbsp;&nbsp;
Per Page:
<select name="<inp2:{$prefix}_VarName type='PerPage'/>" id="per-page">
<option value="10" <inp2:$prefix_PerPageSelected per_page="10" selected='selected="selected"'/>>10</option>
<option value="20" <inp2:$prefix_PerPageSelected per_page="20" selected='selected="selected"'/>>20</option>
<option value="50" <inp2:$prefix_PerPageSelected per_page="50" selected='selected="selected"'/>>50</option>
<option value="-1" <inp2:$prefix_PerPageSelected per_page="-1" selected='selected="selected"'/>>All</option>
</select>&nbsp;&nbsp;
</form>
- <a href="#" id="per-page-all">Show All</a>
+ <a href="#" id="show-all">Show All</a>
</div>
<div class="display_switch">
<a href="#" class="switch_thumb" layout="<inp2:m_Param name='layout'/>"></a>
</div>
<script type="text/javascript">
$(document).ready(
function() {
$('a.switch_thumb').click(
function ($e) {
var $me = $(this);
if ( $me.attr('layout') == 'list' ) {
$me.addClass('swap');
$('ul.display').fadeOut(
'fast',
function() {
$me.attr('layout', 'grid');
ListManager.setParam('layout', 'grid');
$('div.items').removeClass('border-radius').addClass('items-alt');
$(this).fadeIn('fast').addClass('thumb_view');
}
);
}
else {
$me.removeClass('swap');
$('ul.display').fadeOut(
'fast',
function() {
$me.attr('layout', 'list');
ListManager.setParam('layout', 'list');
$('div.items').addClass('border-radius').removeClass('items-alt');
$(this).fadeIn('fast').removeClass('thumb_view');
}
);
}
return false;
}
);
$('#paginate').change(
function () {
ListManager.setParam('page', $(this).val(), true);
}
);
$('.prev, .next', '.paginate').click(
function ($e) {
var $option = $('option:selected', '#paginate')[ $(this).attr('class') ]();
if ( $option.length ) {
$('#paginate').val( $option.attr('value') ).change();
}
return false;
}
);
$('#sorting').change(
function ($e) {
ListManager.setParam('sort_by', $(this).val().replace('|', ','), true);
}
);
$('#per-page').change(
function ($e) {
var $per_page = $(this).val();
if ( $per_page == -1 ) {
ListManager.setParam('page', '');
}
ListManager.setParam('per_page', $per_page, true);
}
);
- $('#per-page-all').click(
+ $('#show-all').click(
function () {
+ ListManager.resetFilters(false);
$('#per-page').val(-1).change();
return false;
}
);
}
);
</script>
</div>
<div class="clear"></div>
\ No newline at end of file
Index: branches/1.0.x/elements/content_boxes/products.elm.tpl
===================================================================
--- branches/1.0.x/elements/content_boxes/products.elm.tpl (revision 14979)
+++ branches/1.0.x/elements/content_boxes/products.elm.tpl (revision 14980)
@@ -1,44 +1,50 @@
<inp2:m_DefaultParam prefix="" list_name="" layout="list"/>
<inp2:m_if check="m_Get" name="ajax" equals_to="yes">
<inp2:m_NoDebug/>
<inp2:m_Get name="list_prefix" result_to_var="prefix"/>
<inp2:m_Get name="list_name" result_to_var="list_name"/>
<inp2:m_Get name="layout" result_to_var="layout"/>
</inp2:m_if>
<inp2:$prefix_InitList list_name="$list_name" main_list="1"/>
<inp2:m_Include template="elements/content_boxes.elm" strip_nl="2"/>
<inp2:m_Include template="elements/product_elements.elm" strip_nl="2"/>
<inp2:m_if check="{$prefix}_TotalRecords" list_name="$list_name">
<inp2:m_Include template="elements/sorting.elm" list_name="$list_name" prefix="$prefix" layout="$layout" ajax="1"/>
<div class="items <inp2:m_if check='m_Param' name='layout' equals_to='list'>border-radius<inp2:m_else/>items-alt</inp2:m_if>">
<ul class="display<inp2:m_if check='m_Param' name='layout' equals_to='grid'> thumb_view</inp2:m_if>">
<inp2:$prefix_ListProducts list_name="$list_name" render_as="product_list_element"/>
</ul>
<div class="clear"></div>
<inp2:m_Include template="elements/pagination.elm" list_name="$list_name" prefix="$prefix" ajax="1"/>
</div>
<script type="text/javascript">
$(document).ready(
function () {
$('.compare-checkbox').click(
function ($e) {
var $me = $(this);
compare_product($me.val(), $me.is(':checked'));
}
);
$('.addtocart', '#products').click(add_to_cart_handler);
}
);
</script>
<inp2:m_else/>
No Products
</inp2:m_if>
+
+<inp2:m_include template="elements/filters.elm"/>
+
+<script type="text/javascript">
+ <inp2:item-filter_PrintList render_as="filter_counters_element" list_name="$list_name" prefix="$prefix" is_list="1"/>
+</script>
\ No newline at end of file
Index: branches/1.0.x/img/btn_reset_filter.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/1.0.x/img/btn_reset_filter.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/1.0.x/img/bg-block.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Event Timeline