Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F785117
modern-store
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Wed, Feb 12, 3:16 AM
Size
53 KB
Mime Type
text/x-diff
Expires
Fri, Feb 14, 3:16 AM (1 d, 13 h)
Engine
blob
Format
Raw Data
Handle
564177
Attached To
rTMST Themes.Modern-Store
modern-store
View Options
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'/>"/> <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'/>"/> <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>
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/>
<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>
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>
</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
Log In to Comment