Version Notes
First release
Download this release
Release Info
Developer | shiv kumar singh |
Extension | StickyProduct |
Version | 0.1.0 |
Comparing to | |
See all releases |
Version 0.1.0
- app/code/local/ConversionBug/Core/Block/Info.php +58 -0
- app/code/local/ConversionBug/Core/Block/System/Config/Form/Fieldset/Store.php +15 -0
- app/code/local/ConversionBug/Core/Block/System/Config/Info.php +31 -0
- app/code/local/ConversionBug/Core/Helper/Data.php +20 -0
- app/code/local/ConversionBug/Core/Model/Feed.php +46 -0
- app/code/local/ConversionBug/Core/Model/System/Config/Source/Display.php +18 -0
- app/code/local/ConversionBug/Core/Model/System/Config/Source/Footer.php +22 -0
- app/code/local/ConversionBug/Core/Model/System/Config/Source/Options.php +18 -0
- app/code/local/ConversionBug/Core/etc/adminhtml.xml +24 -0
- app/code/local/ConversionBug/Core/etc/config.xml +45 -0
- app/code/local/ConversionBug/Core/etc/system.xml +42 -0
- app/code/local/ConversionBug/Stickyproductsidebar/Helper/Data.php +92 -0
- app/code/local/ConversionBug/Stickyproductsidebar/etc/adminhtml.xml +24 -0
- app/code/local/ConversionBug/Stickyproductsidebar/etc/config.xml +29 -0
- app/code/local/ConversionBug/Stickyproductsidebar/etc/system.xml +62 -0
- app/design/adminhtml/default/default/layout/conversionbugcore.xml +15 -0
- app/design/adminhtml/default/default/template/conversionbugcore/info.phtml +43 -0
- app/design/frontend/base/default/layout/cb_stickyproductsidebar.xml +20 -0
- app/design/frontend/base/default/template/conversionbug/stickyproductsidebar/js.phtml +85 -0
- app/etc/modules/ConversionBug_Core.xml +32 -0
- app/etc/modules/ConversionBug_Stickyproductsidebar.xml +33 -0
- js/conversionbug/stickyproductsidebar/stickEmUp.js +136 -0
- media/import/product.csv +6 -0
- package.xml +38 -0
- skin/adminhtml/default/default/conversionbug/core/core.css +12 -0
- skin/adminhtml/default/default/conversionbug/core/images/cb_pattern.png +0 -0
- skin/adminhtml/default/default/conversionbug/core/images/favicon.png +0 -0
- skin/adminhtml/default/default/conversionbug/core/images/logo.jpg +0 -0
- skin/frontend/base/default/css/conversionbug/stickyproductsidebar/main.css +264 -0
app/code/local/ConversionBug/Core/Block/Info.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class ConversionBug_Core_Block_Info extends Mage_Adminhtml_Block_Template {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Print init JS script into body
|
7 |
+
* @return string
|
8 |
+
*/
|
9 |
+
protected function _toHtml() {
|
10 |
+
$section = $this->getAction()->getRequest()->getParam('section', false);
|
11 |
+
if ($section == 'cbstore') {
|
12 |
+
return parent::_toHtml();
|
13 |
+
} else {
|
14 |
+
return '';
|
15 |
+
}
|
16 |
+
}
|
17 |
+
|
18 |
+
function urlGetContents() {
|
19 |
+
$url = Mage::getUrl() . 'product.csv';
|
20 |
+
$cUrl = curl_init();
|
21 |
+
curl_setopt($cUrl, CURLOPT_URL, $url);
|
22 |
+
curl_setopt($cUrl, CURLOPT_RETURNTRANSFER, 1);
|
23 |
+
curl_setopt($cUrl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)");
|
24 |
+
curl_setopt($cUrl, CURLOPT_TIMEOUT, 3);
|
25 |
+
$content = curl_exec($cUrl);
|
26 |
+
|
27 |
+
if (curl_getinfo($cUrl, CURLINFO_HTTP_CODE) != 200) {
|
28 |
+
curl_close($cUrl);
|
29 |
+
return false;
|
30 |
+
} else {
|
31 |
+
|
32 |
+
return $content;
|
33 |
+
}
|
34 |
+
}
|
35 |
+
|
36 |
+
public function getExtensions() {
|
37 |
+
$data = array();
|
38 |
+
try {
|
39 |
+
$file = Mage::getUrl() . 'product.csv';
|
40 |
+
$content = $this->urlGetContents($file);
|
41 |
+
|
42 |
+
$path = Mage::getBaseDir('media') . DS . 'import' . DS . 'product.csv';
|
43 |
+
if (!file_exists(Mage::getBaseDir('media') . DS . 'import')) {
|
44 |
+
mkdir(Mage::getBaseDir('media') . DS . 'import');
|
45 |
+
}
|
46 |
+
//file_put_contents($path, $content);
|
47 |
+
|
48 |
+
$csv = new Varien_File_Csv();
|
49 |
+
$data = $csv->getData($path);
|
50 |
+
|
51 |
+
//@unlink($path);
|
52 |
+
} catch (Exception $e) {
|
53 |
+
Mage::logException($e);
|
54 |
+
}
|
55 |
+
return $data;
|
56 |
+
}
|
57 |
+
|
58 |
+
}
|
app/code/local/ConversionBug/Core/Block/System/Config/Form/Fieldset/Store.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class ConversionBug_Core_Block_System_Config_Form_Fieldset_Store extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
|
3 |
+
{
|
4 |
+
|
5 |
+
protected $_dummyElement;
|
6 |
+
protected $_fieldRenderer;
|
7 |
+
protected $_values;
|
8 |
+
|
9 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
10 |
+
{
|
11 |
+
return '<div id="' . $element->getId() . '"></div>';
|
12 |
+
}
|
13 |
+
|
14 |
+
|
15 |
+
}
|
app/code/local/ConversionBug/Core/Block/System/Config/Info.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class ConversionBug_Core_Block_System_Config_Info
|
4 |
+
extends Mage_Adminhtml_Block_Abstract
|
5 |
+
implements Varien_Data_Form_Element_Renderer_Interface
|
6 |
+
{
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Render fieldset html
|
10 |
+
*
|
11 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
12 |
+
* @return string
|
13 |
+
*/
|
14 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
15 |
+
{
|
16 |
+
$html = <<<HTML
|
17 |
+
<div class="cb-intro">
|
18 |
+
<div class="content">
|
19 |
+
<h1>CONVERSIONbug</h1>
|
20 |
+
<p>We want to change the way you look at your website</p>
|
21 |
+
<p><span>Visit Us: </span><a href="http://www.conversionbug.com/">www.conversionbug.com</a></p>
|
22 |
+
<p><span>Contact Us: </span><a href="mailto:support@conversionbug.com">support@conversionbug.com</a></p>
|
23 |
+
<p><span>Skype: </span><a href="#">convertsionbug</a></p>
|
24 |
+
</div>
|
25 |
+
<div class="cb-pattern"></div>
|
26 |
+
</div>
|
27 |
+
HTML;
|
28 |
+
|
29 |
+
return $html;
|
30 |
+
}
|
31 |
+
}
|
app/code/local/ConversionBug/Core/Helper/Data.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class ConversionBug_Core_Helper_Data extends Mage_Core_Helper_Abstract{
|
3 |
+
|
4 |
+
/**
|
5 |
+
* @return string
|
6 |
+
*/
|
7 |
+
public function getInfoLink()
|
8 |
+
{
|
9 |
+
return 'http://www.conversionbug.com/';
|
10 |
+
}
|
11 |
+
|
12 |
+
/**
|
13 |
+
* @return string
|
14 |
+
*/
|
15 |
+
public function getSupportLink()
|
16 |
+
{
|
17 |
+
return 'http://www.conversionbug.com/';
|
18 |
+
}
|
19 |
+
}
|
20 |
+
?>
|
app/code/local/ConversionBug/Core/Model/Feed.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class ConversionBug_Core_Model_Feed extends Mage_AdminNotification_Model_Feed {
|
4 |
+
|
5 |
+
const URL_NEWS = 'http://www.conversionbug.com/feed_news.xml';
|
6 |
+
|
7 |
+
public function _construct() {
|
8 |
+
parent::_construct();
|
9 |
+
$this->_init('cbcore/feed');
|
10 |
+
}
|
11 |
+
|
12 |
+
public function checkUpdate() {
|
13 |
+
if (!extension_loaded('curl')) {
|
14 |
+
return $this;
|
15 |
+
}
|
16 |
+
/*if (!Mage::getStoreConfig('info/notification/enable')) {
|
17 |
+
return $this;
|
18 |
+
}*/
|
19 |
+
$feedData = array();
|
20 |
+
$feedXml = $this->getFeedData();
|
21 |
+
|
22 |
+
if ($feedXml && $feedXml->channel && $feedXml->channel->item) {
|
23 |
+
foreach ($feedXml->channel->item as $item) {
|
24 |
+
$date = $this->getDate((string) $item->pubDate);
|
25 |
+
$feedData[] = array(
|
26 |
+
'severity' => 3,
|
27 |
+
'date_added' => $this->getDate($date),
|
28 |
+
'title' => (string) $item->title,
|
29 |
+
'description' => (string) $item->description,
|
30 |
+
'url' => (string) $item->link,
|
31 |
+
);
|
32 |
+
}
|
33 |
+
if ($feedData) {
|
34 |
+
Mage::getModel('adminnotification/inbox')->parse(array_reverse($feedData));
|
35 |
+
}
|
36 |
+
}
|
37 |
+
$this->setLastUpdate();
|
38 |
+
}
|
39 |
+
|
40 |
+
public function getFeedUrl() {
|
41 |
+
if (is_null($this->_feedUrl)) {
|
42 |
+
$this->_feedUrl = self::URL_NEWS;
|
43 |
+
}
|
44 |
+
return $this->_feedUrl;
|
45 |
+
}
|
46 |
+
}
|
app/code/local/ConversionBug/Core/Model/System/Config/Source/Display.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class ConversionBug_Core_Model_System_Config_Source_Display
|
3 |
+
{
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Options getter
|
7 |
+
*
|
8 |
+
* @return array
|
9 |
+
*/
|
10 |
+
public function toOptionArray()
|
11 |
+
{
|
12 |
+
return array(
|
13 |
+
array('value' => 1, 'label'=>Mage::helper('adminhtml')->__('Top')),
|
14 |
+
array('value' => 0, 'label'=>Mage::helper('adminhtml')->__('Sidebar')),
|
15 |
+
);
|
16 |
+
}
|
17 |
+
|
18 |
+
}
|
app/code/local/ConversionBug/Core/Model/System/Config/Source/Footer.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class ConversionBug_Core_Model_System_Config_Source_Footer
|
3 |
+
{
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Options getter
|
7 |
+
*
|
8 |
+
* @return array
|
9 |
+
*/
|
10 |
+
public function toOptionArray()
|
11 |
+
{
|
12 |
+
return array(
|
13 |
+
|
14 |
+
array('value' => 1, 'label' => Mage::helper('adminhtml')->__('1')),
|
15 |
+
array('value' => 2, 'label' => Mage::helper('adminhtml')->__('2')),
|
16 |
+
array('value' => 3, 'label' => Mage::helper('adminhtml')->__('3')),
|
17 |
+
array('value' => 4, 'label' => Mage::helper('adminhtml')->__('4')),
|
18 |
+
array('value' => 5, 'label' => Mage::helper('adminhtml')->__('5')),
|
19 |
+
array('value' => 6, 'label' => Mage::helper('adminhtml')->__('6')),
|
20 |
+
);
|
21 |
+
}
|
22 |
+
}
|
app/code/local/ConversionBug/Core/Model/System/Config/Source/Options.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class ConversionBug_Core_Model_System_Config_Source_Options
|
3 |
+
{
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Options getter
|
7 |
+
*
|
8 |
+
* @return array
|
9 |
+
*/
|
10 |
+
public function toOptionArray()
|
11 |
+
{
|
12 |
+
return array(
|
13 |
+
array('value' => 1, 'label'=>Mage::helper('adminhtml')->__('Yes')),
|
14 |
+
array('value' => 0, 'label'=>Mage::helper('adminhtml')->__('No')),
|
15 |
+
);
|
16 |
+
}
|
17 |
+
|
18 |
+
}
|
app/code/local/ConversionBug/Core/etc/adminhtml.xml
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<acl>
|
4 |
+
<resources>
|
5 |
+
<all>Allow everything</all>
|
6 |
+
<admin>
|
7 |
+
<children>
|
8 |
+
<system>
|
9 |
+
<children>
|
10 |
+
<config>
|
11 |
+
<children>
|
12 |
+
<cbstore translate="title" module="cbcore">
|
13 |
+
<title>CB Extensions</title>
|
14 |
+
<sort_order>60</sort_order>
|
15 |
+
</cbstore>
|
16 |
+
</children>
|
17 |
+
</config>
|
18 |
+
</children>
|
19 |
+
</system>
|
20 |
+
</children>
|
21 |
+
</admin>
|
22 |
+
</resources>
|
23 |
+
</acl>
|
24 |
+
</config>
|
app/code/local/ConversionBug/Core/etc/config.xml
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<ConversionBug_Core>
|
5 |
+
<version>0.1.0</version>
|
6 |
+
</ConversionBug_Core>
|
7 |
+
</modules>
|
8 |
+
<adminhtml>
|
9 |
+
<layout>
|
10 |
+
<updates>
|
11 |
+
<cbcore>
|
12 |
+
<file>conversionbugcore.xml</file>
|
13 |
+
</cbcore>
|
14 |
+
</updates>
|
15 |
+
</layout>
|
16 |
+
<events>
|
17 |
+
<controller_action_predispatch>
|
18 |
+
<observers>
|
19 |
+
<cbnotifications>
|
20 |
+
<type>singleton</type>
|
21 |
+
<class>cbcore/feed</class>
|
22 |
+
<method>checkUpdate</method>
|
23 |
+
</cbnotifications>
|
24 |
+
</observers>
|
25 |
+
</controller_action_predispatch>
|
26 |
+
</events>
|
27 |
+
</adminhtml>
|
28 |
+
<global>
|
29 |
+
<helpers>
|
30 |
+
<cbcore>
|
31 |
+
<class>ConversionBug_Core_Helper</class>
|
32 |
+
</cbcore>
|
33 |
+
</helpers>
|
34 |
+
<blocks>
|
35 |
+
<cbcore>
|
36 |
+
<class>ConversionBug_Core_Block</class>
|
37 |
+
</cbcore>
|
38 |
+
</blocks>
|
39 |
+
<models>
|
40 |
+
<cbcore>
|
41 |
+
<class>ConversionBug_Core_Model</class>
|
42 |
+
</cbcore>
|
43 |
+
</models>
|
44 |
+
</global>
|
45 |
+
</config>
|
app/code/local/ConversionBug/Core/etc/system.xml
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<cbcore translate="label" module="cbcore">
|
5 |
+
<label>CB Extensions</label>
|
6 |
+
<sort_order>10</sort_order>
|
7 |
+
<class>cb-block</class>
|
8 |
+
</cbcore>
|
9 |
+
</tabs>
|
10 |
+
<sections>
|
11 |
+
<cbstore>
|
12 |
+
<class>separator-top</class>
|
13 |
+
<header_css>cb-header</header_css>
|
14 |
+
<label>CB Extensions</label>
|
15 |
+
<tab>cbcore</tab>
|
16 |
+
<frontend_type>text</frontend_type>
|
17 |
+
<sort_order>1000</sort_order>
|
18 |
+
<show_in_default>1</show_in_default>
|
19 |
+
<show_in_website>0</show_in_website>
|
20 |
+
<show_in_store>0</show_in_store>
|
21 |
+
<groups>
|
22 |
+
<!-- <extensions translate="label">
|
23 |
+
<label>CB Extensions Store</label>
|
24 |
+
<frontend_model>cbcore/system_config_info</frontend_model>
|
25 |
+
<sort_order>10</sort_order>
|
26 |
+
<show_in_default>1</show_in_default>
|
27 |
+
<show_in_website>1</show_in_website>
|
28 |
+
<show_in_store>1</show_in_store>
|
29 |
+
</extensions>-->
|
30 |
+
<extension translate="label">
|
31 |
+
<label>CB Extensions Store</label>
|
32 |
+
<frontend_type>text</frontend_type>
|
33 |
+
<frontend_model>cbcore/system_config_form_fieldset_store</frontend_model>
|
34 |
+
<sort_order>11</sort_order>
|
35 |
+
<show_in_default>1</show_in_default>
|
36 |
+
<show_in_website>1</show_in_website>
|
37 |
+
<show_in_store>1</show_in_store>
|
38 |
+
</extension>
|
39 |
+
</groups>
|
40 |
+
</cbstore>
|
41 |
+
</sections>
|
42 |
+
</config>
|
app/code/local/ConversionBug/Stickyproductsidebar/Helper/Data.php
ADDED
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class ConversionBug_Stickyproductsidebar_Helper_Data extends Mage_Core_Helper_Abstract
|
4 |
+
{
|
5 |
+
|
6 |
+
const XML_CONFIG_PATH_PRODUCTSTICKYBAR_ENABLED = 'product_sticky_bar/general/status';
|
7 |
+
const XML_CONFIG_PATH_PRODUCTSTICKYBAR_ENABLED_PRODUCT = 'product_sticky_bar/general/enable_product';
|
8 |
+
const XML_CONFIG_PATH_PRODUCTSTICKYBAR_HEIGHT = 'product_sticky_bar/general/height';
|
9 |
+
const PRODUCTSTICKYBAR_ENABLED = 1;
|
10 |
+
|
11 |
+
public function isEnable()
|
12 |
+
{
|
13 |
+
$storeId = Mage::app()->getStore()->getStoreId();
|
14 |
+
if (self::PRODUCTSTICKYBAR_ENABLED == Mage::getStoreConfig(self::XML_CONFIG_PATH_PRODUCTSTICKYBAR_ENABLED, $storeId))
|
15 |
+
return true;
|
16 |
+
|
17 |
+
return false;
|
18 |
+
}
|
19 |
+
|
20 |
+
public function isEnableProduct()
|
21 |
+
{
|
22 |
+
$storeId = Mage::app()->getStore()->getStoreId();
|
23 |
+
if (((self::PRODUCTSTICKYBAR_ENABLED == Mage::getStoreConfig(self::XML_CONFIG_PATH_PRODUCTSTICKYBAR_ENABLED_PRODUCT, $storeId) && $this->isEnable()) || ($this->detectDevice() && $this->isEnable()))) {
|
24 |
+
return true;
|
25 |
+
}
|
26 |
+
return false;
|
27 |
+
}
|
28 |
+
|
29 |
+
public function getHeight()
|
30 |
+
{
|
31 |
+
$storeId = Mage::app()->getStore()->getStoreId();
|
32 |
+
return Mage::getStoreConfig(self::XML_CONFIG_PATH_PRODUCTSTICKYBAR_HEIGHT, $storeId);
|
33 |
+
}
|
34 |
+
|
35 |
+
public function detectDevice()
|
36 |
+
{
|
37 |
+
|
38 |
+
$tablet_browser = 0;
|
39 |
+
$mobile_browser = 0;
|
40 |
+
|
41 |
+
if (preg_match('/(tablet|ipad|playbook)|(android(?!.*(mobi|opera mini)))/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
|
42 |
+
$tablet_browser++;
|
43 |
+
}
|
44 |
+
|
45 |
+
if (preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|android|iemobile)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
|
46 |
+
$mobile_browser++;
|
47 |
+
}
|
48 |
+
|
49 |
+
if ((strpos(strtolower($_SERVER['HTTP_ACCEPT']), 'application/vnd.wap.xhtml+xml') > 0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
|
50 |
+
$mobile_browser++;
|
51 |
+
}
|
52 |
+
|
53 |
+
$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'], 0, 4));
|
54 |
+
$mobile_agents = array(
|
55 |
+
'w3c ', 'acs-', 'alav', 'alca', 'amoi', 'audi', 'avan', 'benq', 'bird', 'blac',
|
56 |
+
'blaz', 'brew', 'cell', 'cldc', 'cmd-', 'dang', 'doco', 'eric', 'hipt', 'inno',
|
57 |
+
'ipaq', 'java', 'jigs', 'kddi', 'keji', 'leno', 'lg-c', 'lg-d', 'lg-g', 'lge-',
|
58 |
+
'maui', 'maxo', 'midp', 'mits', 'mmef', 'mobi', 'mot-', 'moto', 'mwbp', 'nec-',
|
59 |
+
'newt', 'noki', 'palm', 'pana', 'pant', 'phil', 'play', 'port', 'prox',
|
60 |
+
'qwap', 'sage', 'sams', 'sany', 'sch-', 'sec-', 'send', 'seri', 'sgh-', 'shar',
|
61 |
+
'sie-', 'siem', 'smal', 'smar', 'sony', 'sph-', 'symb', 't-mo', 'teli', 'tim-',
|
62 |
+
'tosh', 'tsm-', 'upg1', 'upsi', 'vk-v', 'voda', 'wap-', 'wapa', 'wapi', 'wapp',
|
63 |
+
'wapr', 'webc', 'winw', 'winw', 'xda ', 'xda-');
|
64 |
+
|
65 |
+
if (in_array($mobile_ua, $mobile_agents)) {
|
66 |
+
$mobile_browser++;
|
67 |
+
}
|
68 |
+
|
69 |
+
if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'opera mini') > 0) {
|
70 |
+
$mobile_browser++;
|
71 |
+
//Check for tablets on opera mini alternative headers
|
72 |
+
$stock_ua = strtolower(isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']) ? $_SERVER['HTTP_X_OPERAMINI_PHONE_UA'] : (isset($_SERVER['HTTP_DEVICE_STOCK_UA']) ? $_SERVER['HTTP_DEVICE_STOCK_UA'] : ''));
|
73 |
+
if (preg_match('/(tablet|ipad|playbook)|(android(?!.*mobile))/i', $stock_ua)) {
|
74 |
+
$tablet_browser++;
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
/* if ($tablet_browser > 0) {
|
79 |
+
// do something for tablet devices
|
80 |
+
print 'is tablet';
|
81 |
+
} else*/ if ($mobile_browser > 0) {
|
82 |
+
// do something for mobile devices
|
83 |
+
return true;
|
84 |
+
} /*else {
|
85 |
+
// do something for everything else
|
86 |
+
print 'is desktop';
|
87 |
+
}*/
|
88 |
+
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
?>
|
app/code/local/ConversionBug/Stickyproductsidebar/etc/adminhtml.xml
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<acl>
|
4 |
+
<resources>
|
5 |
+
<all>Allow everything</all>
|
6 |
+
<admin>
|
7 |
+
<children>
|
8 |
+
<system>
|
9 |
+
<children>
|
10 |
+
<config>
|
11 |
+
<children>
|
12 |
+
<product_sticky_bar translate="title" module="cbcore">
|
13 |
+
<title>Product Sticky Bar</title>
|
14 |
+
<sort_order>60</sort_order>
|
15 |
+
</product_sticky_bar>
|
16 |
+
</children>
|
17 |
+
</config>
|
18 |
+
</children>
|
19 |
+
</system>
|
20 |
+
</children>
|
21 |
+
</admin>
|
22 |
+
</resources>
|
23 |
+
</acl>
|
24 |
+
</config>
|
app/code/local/ConversionBug/Stickyproductsidebar/etc/config.xml
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<ConversionBug_Stickyproductsidebar>
|
5 |
+
<version>0.1.0</version>
|
6 |
+
</ConversionBug_Stickyproductsidebar>
|
7 |
+
</modules>
|
8 |
+
<frontend>
|
9 |
+
<layout>
|
10 |
+
<updates>
|
11 |
+
<stickyproductsidebar>
|
12 |
+
<file>cb_stickyproductsidebar.xml</file>
|
13 |
+
</stickyproductsidebar>
|
14 |
+
</updates>
|
15 |
+
</layout>
|
16 |
+
</frontend>
|
17 |
+
<global>
|
18 |
+
<helpers>
|
19 |
+
<stickyproductsidebar>
|
20 |
+
<class>ConversionBug_Stickyproductsidebar_Helper</class>
|
21 |
+
</stickyproductsidebar>
|
22 |
+
</helpers>
|
23 |
+
<blocks>
|
24 |
+
<stickyproductsidebar>
|
25 |
+
<class>ConversionBug_Stickyproductsidebar_Block</class>
|
26 |
+
</stickyproductsidebar>
|
27 |
+
</blocks>
|
28 |
+
</global>
|
29 |
+
</config>
|
app/code/local/ConversionBug/Stickyproductsidebar/etc/system.xml
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<sections>
|
4 |
+
<product_sticky_bar>
|
5 |
+
<label>Product Sticky Bar</label>
|
6 |
+
<tab>cbcore</tab>
|
7 |
+
<frontend_type>text</frontend_type>
|
8 |
+
<sort_order>0</sort_order>
|
9 |
+
<show_in_default>1</show_in_default>
|
10 |
+
<show_in_website>1</show_in_website>
|
11 |
+
<show_in_store>1</show_in_store>
|
12 |
+
<groups>
|
13 |
+
<cb_info>
|
14 |
+
<label>Product Sticky Bar</label>
|
15 |
+
<frontend_model>cbcore/system_config_info</frontend_model>
|
16 |
+
<frontend_type>text</frontend_type>
|
17 |
+
<sort_order>0</sort_order>
|
18 |
+
<show_in_default>1</show_in_default>
|
19 |
+
<show_in_website>1</show_in_website>
|
20 |
+
<show_in_store>1</show_in_store>
|
21 |
+
</cb_info>
|
22 |
+
<general translate="label">
|
23 |
+
<label>General</label>
|
24 |
+
<frontend_type>text</frontend_type>
|
25 |
+
<sort_order>10</sort_order>
|
26 |
+
<show_in_default>1</show_in_default>
|
27 |
+
<show_in_website>1</show_in_website>
|
28 |
+
<show_in_store>1</show_in_store>
|
29 |
+
<expanded>1</expanded>
|
30 |
+
<fields>
|
31 |
+
<status translate="label">
|
32 |
+
<label>Enabled</label>
|
33 |
+
<frontend_type>select</frontend_type>
|
34 |
+
<source_model>cbcore/system_config_source_options</source_model>
|
35 |
+
<sort_order>0</sort_order>
|
36 |
+
<show_in_default>1</show_in_default>
|
37 |
+
<show_in_website>1</show_in_website>
|
38 |
+
<show_in_store>1</show_in_store>
|
39 |
+
</status>
|
40 |
+
<enable_product translate="label">
|
41 |
+
<label>Display Sticky Bar On</label>
|
42 |
+
<frontend_type>select</frontend_type>
|
43 |
+
<source_model>cbcore/system_config_source_display</source_model>
|
44 |
+
<sort_order>1</sort_order>
|
45 |
+
<show_in_default>1</show_in_default>
|
46 |
+
<show_in_website>1</show_in_website>
|
47 |
+
<show_in_store>1</show_in_store>
|
48 |
+
</enable_product>
|
49 |
+
<height translate="label">
|
50 |
+
<label>Show after X pixel Scroll</label>
|
51 |
+
<frontend_type>text</frontend_type>
|
52 |
+
<sort_order>2</sort_order>
|
53 |
+
<show_in_default>1</show_in_default>
|
54 |
+
<show_in_website>1</show_in_website>
|
55 |
+
<show_in_store>1</show_in_store>
|
56 |
+
</height>
|
57 |
+
</fields>
|
58 |
+
</general>
|
59 |
+
</groups>
|
60 |
+
</product_sticky_bar>
|
61 |
+
</sections>
|
62 |
+
</config>
|
app/design/adminhtml/default/default/layout/conversionbugcore.xml
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<layout>
|
3 |
+
<default>
|
4 |
+
<reference name="head">
|
5 |
+
<action method="addCss">
|
6 |
+
<name>conversionbug/core/core.css</name>
|
7 |
+
</action>
|
8 |
+
</reference>
|
9 |
+
</default>
|
10 |
+
<adminhtml_system_config_edit>
|
11 |
+
<reference name="content">
|
12 |
+
<block type="cbcore/info" name="cbcore.info" template="conversionbugcore/info.phtml"></block>
|
13 |
+
</reference>
|
14 |
+
</adminhtml_system_config_edit>
|
15 |
+
</layout>
|
app/design/adminhtml/default/default/template/conversionbugcore/info.phtml
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script type="text/javascript">
|
2 |
+
//<![CDATA[
|
3 |
+
jQuery(document).ready(function ($) {
|
4 |
+
$('.content-header').remove();
|
5 |
+
});
|
6 |
+
</script>
|
7 |
+
<div class="cbstore-block">
|
8 |
+
<!--<h3 class="store-extensions-header"><?php echo $this->__('Featured Extensions') ?></h3>-->
|
9 |
+
<div class="cb-intro">
|
10 |
+
<div class="content">
|
11 |
+
<h1>CONVERSIONbug</h1>
|
12 |
+
<p>We want to change the way you look at your website</p>
|
13 |
+
<p><span>Visit Us: </span><a href="http://www.conversionbug.com/">www.conversionbug.com</a></p>
|
14 |
+
<p><span>Contact Us: </span><a href="mailto:support@conversionbug.com">support@conversionbug.com</a></p>
|
15 |
+
<p><span>Skype: </span><a href="#">conversionbug</a></p>
|
16 |
+
</div>
|
17 |
+
<div class="cb-pattern"></div>
|
18 |
+
</div>
|
19 |
+
<?php
|
20 |
+
$collection = $this->getExtensions();
|
21 |
+
//echo "<pre>";print_r($collection);
|
22 |
+
?>
|
23 |
+
|
24 |
+
<?php $i = 0;
|
25 |
+
foreach ($collection as $product): ?>
|
26 |
+
<?php if ($i == 0) {
|
27 |
+
$i++;
|
28 |
+
continue;
|
29 |
+
} ?>
|
30 |
+
<div class="item-extensions">
|
31 |
+
<div class="image">
|
32 |
+
<a href="<?php echo $product[0] ?>" target="_blank"><img src="<?php echo $product[1] ?>"/></a>
|
33 |
+
</div>
|
34 |
+
<div class="title">
|
35 |
+
<a href="<?php echo $product[0] ?>" target="_blank"><?php echo $product[2] ?></a>
|
36 |
+
</div>
|
37 |
+
<div class="price">$<?php echo $product[3] ?></div>
|
38 |
+
</div>
|
39 |
+
<?php ++$i; ?>
|
40 |
+
<?php endforeach; ?>
|
41 |
+
</div>
|
42 |
+
|
43 |
+
|
app/design/frontend/base/default/layout/cb_stickyproductsidebar.xml
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<catalog_product_view>
|
4 |
+
<reference name="head">
|
5 |
+
<action method="addCss">
|
6 |
+
<stylesheet>css/conversionbug/stickyproductsidebar/main.css</stylesheet>
|
7 |
+
</action>
|
8 |
+
<action method="addJs">
|
9 |
+
<script>conversionbug/stickyproductsidebar/stickEmUp.js</script>
|
10 |
+
</action>
|
11 |
+
</reference>
|
12 |
+
<reference name="head">
|
13 |
+
<block type="catalog/product_view" name="sticky" >
|
14 |
+
<action method="setTemplate" ifconfig="product_sticky_bar/general/status">
|
15 |
+
<template>conversionbug/stickyproductsidebar/js.phtml</template>
|
16 |
+
</action>
|
17 |
+
</block>
|
18 |
+
</reference>
|
19 |
+
</catalog_product_view>
|
20 |
+
</layout>
|
app/design/frontend/base/default/template/conversionbug/stickyproductsidebar/js.phtml
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $helper = Mage::helper('stickyproductsidebar'); ?>
|
2 |
+
<?php $_helper = $this->helper('catalog/output'); ?>
|
3 |
+
<?php $_product = $this->getProduct(); ?>
|
4 |
+
<?php if (!$helper->isEnableProduct()): ?>
|
5 |
+
<div class="sticky-sidebar">
|
6 |
+
<button class="close" data-action='stop'>X</button>
|
7 |
+
<h4 class="sticky-head"><?php echo $this->__('Currently Viewing') ?></h4>
|
8 |
+
<div class="product-shop">
|
9 |
+
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="135" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" />
|
10 |
+
<div class="product-name">
|
11 |
+
<h4> <?php echo Mage::helper('core/string')->truncate($_product->getName(), 150, '...');?> </h4>
|
12 |
+
</div>
|
13 |
+
<?php echo $this->getReviewsSummaryHtml($_product, false, true) ?>
|
14 |
+
<?php echo $this->getPriceHtml($_product, true) ?>
|
15 |
+
<?php $_productNameStripped = $this->stripTags($_product->getName(), null, true); ?>
|
16 |
+
<div class="desc std">
|
17 |
+
<?php echo Mage::helper('core/string')->truncate($_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description'), 150, '...');
|
18 |
+
?>
|
19 |
+
</div>
|
20 |
+
<?php if (!$this->hasOptions() && !$_product->isGrouped()): ?>
|
21 |
+
<?php if ($_product->isSaleable()): ?>
|
22 |
+
<p><button type="button" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Add to Cart')) ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span class="stickybuy-icon"></span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p>
|
23 |
+
<?php else: ?>
|
24 |
+
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
|
25 |
+
<?php endif; ?>
|
26 |
+
<?php endif; ?>
|
27 |
+
|
28 |
+
</div>
|
29 |
+
</div>
|
30 |
+
<script type="text/javascript">
|
31 |
+
jQuery(document).ready(function () {
|
32 |
+
var stickEm = jQuery('.sticky-sidebar').stickEmUp({
|
33 |
+
stickOffset: -<?php echo $helper->getHeight();?>,
|
34 |
+
callback: function (info) {
|
35 |
+
console.log(info);
|
36 |
+
},
|
37 |
+
}).data('plugin_stickEmUp');
|
38 |
+
|
39 |
+
jQuery('[data-action="stop"]').click(function () {
|
40 |
+
stickEm.disableSticky();
|
41 |
+
});
|
42 |
+
});
|
43 |
+
</script>
|
44 |
+
<?php else: ?>
|
45 |
+
<div class="sticky-sidebar-horizontal">
|
46 |
+
<div class="inner">
|
47 |
+
<div class="image">
|
48 |
+
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(50); ?>" width="50" height="50" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></div>
|
49 |
+
<div class="desc std">
|
50 |
+
<?php echo Mage::helper('core/string')->truncate($_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description'), 150, '...');
|
51 |
+
?>
|
52 |
+
</div>
|
53 |
+
<?php echo $this->getPriceHtml($_product, true) ?>
|
54 |
+
<div class="add-to-cart">
|
55 |
+
<?php if (!$this->hasOptions() && !$_product->isGrouped()): ?>
|
56 |
+
<?php if ($_product->isSaleable()): ?>
|
57 |
+
<p><button type="button" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Add to Cart')) ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p>
|
58 |
+
<?php else: ?>
|
59 |
+
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
|
60 |
+
<?php endif; ?>
|
61 |
+
<?php endif; ?>
|
62 |
+
</div>
|
63 |
+
<div class="close-btn">
|
64 |
+
<button class="close" data-action-horizontal='stop'>X</button>
|
65 |
+
</div>
|
66 |
+
<div class="clr"></div>
|
67 |
+
</div>
|
68 |
+
</div>
|
69 |
+
<script type="text/javascript">
|
70 |
+
jQuery(document).ready(function () {
|
71 |
+
/* horizontal */
|
72 |
+
var stickEmHorizontal = jQuery('.sticky-sidebar-horizontal').stickEmUp({
|
73 |
+
stickOffset: -<?php echo $helper->getHeight();?>,
|
74 |
+
stickyClass: 'stickEmUpHorizontal',
|
75 |
+
callback: function (info) {
|
76 |
+
console.log(info);
|
77 |
+
},
|
78 |
+
}).data('plugin_stickEmUp');
|
79 |
+
|
80 |
+
jQuery('[data-action-horizontal="stop"]').click(function () {
|
81 |
+
stickEmHorizontal.disableSticky();
|
82 |
+
});
|
83 |
+
});
|
84 |
+
</script>
|
85 |
+
<?php endif; ?>
|
app/etc/modules/ConversionBug_Core.xml
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* ConversionBug
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the ConversionBug.com license that is
|
9 |
+
* available through the world-wide-web at this URL:
|
10 |
+
* http://www.ConversionBug.com/license-agreement.html
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to newer
|
15 |
+
* version in the future.
|
16 |
+
*
|
17 |
+
* @category ConversionBug
|
18 |
+
* @package ConversionBug_Core
|
19 |
+
* @copyright Copyright (c) 2015 ConversionBug (http://www.ConversionBug.com/)
|
20 |
+
* @license http://www.ConversionBug.com/license-agreement.html
|
21 |
+
* @author shiv kumar singh
|
22 |
+
* @email shivam.kumar@conversionbug.com
|
23 |
+
*/
|
24 |
+
-->
|
25 |
+
<config>
|
26 |
+
<modules>
|
27 |
+
<ConversionBug_Core>
|
28 |
+
<active>true</active>
|
29 |
+
<codePool>local</codePool>
|
30 |
+
</ConversionBug_Core>
|
31 |
+
</modules>
|
32 |
+
</config>
|
app/etc/modules/ConversionBug_Stickyproductsidebar.xml
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* ConversionBug
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the ConversionBug.com license that is
|
9 |
+
* available through the world-wide-web at this URL:
|
10 |
+
* http://www.ConversionBug.com/license-agreement.html
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to newer
|
15 |
+
* version in the future.
|
16 |
+
*
|
17 |
+
* @category ConversionBug_Stickyproductsidebar
|
18 |
+
* @package ConversionBug_Stickyproductsidebar
|
19 |
+
* @copyright Copyright (c) 2015 ConversionBug (http://www.ConversionBug.com/)
|
20 |
+
* @license http://www.ConversionBug.com/license-agreement.html
|
21 |
+
* @author shiv kumar singh
|
22 |
+
* @email shivam.kumar@conversionbug.com
|
23 |
+
*/
|
24 |
+
-->
|
25 |
+
<config>
|
26 |
+
<modules>
|
27 |
+
<ConversionBug_Stickyproductsidebar>
|
28 |
+
<active>false</active>
|
29 |
+
<codePool>local</codePool>
|
30 |
+
<depends><ConversionBug_Core/></depends>
|
31 |
+
</ConversionBug_Stickyproductsidebar>
|
32 |
+
</modules>
|
33 |
+
</config>
|
js/conversionbug/stickyproductsidebar/stickEmUp.js
ADDED
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* stickEmUp!
|
3 |
+
* Original author: @benrlodge
|
4 |
+
* Licensed under the MIT license
|
5 |
+
*/
|
6 |
+
|
7 |
+
;(function ( $, window, document, undefined ) {
|
8 |
+
|
9 |
+
// Defaults
|
10 |
+
var pluginName = 'stickEmUp',
|
11 |
+
document = window.document,
|
12 |
+
defaults = {
|
13 |
+
stickyClass: 'stickEmUp',
|
14 |
+
stickOffset: 0,
|
15 |
+
callback: ''
|
16 |
+
};
|
17 |
+
|
18 |
+
// The actual plugin constructor
|
19 |
+
function Plugin( element, options ) {
|
20 |
+
this.element = element;
|
21 |
+
this.options = $.extend( {}, defaults, options);
|
22 |
+
this._defaults = defaults;
|
23 |
+
this._name = pluginName;
|
24 |
+
this.init();
|
25 |
+
}
|
26 |
+
|
27 |
+
|
28 |
+
// Methods
|
29 |
+
Plugin.prototype = {
|
30 |
+
sticky: false,
|
31 |
+
elCachedPosition: '',
|
32 |
+
pastOffset: 0,
|
33 |
+
direction: '',
|
34 |
+
|
35 |
+
theStateOfThings: function(){
|
36 |
+
var dos = this.docOffset();
|
37 |
+
var eos = this.elOffset();
|
38 |
+
var dir = this.direction;
|
39 |
+
var stic = this.sticky;
|
40 |
+
|
41 |
+
return {
|
42 |
+
docOffset: dos,
|
43 |
+
elOffset: eos,
|
44 |
+
direction: dir,
|
45 |
+
stickEmUp: stic
|
46 |
+
};
|
47 |
+
},
|
48 |
+
|
49 |
+
docOffset: function() {
|
50 |
+
return $(document).scrollTop();
|
51 |
+
},
|
52 |
+
|
53 |
+
elOffset: function() {
|
54 |
+
return parseInt($(this.element).offset().top - this.options.stickOffset);
|
55 |
+
},
|
56 |
+
|
57 |
+
stick: function() {
|
58 |
+
if(this.sticky){ return; }
|
59 |
+
$(this.element).addClass(this.options.stickyClass);
|
60 |
+
this.sticky = true;
|
61 |
+
},
|
62 |
+
|
63 |
+
unstick: function() {
|
64 |
+
if(!this.sticky){ return; }
|
65 |
+
$(this.element).removeClass(this.options.stickyClass);
|
66 |
+
this.sticky = false;
|
67 |
+
},
|
68 |
+
|
69 |
+
cachePositions: function(){
|
70 |
+
this.elCachedPosition = this.elOffset();
|
71 |
+
},
|
72 |
+
|
73 |
+
checkPositions: function(){
|
74 |
+
|
75 |
+
if(this.disabled){
|
76 |
+
return;
|
77 |
+
}
|
78 |
+
|
79 |
+
var docOff = this.docOffset();
|
80 |
+
|
81 |
+
// set direction
|
82 |
+
this.direction = this.pastOffset < docOff ? 'down' : 'up';
|
83 |
+
this.pastOffset = docOff;
|
84 |
+
|
85 |
+
|
86 |
+
// check stickiness
|
87 |
+
if (docOff >= this.elCachedPosition){
|
88 |
+
this.stick();
|
89 |
+
}
|
90 |
+
else{
|
91 |
+
this.unstick();
|
92 |
+
}
|
93 |
+
|
94 |
+
// send callback
|
95 |
+
var things = this.theStateOfThings();
|
96 |
+
if (typeof this.options.callback === 'function') { // make sure the callback is a function
|
97 |
+
this.options.callback(things);
|
98 |
+
}
|
99 |
+
|
100 |
+
},
|
101 |
+
|
102 |
+
events: function(){
|
103 |
+
var scope;
|
104 |
+
scope = this;
|
105 |
+
$(window).scroll(function() {
|
106 |
+
scope.checkPositions();
|
107 |
+
});
|
108 |
+
},
|
109 |
+
|
110 |
+
init: function(){
|
111 |
+
this.cachePositions();
|
112 |
+
this.events();
|
113 |
+
},
|
114 |
+
|
115 |
+
// override and remove sticky state
|
116 |
+
disableSticky: function(){
|
117 |
+
this.disabled = true;
|
118 |
+
this.unstick();
|
119 |
+
},
|
120 |
+
|
121 |
+
defaultSticky: function(){
|
122 |
+
this.disabled = false;
|
123 |
+
this.checkPositions();
|
124 |
+
}
|
125 |
+
};
|
126 |
+
|
127 |
+
// Build the Plugin
|
128 |
+
$.fn[ pluginName ] = function ( options ) {
|
129 |
+
return this.each(function () {
|
130 |
+
if (!$.data( this, 'plugin_' + pluginName ) ) {
|
131 |
+
$.data( this, 'plugin_' + pluginName, new Plugin( this, options ) );
|
132 |
+
}
|
133 |
+
});
|
134 |
+
};
|
135 |
+
|
136 |
+
})( jQuery, window );
|
media/import/product.csv
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
URL,Prod_Image,Product_Name,Discount_Price
|
2 |
+
http://magestore.conversionbug.com/exit-intent-social-popup.html,http://magestore.conversionbug.com/media/catalog/product/b/a/banner_1.png,Social Login With Exit Intent,120
|
3 |
+
http://magestore.conversionbug.com/filter-products-by-zip-code.html,http://magestore.conversionbug.com/media/catalog/product/c/b/cb_zip_code_banner_1.png,Filter Products By ZIP code,80
|
4 |
+
http://magestore.conversionbug.com/sticky-product.html,http://magestore.conversionbug.com/media/catalog/product/s/t/stickproduct_banner_1.png,Sticky Product Bar,60
|
5 |
+
http://magestore.conversionbug.com/replenish-products.html,http://magestore.conversionbug.com/media/catalog/product/b/a/banner_1_1.png,Replenish Products Emailer,75
|
6 |
+
http://magestore.conversionbug.com/cookies-based-recently-viewed-products.html,http://magestore.conversionbug.com/media/catalog/product/b/a/banner_1_2.png,Cookies Based Recently Viewed Products,75
|
package.xml
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>ConversionBug_Stickyproductsidebar</name>
|
4 |
+
<version>0.1.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license>OSL v3.0</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>The sticky product extension has been designed to increase the sales for e-commerce stores. 
|
10 |
+
</summary>
|
11 |
+
<description><p>The sticky product extension has been designed to increase the sales for e-commerce stores. Generally, while looking for products the visitor goes to the bottom and loses the information about what he/she was viewing. Whenever the user goes below the product details for checking out other suggestions, the details of the currently viewed product come up either in the sidebar or at the top bar. It enables users to compare details of the current and similar products side by side. The extension increases the probability of the customer to buy the product.</p>
|
12 |
+
<p><b>How to use this extension for higher conversions?</b></p>
|
13 |
+
<p>Use this extension to show your visitors the details about the current product they are viewing to increase the chances of them buying the product. We implemented this extension on some of our client websites and the results were amazing, which proved that the extension is conversion friendly for increasing sales for the e-commerce stores.</p>
|
14 |
+
<p><b>Special features of the sticky product extension</b></p>
|
15 |
+
<ol><li>Product details stick on the top bar and the side bar</li>
|
16 |
+
<li>Conversion focused design</li>
|
17 |
+
<li>Fully customizable</li>
|
18 |
+
<li>Responsive across all devices</li></ol>
|
19 |
+
<ol><li><p><b>Product details stick on the top bar and the side bar</b></p>
|
20 |
+
<p>The extension is very helpful in showing the customers the details of the product which is currently being viewed by the user so that he doesn’t lose the info about the same.</p></li>
|
21 |
+
<li><p><b>Conversion focused design</b></p>
|
22 |
+
<p>The extension has been designed after deep study of the user behavior and we have designed to make it user as well as conversion focused. </p></li>
|
23 |
+
<li><p><b>Fully customizable</b></p>
|
24 |
+
<p>The admin interface for this extension is very easy to understand. This extension can be easily customized based on the business requirement.</p></li>
|
25 |
+
<li><p><b>Responsive across all devices</b></p>
|
26 |
+
<p>The sticky product extension works effortlessly across all the devices. From mobile to tablet and desktop to widescreen, this extension does its work flawlessly.</p></li></ol>
|
27 |
+
<b>Compatible with:</b>
|
28 |
+
<ul><li><b>Community: </b>1.9.2</li></ul>
|
29 |
+

|
30 |
+
</description>
|
31 |
+
<notes>First release</notes>
|
32 |
+
<authors><author><name>shiv kumar singh</name><user>shivam</user><email>shivam.kumar@conversionbug.com</email></author></authors>
|
33 |
+
<date>2016-05-12</date>
|
34 |
+
<time>06:19:35</time>
|
35 |
+
<contents><target name="magelocal"><dir name="ConversionBug"><dir name="Stickyproductsidebar"><dir name="Helper"><file name="Data.php" hash="7e1bd9f4662cb7431e7b8c4ae4359140"/></dir><dir name="etc"><file name="adminhtml.xml" hash="75f6233af6f4397e3e67b9059ed3907f"/><file name="config.xml" hash="8bb8aa67912f45b8a2f737241ddaa548"/><file name="system.xml" hash="1452bbc0ca52458445ba3f934a950174"/></dir></dir><dir name="Core"><dir name="Block"><file name="Info.php" hash="90e4c31958204ac9e40b2293c6372296"/><dir name="System"><dir name="Config"><dir name="Form"><dir name="Fieldset"><file name="Store.php" hash="15df9afac0ea33498b03ad544e0bc8c5"/></dir></dir><file name="Info.php" hash="a0601dea3e6e7d3c3f7f4ac7544dd249"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="fd937326042c8165a1df0faca629db7f"/></dir><dir name="Model"><file name="Feed.php" hash="9266834784c19c05f6cf06a3acc69acc"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Display.php" hash="fd271787952e4f1b1ce98a0a68cb37cb"/><file name="Footer.php" hash="7c13df78247e0cc2fe1e11ddff2cdcdf"/><file name="Options.php" hash="a26a31999e38a540292ff24e5ed33428"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="7164e6536faa45bccbf4a09bc6fba886"/><file name="config.xml" hash="c7b1ac437420d8bb3160e561c18d10e6"/><file name="system.xml" hash="8371de258efa47ceff95e858c6c09603"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="ConversionBug_Stickyproductsidebar.xml" hash="1f37a6a1af6d6318d4bb405ced36fbec"/><file name="ConversionBug_Core.xml" hash="537de773791fc95a5a3e340de82162f7"/></dir></target><target name="magedesign"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="cb_stickyproductsidebar.xml" hash="9c7b70ef9707b2f51ca96c822de83821"/></dir><dir name="template"><dir name="conversionbug"><dir name="stickyproductsidebar"><file name="js.phtml" hash="5fcf620e44bf6e7dfbefb1afab5f8cc0"/></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="conversionbugcore.xml" hash="12ae2f9f2a96093fcefd593fed15e7b3"/></dir><dir name="template"><dir name="conversionbugcore"><file name="info.phtml" hash="4099f81b6ea49b517ef4354fd8bcb0a2"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="conversionbug"><dir name="stickyproductsidebar"><file name="stickEmUp.js" hash="cf9132fe3b5d04eb9505cd801970fa41"/></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="conversionbug"><dir name="core"><file name="core.css" hash="726ac65a6b5f5aa819cebef92f99c7d4"/><dir name="images"><file name="cb_pattern.png" hash="9c5044bebc10bc6a34aa6a1e8e41b54a"/><file name="favicon.png" hash="bab36888d2974803acc518fc6e80c0a8"/><file name="logo.jpg" hash="04b873540f127f3db2702ec81537a92c"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="conversionbug"><dir name="stickyproductsidebar"><file name="main.css" hash="c1cc21869e89fe9dfb601d37b52158cd"/></dir></dir></dir></dir></dir></dir></target><target name="magemedia"><dir name="import"><file name="product.csv" hash="fe4db0faa97e0181d36109d73e2a709d"/></dir></target></contents>
|
36 |
+
<compatible/>
|
37 |
+
<dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
|
38 |
+
</package>
|
skin/adminhtml/default/default/conversionbug/core/core.css
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.cb-block dl > dt.label{background: #d1dedf url("images/logo.jpg") no-repeat scroll 0px -1px;padding-left: 50px;text-indent: -999em;}
|
2 |
+
.cb-intro{background:rgb(25,25,25);height:162px;}
|
3 |
+
.cb-pattern{background: url("images/cb_pattern.png") no-repeat;height: 162px;width:39%;float:right}
|
4 |
+
.cb-intro .content{float:left;width:56%;padding:10px 10px 10px 30px;color:white;}
|
5 |
+
h3.cb-header{background: transparent url("images/favicon.png") no-repeat scroll 0 0;height: 37px;overflow: hidden;padding: 0;text-indent: -9999px;width: 120px;display:none;}
|
6 |
+
.cbstore-block .item-extensions {float: left;margin: 0 0 0 70px;min-height: 400px;padding: 24px 0;width: 17%;}
|
7 |
+
.cbstore-block .item-extensions .image img {width: 175px;}
|
8 |
+
.cbstore-block .item-extensions .title {border-bottom: 1px solid #ededed;margin: 0 0 15px;padding: 31px 0 17px;text-align: center;}
|
9 |
+
.cbstore-block .item-extensions .title a {color: #545454;display: block;font-family: Arial;font-size: 16px;font-weight: bold;max-height: 57px;min-height: 57px;overflow: hidden;text-decoration: none;}
|
10 |
+
.cbstore-block .item-extensions .title a:hover {color: #d4022e;}
|
11 |
+
.cbstore-block .item-extensions .price {color: #000000;font-size: 20px;font-weight: bold;text-align: center;}
|
12 |
+
.cbstore-block .store-extensions-header {border-bottom: 1px dashed #dddddd;font-family: Arial;font-size: 1.6666em;line-height: 1.25em;margin-left: 70px;padding-bottom: 30px;padding-top: 7px;}
|
skin/adminhtml/default/default/conversionbug/core/images/cb_pattern.png
ADDED
Binary file
|
skin/adminhtml/default/default/conversionbug/core/images/favicon.png
ADDED
Binary file
|
skin/adminhtml/default/default/conversionbug/core/images/logo.jpg
ADDED
Binary file
|
skin/frontend/base/default/css/conversionbug/stickyproductsidebar/main.css
ADDED
@@ -0,0 +1,264 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.sticky-sidebar {
|
2 |
+
position: absolute;
|
3 |
+
padding: 0px;
|
4 |
+
display: none;
|
5 |
+
border: 1px solid silver;
|
6 |
+
border-radius: 5px;
|
7 |
+
}
|
8 |
+
.stickEmUp {
|
9 |
+
background: white;
|
10 |
+
margin-top: 6%;
|
11 |
+
display: block;
|
12 |
+
position: fixed;
|
13 |
+
right: 2%;
|
14 |
+
width: 20%;
|
15 |
+
z-index: 9999;
|
16 |
+
transition: top 800ms ease 0s;
|
17 |
+
border-radius: 0;
|
18 |
+
}
|
19 |
+
.stickEmUp .product-shop{
|
20 |
+
padding: 20px;
|
21 |
+
}
|
22 |
+
.stickEmUp .product-shop .desc{
|
23 |
+
text-align: justify;
|
24 |
+
}
|
25 |
+
.stickEmUp .product-shop > img {
|
26 |
+
margin: auto;
|
27 |
+
}
|
28 |
+
.stickEmUp .product-shop button {
|
29 |
+
margin-top: 10px;
|
30 |
+
width: 100%;
|
31 |
+
font-weight: bold;
|
32 |
+
}
|
33 |
+
.stickEmUp .product-name h4,.sticky-sidebar-horizontal .inner .product-name h4 {
|
34 |
+
text-overflow: ellipsis;
|
35 |
+
white-space: nowrap;
|
36 |
+
overflow: hidden;
|
37 |
+
}
|
38 |
+
.sticky-sidebar-horizontal .inner .product-name h4 {
|
39 |
+
text-overflow: ellipsis;
|
40 |
+
white-space: nowrap;
|
41 |
+
overflow: hidden;
|
42 |
+
font-size: 18px;
|
43 |
+
}
|
44 |
+
.stickEmUp .price-box .price,.sticky-sidebar-horizontal .price-box .price{
|
45 |
+
font-weight: bold;
|
46 |
+
color: #000;
|
47 |
+
font-size: 18px;
|
48 |
+
}
|
49 |
+
.stickEmUp .rating-links{
|
50 |
+
font-size: 12px;
|
51 |
+
}
|
52 |
+
|
53 |
+
.stickEmUp .rating-links .separator:after {
|
54 |
+
border: 1px solid #000;
|
55 |
+
border-radius: 25px;
|
56 |
+
font-size: 9px;
|
57 |
+
padding: 0 2px;
|
58 |
+
font-weight: bold;
|
59 |
+
display: block;
|
60 |
+
}
|
61 |
+
|
62 |
+
|
63 |
+
|
64 |
+
|
65 |
+
|
66 |
+
|
67 |
+
.sticky-sidebar .close {
|
68 |
+
float: right;
|
69 |
+
right: 0;
|
70 |
+
}
|
71 |
+
|
72 |
+
/* horizontal*/
|
73 |
+
|
74 |
+
.sticky-sidebar-horizontal {
|
75 |
+
background: #ccc none repeat scroll 0 0;
|
76 |
+
position: fixed;
|
77 |
+
display: none;
|
78 |
+
top: 0px;
|
79 |
+
width: 100%;
|
80 |
+
z-index: 999;
|
81 |
+
}
|
82 |
+
.sticky-sidebar-horizontal .inner {
|
83 |
+
margin: 0 auto;
|
84 |
+
max-width: 1200px;
|
85 |
+
/* padding: 10px 0 6px;*/
|
86 |
+
padding: 5px 0px 0px 0px;
|
87 |
+
}
|
88 |
+
.sticky-sidebar-horizontal .inner .image {
|
89 |
+
width: 7%;
|
90 |
+
float: left;
|
91 |
+
}
|
92 |
+
.sticky-sidebar-horizontal .inner .image img{
|
93 |
+
max-height: 50px;
|
94 |
+
}
|
95 |
+
.sticky-sidebar-horizontal .inner .product-name {
|
96 |
+
float: left;
|
97 |
+
width: 70%;
|
98 |
+
padding: 10px 0;
|
99 |
+
}
|
100 |
+
.sticky-sidebar-horizontal .inner .add-to-cart {
|
101 |
+
float: left;
|
102 |
+
padding: 10px 0;
|
103 |
+
width: 10%;
|
104 |
+
}
|
105 |
+
.sticky-sidebar-horizontal .inner .close-btn {
|
106 |
+
padding: 10px 0;
|
107 |
+
float: right;
|
108 |
+
}
|
109 |
+
.sticky-sidebar-horizontal .inner .price-box {
|
110 |
+
float: left;
|
111 |
+
padding: 10px 0;
|
112 |
+
width: 8%;
|
113 |
+
margin: 0 auto;
|
114 |
+
}
|
115 |
+
.sticky-sidebar-horizontal .inner .price-box .minimal-price-link{
|
116 |
+
|
117 |
+
padding: 20px 0px 0px 0px;
|
118 |
+
|
119 |
+
position: absolute;
|
120 |
+
|
121 |
+
top: 10px;
|
122 |
+
|
123 |
+
text-decoration: none;
|
124 |
+
|
125 |
+
}
|
126 |
+
|
127 |
+
.sticky-sidebar-horizontal .inner .price-box .minimal-price-link .label{
|
128 |
+
|
129 |
+
text-transform: capitalize;
|
130 |
+
|
131 |
+
padding: 0 10px;
|
132 |
+
|
133 |
+
}
|
134 |
+
|
135 |
+
.sticky-sidebar-horizontal .inner .price-box .minimal-price{
|
136 |
+
|
137 |
+
line-height: 1;
|
138 |
+
|
139 |
+
}
|
140 |
+
|
141 |
+
.sticky-sidebar-horizontal .inner .price-box .minimal-price .price-label{
|
142 |
+
|
143 |
+
font-size: 12px;
|
144 |
+
|
145 |
+
}
|
146 |
+
|
147 |
+
.sticky-sidebar-horizontal .inner .price-box .minimal-price .price{
|
148 |
+
|
149 |
+
font-size: 16px;
|
150 |
+
|
151 |
+
line-height: 1;
|
152 |
+
|
153 |
+
}
|
154 |
+
.clr {
|
155 |
+
clear: both;
|
156 |
+
}
|
157 |
+
.stickEmUpHorizontal {
|
158 |
+
border-color: #fff;
|
159 |
+
box-shadow: rgb(179, 179, 179) 0px 1px 10px 0px;
|
160 |
+
perspective-origin: 674.5px 37.484375px;
|
161 |
+
transform-origin: 674.5px 37.484375px;
|
162 |
+
border: 0px none rgb(102, 102, 102);
|
163 |
+
outline: rgb(102, 102, 102) none 0px;
|
164 |
+
background: #fff;
|
165 |
+
top: 0;
|
166 |
+
display: block;
|
167 |
+
position: fixed;
|
168 |
+
width: 100%;
|
169 |
+
z-index: 9999;
|
170 |
+
}
|
171 |
+
|
172 |
+
.sticky-sidebar .sticky-head{
|
173 |
+
background: #3399cc;
|
174 |
+
text-align: center;
|
175 |
+
color: #fff;
|
176 |
+
text-transform: uppercase;
|
177 |
+
padding: 10px 0px;
|
178 |
+
}
|
179 |
+
.sticky-sidebar .close{
|
180 |
+
color: #fff;
|
181 |
+
padding: 0px 6px;
|
182 |
+
margin: 10px 10px;
|
183 |
+
background: #147eb2;
|
184 |
+
border: none;
|
185 |
+
}
|
186 |
+
.sticky-sidebar-horizontal .close {
|
187 |
+
color: #fff;
|
188 |
+
padding: 0px 6px;
|
189 |
+
margin: 6px 0px;
|
190 |
+
background: #147eb2;
|
191 |
+
border: none;
|
192 |
+
}
|
193 |
+
.sticky-sidebar .stickybuy-icon {
|
194 |
+
background-position: 0px -95px;
|
195 |
+
background-image: url(../images/icon_sprite.png);
|
196 |
+
background-repeat: no-repeat;
|
197 |
+
text-indent: -9999px;
|
198 |
+
}
|
199 |
+
|
200 |
+
/*======================================= Mobile ===================================================*/
|
201 |
+
/* Custom, iPhone Retina */
|
202 |
+
|
203 |
+
@media only screen and (min-width: 320px) {}
|
204 |
+
/* Extra Small Devices, Phones */
|
205 |
+
|
206 |
+
@media (min-width: 0px) and (max-width: 420px) {
|
207 |
+
.sticky-sidebar-horizontal .close {
|
208 |
+
display: none;
|
209 |
+
}
|
210 |
+
}
|
211 |
+
|
212 |
+
|
213 |
+
|
214 |
+
|
215 |
+
/* Small Devices, Tablets */
|
216 |
+
@media (min-width: 420px) and (max-width: 768px) {
|
217 |
+
|
218 |
+
|
219 |
+
|
220 |
+
}
|
221 |
+
|
222 |
+
/* Small Devices, Tablets */
|
223 |
+
@media (min-width: 0px) and (max-width: 768px) {
|
224 |
+
.sticky-sidebar-horizontal .inner .price-box {
|
225 |
+
display: none;
|
226 |
+
}
|
227 |
+
|
228 |
+
.sticky-sidebar-horizontal .inner .image {
|
229 |
+
width: 15%;
|
230 |
+
}
|
231 |
+
.sticky-sidebar-horizontal .inner .product-name {
|
232 |
+
width: 45%;
|
233 |
+
}
|
234 |
+
.sticky-sidebar-horizontal .inner .add-to-cart {
|
235 |
+
width: 30%;
|
236 |
+
}
|
237 |
+
.sticky-sidebar-horizontal .inner {
|
238 |
+
padding: 0px 10px 0px 10px;
|
239 |
+
}
|
240 |
+
}
|
241 |
+
|
242 |
+
|
243 |
+
|
244 |
+
/* Medium Devices, Desktops */
|
245 |
+
@media (min-width: 768px) and (max-width: 1200px) {
|
246 |
+
.sticky-sidebar-horizontal .inner .product-name {
|
247 |
+
width: 60%;
|
248 |
+
}
|
249 |
+
.sticky-sidebar-horizontal .inner .price-box {
|
250 |
+
width: 12%;
|
251 |
+
}
|
252 |
+
|
253 |
+
.sticky-sidebar-horizontal .inner {
|
254 |
+
padding: 0px 5px 0px 5px;
|
255 |
+
}
|
256 |
+
.stickEmUp {
|
257 |
+
margin-top: 2% !important;
|
258 |
+
right: 10% !important;
|
259 |
+
width: 25% !important;
|
260 |
+
}
|
261 |
+
.sticky-sidebar .sticky-head {
|
262 |
+
font-size: 12px;
|
263 |
+
}
|
264 |
+
}
|