Version Notes
Stable version release
Download this release
Release Info
Developer | Magento Core Team |
Extension | BusinessKing_Footerlinks |
Version | 1.0.0.1 |
Comparing to | |
See all releases |
Version 1.0.0.1
- app/code/local/BusinessKing/Footerlinks/Block/Adminhtml/Linksdetail.php +56 -0
- app/code/local/BusinessKing/Footerlinks/Block/Page/Template/Links.php +68 -0
- app/code/local/BusinessKing/Footerlinks/Helper/Data.php +9 -0
- app/code/local/BusinessKing/Footerlinks/Model/Footer.php +39 -0
- app/code/local/BusinessKing/Footerlinks/Model/Mysql4/Query.php +76 -0
- app/code/local/BusinessKing/Footerlinks/controllers/Adminhtml/LinksdetailController.php +61 -0
- app/code/local/BusinessKing/Footerlinks/etc/config.xml +132 -0
- app/code/local/BusinessKing/Footerlinks/etc/system.xml +53 -0
- app/code/local/BusinessKing/Footerlinks/sql/footerlinks_setup/mysql4-install-0.1.0.php +35 -0
- app/design/adminhtml/default/default/template/footerlinks/linksdetail.phtml +166 -0
- app/design/frontend/default/default/layout/footerlinks.xml +8 -0
- app/design/frontend/default/default/template/footerlinks/page/links.phtml +220 -0
- app/etc/modules/BusinessKing_Footerlinks.xml +9 -0
- package.xml +18 -0
- skin/frontend/default/default/css/footer.css +31 -0
- skin/frontend/default/default/images/Search_icon_16X16.jpg +0 -0
- skin/frontend/default/default/images/icon_collapse.gif +0 -0
- skin/frontend/default/default/images/icon_expand.gif +0 -0
- skin/frontend/default/default/images/icon_minus.gif +0 -0
- skin/frontend/default/default/images/icon_plus.gif +0 -0
- skin/frontend/default/default/images/webdev-search-icon.jpg +0 -0
app/code/local/BusinessKing/Footerlinks/Block/Adminhtml/Linksdetail.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Footer links detail content block
|
5 |
+
*
|
6 |
+
* @category BusinessKing
|
7 |
+
* @package BusinessKing_Footerlinks
|
8 |
+
*/
|
9 |
+
class BusinessKing_Footerlinks_Block_Adminhtml_Linksdetail extends Mage_Adminhtml_Block_Template
|
10 |
+
{
|
11 |
+
protected function _construct()
|
12 |
+
{
|
13 |
+
$this->setTemplate('footerlinks/linksdetail.phtml');
|
14 |
+
}
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Retrieve Session Form Key
|
18 |
+
*
|
19 |
+
* @return string
|
20 |
+
*/
|
21 |
+
public function getFormKey()
|
22 |
+
{
|
23 |
+
return parent::getFormKey();
|
24 |
+
//return Mage::getSingleton('core/session')->getFormKey();
|
25 |
+
}
|
26 |
+
|
27 |
+
public function getFormUrl()
|
28 |
+
{
|
29 |
+
return $this->getUrl('adminfooterlinks/adminhtml_linksdetail/save');
|
30 |
+
}
|
31 |
+
|
32 |
+
public function getFooterLinks($linkId)
|
33 |
+
{
|
34 |
+
return Mage::getSingleton('footerlinks/footer')->getFooterLinks($linkId);
|
35 |
+
}
|
36 |
+
|
37 |
+
public function getParentName($linkId)
|
38 |
+
{
|
39 |
+
if ($linkId>0) {
|
40 |
+
$name = Mage::getSingleton('footerlinks/footer')->getParentName($linkId);
|
41 |
+
return ' - '.$name['name'];
|
42 |
+
}
|
43 |
+
else {
|
44 |
+
return '';
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
public function getLinkId()
|
49 |
+
{
|
50 |
+
$id = $this->getRequest()->getParam('id');
|
51 |
+
if(empty($id)) {
|
52 |
+
$id = 0;
|
53 |
+
}
|
54 |
+
return $id;
|
55 |
+
}
|
56 |
+
}
|
app/code/local/BusinessKing/Footerlinks/Block/Page/Template/Links.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Footerlinks content block
|
5 |
+
*
|
6 |
+
* @category BusinessKing
|
7 |
+
* @package BusinessKing_Footerlinks
|
8 |
+
*/
|
9 |
+
class BusinessKing_Footerlinks_Block_Page_Template_Links extends Mage_Page_Block_Template_Links
|
10 |
+
{
|
11 |
+
public function getTopSearches()
|
12 |
+
{
|
13 |
+
$collection = Mage::getModel('footerlinks/footer')
|
14 |
+
->getTopSearches();
|
15 |
+
|
16 |
+
return $collection;
|
17 |
+
}
|
18 |
+
|
19 |
+
public function getParentFooterLinks()
|
20 |
+
{
|
21 |
+
return Mage::getSingleton('footerlinks/footer')->getParentFooterLinks();
|
22 |
+
}
|
23 |
+
|
24 |
+
public function getFooterLinks($parentId, $isActive = '')
|
25 |
+
{
|
26 |
+
return Mage::getSingleton('footerlinks/footer')->getFooterLinks($parentId, $isActive);
|
27 |
+
}
|
28 |
+
|
29 |
+
public function getCategories()
|
30 |
+
{
|
31 |
+
$storeId = Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID;
|
32 |
+
$collection = $this->getData('category_collection');
|
33 |
+
if (is_null($collection)) {
|
34 |
+
$collection = Mage::getModel('catalog/category')->getCollection();
|
35 |
+
|
36 |
+
/* @var $collection Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection */
|
37 |
+
$collection->addAttributeToSelect('name')
|
38 |
+
->addAttributeToSelect('image')
|
39 |
+
->addAttributeToSelect('all_children')
|
40 |
+
->addAttributeToSelect('is_active')
|
41 |
+
->setProductStoreId($storeId)
|
42 |
+
->setLoadProductCount($this->_withProductCount)
|
43 |
+
->setStoreId($storeId);
|
44 |
+
|
45 |
+
//$this->setData('category_collection', $collection);
|
46 |
+
}
|
47 |
+
return $collection;
|
48 |
+
}
|
49 |
+
|
50 |
+
public function getSubcategories($categoryId)
|
51 |
+
{
|
52 |
+
$storeId = Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID;
|
53 |
+
$collection = $this->getData('category_collection');
|
54 |
+
if (is_null($collection)) {
|
55 |
+
$collection = Mage::getModel('catalog/category')->getCollection();
|
56 |
+
|
57 |
+
/* @var $collection Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection */
|
58 |
+
$collection->addAttributeToSelect('name')
|
59 |
+
->addAttributeToSelect('all_children')
|
60 |
+
->addAttributeToSelect('is_active')
|
61 |
+
->addFieldToFilter('parent_id',$categoryId)
|
62 |
+
->setProductStoreId($storeId)
|
63 |
+
->setLoadProductCount($this->_withProductCount)
|
64 |
+
->setStoreId($storeId);
|
65 |
+
}
|
66 |
+
return $collection;
|
67 |
+
}
|
68 |
+
}
|
app/code/local/BusinessKing/Footerlinks/Helper/Data.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Footer links data helper
|
5 |
+
*/
|
6 |
+
class BusinessKing_Footerlinks_Helper_Data extends Mage_Core_Helper_Abstract
|
7 |
+
{
|
8 |
+
|
9 |
+
}
|
app/code/local/BusinessKing/Footerlinks/Model/Footer.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BusinessKing_Footerlinks_Model_Footer extends Mage_Core_Model_Abstract
|
4 |
+
{
|
5 |
+
public function getTopSearches()
|
6 |
+
{
|
7 |
+
return Mage::getResourceSingleton('footerlinks/query')->getTopSearches();
|
8 |
+
}
|
9 |
+
|
10 |
+
public function getParentFooterLinks()
|
11 |
+
{
|
12 |
+
return Mage::getResourceSingleton('footerlinks/query')->getFooterLinks();
|
13 |
+
}
|
14 |
+
|
15 |
+
public function getFooterLinks($parentId, $isActive = '')
|
16 |
+
{
|
17 |
+
return Mage::getResourceSingleton('footerlinks/query')->getFooterLinks($parentId, $isActive);
|
18 |
+
}
|
19 |
+
|
20 |
+
public function getParentName($linkId)
|
21 |
+
{
|
22 |
+
return Mage::getResourceSingleton('footerlinks/query')->getParentName($linkId);
|
23 |
+
}
|
24 |
+
|
25 |
+
public function addLink($linkData)
|
26 |
+
{
|
27 |
+
Mage::getResourceSingleton('footerlinks/query')->addLink($linkData);
|
28 |
+
}
|
29 |
+
|
30 |
+
public function editLink($linkData, $linkId)
|
31 |
+
{
|
32 |
+
Mage::getResourceSingleton('footerlinks/query')->editLink($linkData, $linkId);
|
33 |
+
}
|
34 |
+
|
35 |
+
public function deleteLink($linkId)
|
36 |
+
{
|
37 |
+
Mage::getResourceSingleton('footerlinks/query')->deleteLink($linkId);
|
38 |
+
}
|
39 |
+
}
|
app/code/local/BusinessKing/Footerlinks/Model/Mysql4/Query.php
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class BusinessKing_Footerlinks_Model_Mysql4_Query extends Mage_Core_Model_Mysql4_Abstract
|
4 |
+
{
|
5 |
+
protected function _construct()
|
6 |
+
{
|
7 |
+
$this->_init('core/store', 'store_id');
|
8 |
+
}
|
9 |
+
|
10 |
+
public function getTopSearches()
|
11 |
+
{
|
12 |
+
$read = $this->_getReadAdapter();
|
13 |
+
|
14 |
+
$select = "SELECT query_id, query_text FROM ".$this->getTable('catalogsearch/search_query')." ORDER BY popularity DESC LIMIT 20";
|
15 |
+
|
16 |
+
$result = $read->fetchAll($select);
|
17 |
+
|
18 |
+
return $result;
|
19 |
+
}
|
20 |
+
|
21 |
+
/*public function getParentFooterLinks()
|
22 |
+
{
|
23 |
+
$read = $this->_getReadAdapter();
|
24 |
+
|
25 |
+
$select = "SELECT * FROM ".$this->getTable('footerlinks/info')." WHERE parent_id = 0";
|
26 |
+
|
27 |
+
$result = $read->fetchAll($select);
|
28 |
+
|
29 |
+
return $result;
|
30 |
+
}*/
|
31 |
+
|
32 |
+
public function getFooterLinks($parentId = 0, $isActive = '')
|
33 |
+
{
|
34 |
+
$read = $this->_getReadAdapter();
|
35 |
+
|
36 |
+
if (empty($isActive)) {
|
37 |
+
$select = "SELECT * FROM ".$this->getTable('footerlinks/info')." WHERE parent_id = ".$parentId;
|
38 |
+
}
|
39 |
+
else {
|
40 |
+
$select = "SELECT * FROM ".$this->getTable('footerlinks/info')." WHERE parent_id = ".$parentId." AND is_active = '".$isActive."'";
|
41 |
+
}
|
42 |
+
|
43 |
+
$result = $read->fetchAll($select);
|
44 |
+
|
45 |
+
return $result;
|
46 |
+
}
|
47 |
+
|
48 |
+
public function getParentName($linkId)
|
49 |
+
{
|
50 |
+
$read = $this->_getReadAdapter();
|
51 |
+
|
52 |
+
$select = "SELECT * FROM ".$this->getTable('footerlinks/info')." WHERE id = ".$linkId;
|
53 |
+
|
54 |
+
$result = $read->fetchRow($select);
|
55 |
+
|
56 |
+
return $result;
|
57 |
+
}
|
58 |
+
|
59 |
+
public function addLink($linkData)
|
60 |
+
{
|
61 |
+
$write = $this->_getWriteAdapter();
|
62 |
+
$write->insert($this->getTable('footerlinks/info'),$linkData);
|
63 |
+
}
|
64 |
+
|
65 |
+
public function editLink($linkData, $linkId)
|
66 |
+
{
|
67 |
+
$write = $this->_getWriteAdapter();
|
68 |
+
$write->update($this->getTable('footerlinks/info'),$linkData,'id = '.$linkId);
|
69 |
+
}
|
70 |
+
|
71 |
+
public function deleteLink($linkId)
|
72 |
+
{
|
73 |
+
$write = $this->_getWriteAdapter();
|
74 |
+
$write->delete($this->getTable('footerlinks/info'),'id = '.$linkId);
|
75 |
+
}
|
76 |
+
}
|
app/code/local/BusinessKing/Footerlinks/controllers/Adminhtml/LinksdetailController.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Footer links admin controller
|
5 |
+
*
|
6 |
+
* @category BusinessKing
|
7 |
+
* @package BusinessKing_Footerlinks
|
8 |
+
*/
|
9 |
+
class BusinessKing_Footerlinks_Adminhtml_LinksdetailController extends Mage_Adminhtml_Controller_Action
|
10 |
+
{
|
11 |
+
public function _initAction()
|
12 |
+
{
|
13 |
+
$this->loadLayout()
|
14 |
+
->_addBreadcrumb(Mage::helper('adminhtml')->__('Footer Links'), Mage::helper('adminhtml')->__('Footer Links'));
|
15 |
+
return $this;
|
16 |
+
}
|
17 |
+
|
18 |
+
public function indexAction()
|
19 |
+
{
|
20 |
+
$this->_initAction()
|
21 |
+
->_setActiveMenu('footerlinks')
|
22 |
+
->_addBreadcrumb(Mage::helper('adminhtml')->__('Footer Links'), Mage::helper('adminhtml')->__('Footer Links'))
|
23 |
+
->_addContent($this->getLayout()->createBlock('footerlinks/adminhtml_linksdetail'))
|
24 |
+
->renderLayout();
|
25 |
+
}
|
26 |
+
|
27 |
+
public function saveAction()
|
28 |
+
{
|
29 |
+
if ($this->getRequest()->isPost()) {
|
30 |
+
$action = $this->getRequest()->getPost('action_name');
|
31 |
+
$label = $this->getRequest()->getPost('label');
|
32 |
+
$url = $this->getRequest()->getPost('url');
|
33 |
+
$isActive = $this->getRequest()->getPost('is_active');
|
34 |
+
$linkData = array(
|
35 |
+
'name' => str_replace("%20"," ",$label),
|
36 |
+
'url' => $url,
|
37 |
+
'is_active' => $isActive
|
38 |
+
);
|
39 |
+
if ($action=="add") {
|
40 |
+
$linkData['parent_id'] = $this->getRequest()->getPost('parent_id');
|
41 |
+
Mage::getSingleton('footerlinks/footer')->addLink($linkData);
|
42 |
+
Mage::getSingleton('admin/session')->setData('FooterLinksMsg','Link added successfully');
|
43 |
+
}
|
44 |
+
else {
|
45 |
+
Mage::getSingleton('footerlinks/footer')->editLink($linkData, $action);
|
46 |
+
Mage::getSingleton('admin/session')->setData('FooterLinksMsg','Link detail saved successfully');
|
47 |
+
}
|
48 |
+
}
|
49 |
+
$this->_redirect('adminfooterlinks/adminhtml_linksdetail');
|
50 |
+
}
|
51 |
+
|
52 |
+
public function deleteAction()
|
53 |
+
{
|
54 |
+
$id = $this->getRequest()->getParam('id');
|
55 |
+
if (!empty($id)) {
|
56 |
+
Mage::getSingleton('footerlinks/footer')->deleteLink($id);
|
57 |
+
Mage::getSingleton('admin/session')->setData('FooterLinksMsg','Link deleted successfully');
|
58 |
+
}
|
59 |
+
$this->_redirect('adminfooterlinks/adminhtml_linksdetail');
|
60 |
+
}
|
61 |
+
}
|
app/code/local/BusinessKing/Footerlinks/etc/config.xml
ADDED
@@ -0,0 +1,132 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<BusinessKing_Footerlinks>
|
5 |
+
<version>0.1.0</version>
|
6 |
+
</BusinessKing_Footerlinks>
|
7 |
+
</modules>
|
8 |
+
|
9 |
+
<frontend>
|
10 |
+
<routers>
|
11 |
+
<footerlinks>
|
12 |
+
<use>standard</use>
|
13 |
+
<args>
|
14 |
+
<module>BusinessKing_Footerlinks</module>
|
15 |
+
<frontName>footerlinks</frontName>
|
16 |
+
</args>
|
17 |
+
</footerlinks>
|
18 |
+
</routers>
|
19 |
+
<layout>
|
20 |
+
<updates>
|
21 |
+
<footerlinks>
|
22 |
+
<file>footerlinks.xml</file>
|
23 |
+
</footerlinks>
|
24 |
+
</updates>
|
25 |
+
</layout>
|
26 |
+
</frontend>
|
27 |
+
|
28 |
+
<global>
|
29 |
+
<blocks>
|
30 |
+
<footerlinks>
|
31 |
+
<class>BusinessKing_Footerlinks_Block</class>
|
32 |
+
</footerlinks>
|
33 |
+
<page>
|
34 |
+
<rewrite>
|
35 |
+
<template_links>BusinessKing_Footerlinks_Block_Page_Template_Links</template_links>
|
36 |
+
</rewrite>
|
37 |
+
</page>
|
38 |
+
</blocks>
|
39 |
+
<models>
|
40 |
+
<footerlinks>
|
41 |
+
<class>BusinessKing_Footerlinks_Model</class>
|
42 |
+
<resourceModel>footerlinks_mysql4</resourceModel>
|
43 |
+
</footerlinks>
|
44 |
+
<footerlinks_mysql4>
|
45 |
+
<class>BusinessKing_Footerlinks_Model_Mysql4</class>
|
46 |
+
<entities>
|
47 |
+
<info>
|
48 |
+
<table>footerlinks_info</table>
|
49 |
+
</info>
|
50 |
+
</entities>
|
51 |
+
</footerlinks_mysql4>
|
52 |
+
</models>
|
53 |
+
<helpers>
|
54 |
+
<footerlinks>
|
55 |
+
<class>BusinessKing_Footerlinks_Helper</class>
|
56 |
+
</footerlinks>
|
57 |
+
</helpers>
|
58 |
+
<resources>
|
59 |
+
<footerlinks_setup>
|
60 |
+
<setup>
|
61 |
+
<module>BusinessKing_Footerlinks</module>
|
62 |
+
</setup>
|
63 |
+
<connection>
|
64 |
+
<use>core_setup</use>
|
65 |
+
</connection>
|
66 |
+
</footerlinks_setup>
|
67 |
+
<footerlinks_write>
|
68 |
+
<connection>
|
69 |
+
<use>core_write</use>
|
70 |
+
</connection>
|
71 |
+
</footerlinks_write>
|
72 |
+
<footerlinks_read>
|
73 |
+
<connection>
|
74 |
+
<use>core_read</use>
|
75 |
+
</connection>
|
76 |
+
</footerlinks_read>
|
77 |
+
</resources>
|
78 |
+
</global>
|
79 |
+
<admin>
|
80 |
+
<routers>
|
81 |
+
<footerlinks>
|
82 |
+
<use>admin</use>
|
83 |
+
<args>
|
84 |
+
<module>BusinessKing_Footerlinks</module>
|
85 |
+
<frontName>adminfooterlinks</frontName>
|
86 |
+
</args>
|
87 |
+
</footerlinks>
|
88 |
+
</routers>
|
89 |
+
</admin>
|
90 |
+
<adminhtml>
|
91 |
+
<menu>
|
92 |
+
<footerlinks translate="title" module="footerlinks">
|
93 |
+
<title>Footer Links</title>
|
94 |
+
<sort_order>100</sort_order>
|
95 |
+
<action>adminfooterlinks/adminhtml_linksdetail</action>
|
96 |
+
</footerlinks>
|
97 |
+
</menu>
|
98 |
+
<acl>
|
99 |
+
<resources>
|
100 |
+
<admin translate="title" module="adminhtml">
|
101 |
+
<children>
|
102 |
+
<footerlinks translate="title">
|
103 |
+
<title>Footer Links</title>
|
104 |
+
<sort_order>100</sort_order>
|
105 |
+
</footerlinks>
|
106 |
+
<system translate="title">
|
107 |
+
<children>
|
108 |
+
<config translate="title">
|
109 |
+
<children>
|
110 |
+
<footerlinks translate="title">
|
111 |
+
<title>Footer LinksL</title>
|
112 |
+
<sort_order>5000</sort_order>
|
113 |
+
</footerlinks>
|
114 |
+
</children>
|
115 |
+
</config>
|
116 |
+
</children>
|
117 |
+
</system>
|
118 |
+
</children>
|
119 |
+
</admin>
|
120 |
+
</resources>
|
121 |
+
</acl>
|
122 |
+
</adminhtml>
|
123 |
+
<default>
|
124 |
+
<footerlinks>
|
125 |
+
<configuration>
|
126 |
+
<custom_links>0</custom_links>
|
127 |
+
<category_links>1</category_links>
|
128 |
+
<top_searches>1</top_searches>
|
129 |
+
</configuration>
|
130 |
+
</footerlinks>
|
131 |
+
</default>
|
132 |
+
</config>
|
app/code/local/BusinessKing/Footerlinks/etc/system.xml
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<sections>
|
4 |
+
<footerlinks translate="label" module="footerlinks">
|
5 |
+
<label>Footer Links</label>
|
6 |
+
<tab>general</tab>
|
7 |
+
<frontend_type>text</frontend_type>
|
8 |
+
<sort_order>5000</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 |
+
<configuration translate="label">
|
14 |
+
<label>Footer Links Configuration</label>
|
15 |
+
<frontend_type>text</frontend_type>
|
16 |
+
<sort_order>10</sort_order>
|
17 |
+
<show_in_default>1</show_in_default>
|
18 |
+
<show_in_website>1</show_in_website>
|
19 |
+
<show_in_store>1</show_in_store>
|
20 |
+
<fields>
|
21 |
+
<custom_links translate="label">
|
22 |
+
<label>Enable Custom Links</label>
|
23 |
+
<frontend_type>select</frontend_type>
|
24 |
+
<source_model>adminhtml/system_config_source_yesno</source_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 |
+
</custom_links>
|
30 |
+
<category_links translate="label">
|
31 |
+
<label>Enable Category Links</label>
|
32 |
+
<frontend_type>select</frontend_type>
|
33 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
34 |
+
<sort_order>15</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 |
+
</category_links>
|
39 |
+
<top_searches translate="label">
|
40 |
+
<label>Enable Top Searches</label>
|
41 |
+
<frontend_type>select</frontend_type>
|
42 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
43 |
+
<sort_order>20</sort_order>
|
44 |
+
<show_in_default>1</show_in_default>
|
45 |
+
<show_in_website>1</show_in_website>
|
46 |
+
<show_in_store>1</show_in_store>
|
47 |
+
</top_searches>
|
48 |
+
</fields>
|
49 |
+
</configuration>
|
50 |
+
</groups>
|
51 |
+
</footerlinks>
|
52 |
+
</sections>
|
53 |
+
</config>
|
app/code/local/BusinessKing/Footerlinks/sql/footerlinks_setup/mysql4-install-0.1.0.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @category BusinessKing
|
4 |
+
* @package BusinessKing_Footerlinks
|
5 |
+
*/
|
6 |
+
|
7 |
+
$installer = $this;
|
8 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
9 |
+
|
10 |
+
$installer->startSetup();
|
11 |
+
|
12 |
+
$installer->run("
|
13 |
+
|
14 |
+
-- DROP TABLE IF EXISTS `{$this->getTable('footerlinks_info')}`;
|
15 |
+
|
16 |
+
CREATE TABLE `{$this->getTable('footerlinks_info')}` (
|
17 |
+
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
|
18 |
+
`name` VARCHAR(45) NOT NULL,
|
19 |
+
`url` VARCHAR(55) NOT NULL,
|
20 |
+
`is_active` ENUM('Yes','No') NOT NULL DEFAULT 'No',
|
21 |
+
`parent_id` INTEGER NOT NULL DEFAULT 0,
|
22 |
+
PRIMARY KEY (`id`)
|
23 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
24 |
+
|
25 |
+
");
|
26 |
+
|
27 |
+
/*
|
28 |
+
INSERT INTO `{$this->getTable('footerlinks')}`(`name`,`url`,`is_active`,`parent_id`)
|
29 |
+
VALUES ('Customer Service','customer-service','Yes',0),
|
30 |
+
('My Account','','Yes',0),
|
31 |
+
('Company Info','','Yes',0);
|
32 |
+
|
33 |
+
*/
|
34 |
+
|
35 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/template/footerlinks/linksdetail.phtml
ADDED
@@ -0,0 +1,166 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<script type="text/javascript">
|
3 |
+
function calcelEdit()
|
4 |
+
{
|
5 |
+
$('label').value = '';
|
6 |
+
$('url').value = '';
|
7 |
+
$('is_active').value = "No";
|
8 |
+
$('action_name').value = "add";
|
9 |
+
$('cancel-edit').hide();
|
10 |
+
}
|
11 |
+
function editData(id,label,url,isactive)
|
12 |
+
{
|
13 |
+
$('label').value = label;
|
14 |
+
$('url').value = url;
|
15 |
+
$('is_active').value = isactive;
|
16 |
+
$('action_name').value = id;
|
17 |
+
$('cancel-edit').show();
|
18 |
+
return false;
|
19 |
+
}
|
20 |
+
function deleteLink()
|
21 |
+
{
|
22 |
+
var ans = confirm('Do you want to delete this Link?');
|
23 |
+
if(ans)
|
24 |
+
{
|
25 |
+
return true;
|
26 |
+
}
|
27 |
+
else
|
28 |
+
{
|
29 |
+
return false;
|
30 |
+
}
|
31 |
+
}
|
32 |
+
function validateData()
|
33 |
+
{
|
34 |
+
var url = '<?php echo $this->getFormUrl() ?>';
|
35 |
+
if($('label').value=="")
|
36 |
+
{
|
37 |
+
alert('Label can\'t be blank');
|
38 |
+
return false;
|
39 |
+
}
|
40 |
+
/*else if($('url').value=="")
|
41 |
+
{
|
42 |
+
alert('Url can\'t be blank');
|
43 |
+
return false;
|
44 |
+
}*/
|
45 |
+
else if($('url').value.substring(0,4)=="http")
|
46 |
+
{
|
47 |
+
alert('Invalid link Url');
|
48 |
+
return false
|
49 |
+
}
|
50 |
+
else
|
51 |
+
{
|
52 |
+
//window.location.href = url+'action/'+$('action').value+'/label/'+$('label').value+'/url/'+$('url').value+'/is_active/'+$('is_active').value+'/parent_id/'+$('parent_id').value;
|
53 |
+
return true;
|
54 |
+
}
|
55 |
+
}
|
56 |
+
</script>
|
57 |
+
|
58 |
+
<?php $message = Mage::getSingleton('admin/session')->getData('FooterLinksMsg') ?>
|
59 |
+
<?php $id = $this->getLinkId(); ?>
|
60 |
+
<?php $parentName = $this->getParentName($id) ?>
|
61 |
+
<div class="content-header">
|
62 |
+
<h3><?php echo $this->__('Footer links') ?> <?php echo $parentName ?></h3>
|
63 |
+
</div>
|
64 |
+
<?php $footerlinks = $this->getFooterLinks($id) ?>
|
65 |
+
<center>
|
66 |
+
<div>
|
67 |
+
<form id="frmFooterLinks" name="frmFooterLinks" method="post" action="<?php echo $this->getFormUrl() ?>">
|
68 |
+
<input type="hidden" id="form_key" name="form_key" value="<?php echo $this->getFormKey() ?>" />
|
69 |
+
<input type="hidden" id="action_name" name="action_name" value="add" />
|
70 |
+
<input type="hidden" id="parent_id" name="parent_id" value="<?php echo $id ?>" />
|
71 |
+
<div class="grid">
|
72 |
+
<table width="100%" class="data">
|
73 |
+
<?php if(!empty($message)): ?>
|
74 |
+
<tr>
|
75 |
+
<td colspan="2">
|
76 |
+
<ul class="messages">
|
77 |
+
<li class="success-msg"><?php echo $message ?></li>
|
78 |
+
</ul>
|
79 |
+
</td>
|
80 |
+
</tr>
|
81 |
+
<?php Mage::getSingleton('admin/session')->setData('FooterLinksMsg',''); ?>
|
82 |
+
<?php endif; ?>
|
83 |
+
<tr>
|
84 |
+
<td width="70%">
|
85 |
+
<?php if(count($footerlinks)>0): ?>
|
86 |
+
<h4><?php echo $this->__('Links detail') ?></h4>
|
87 |
+
<table align="center" width="100%" cellpadding="2" border="0" cellspacing="2">
|
88 |
+
<tr class="filter">
|
89 |
+
<th><?php echo $this->__('Label') ?></th>
|
90 |
+
<th><?php echo $this->__('Url') ?></th>
|
91 |
+
<th><?php echo $this->__('Is Active') ?></th>
|
92 |
+
<th> </th>
|
93 |
+
<th> </th>
|
94 |
+
<?php if(empty($parentName)): ?>
|
95 |
+
<th> </th>
|
96 |
+
<?php endif; ?>
|
97 |
+
</tr>
|
98 |
+
<?php foreach($footerlinks as $link): ?>
|
99 |
+
<tr>
|
100 |
+
<td><?php echo $link['name'] ?></td>
|
101 |
+
<td><?php echo Mage::getUrl($link['url']) ?></td>
|
102 |
+
<td><?php echo $link['is_active'] ?></td>
|
103 |
+
<td><a href="#" onclick="javascript: return editData('<?php echo $link['id'] ?>','<?php echo $link['name'] ?>','<?php echo $link['url'] ?>','<?php echo $link['is_active'] ?>');">Edit</a></td>
|
104 |
+
<td><a href="<?php echo $this->getUrl('adminfooterlinks/adminhtml_linksdetail/delete/id/'.$link['id']) ?>" onclick="javascript: return deleteLink();">Delete</a></td>
|
105 |
+
<?php if(empty($parentName)): ?>
|
106 |
+
<td><a href="<?php echo $this->getUrl('adminfooterlinks/adminhtml_linksdetail/index/id/'.$link['id']) ?>">Submenu</a></td>
|
107 |
+
<?php endif; ?>
|
108 |
+
</tr>
|
109 |
+
<?php endforeach; ?>
|
110 |
+
</table>
|
111 |
+
<?php else: ?>
|
112 |
+
<label><?php echo $this->__('There is no footer links abailable') ?></label>
|
113 |
+
<?php endif; ?>
|
114 |
+
<?php if(!empty($parentName)): ?>
|
115 |
+
<div style="padding-top:10px">
|
116 |
+
<a href="<?php echo $this->getUrl('adminfooterlinks/adminhtml_linksdetail') ?>">Go Back</a>
|
117 |
+
</div>
|
118 |
+
<?php endif; ?>
|
119 |
+
</td>
|
120 |
+
|
121 |
+
<td width="30%">
|
122 |
+
<h4><?php echo $this->__('Add New Link') ?></h4>
|
123 |
+
<table align="right" width="90%" cellpadding="5" border="0" cellspacing="5">
|
124 |
+
<tr>
|
125 |
+
<td width="50px"><strong><?php echo $this->__('Label') ?></strong></td>
|
126 |
+
<td>
|
127 |
+
<input type="text" id="label" name="label" value="" />
|
128 |
+
</td>
|
129 |
+
</tr>
|
130 |
+
<tr>
|
131 |
+
<td><strong><?php echo $this->__('Url') ?></strong></td>
|
132 |
+
<td>
|
133 |
+
<?php echo Mage::getUrl() ?><input type="text" id="url" name="url" value="" />
|
134 |
+
</td>
|
135 |
+
</tr>
|
136 |
+
<tr>
|
137 |
+
<td><strong><?php echo $this->__('Is Active') ?></strong></td>
|
138 |
+
<td>
|
139 |
+
<select id="is_active" name="is_active">
|
140 |
+
<option value="No"><?php echo $this->__('No') ?></option>
|
141 |
+
<option value="Yes"><?php echo $this->__('Yes') ?></option>
|
142 |
+
</select>
|
143 |
+
</td>
|
144 |
+
</tr>
|
145 |
+
<tr>
|
146 |
+
<td> </td>
|
147 |
+
<td>
|
148 |
+
<button class="scalable save" onclick="javascript: return validateData();" type="submit">
|
149 |
+
<span><?php echo $this->__('Save') ?></span>
|
150 |
+
</button>
|
151 |
+
<span id="cancel-edit" style="display:none">
|
152 |
+
<button class="scalable save" onclick="javascript: return calcelEdit();" type="button">
|
153 |
+
<span><?php echo $this->__('Cancel Edit') ?></span>
|
154 |
+
</button>
|
155 |
+
</span>
|
156 |
+
</td>
|
157 |
+
</tr>
|
158 |
+
</table>
|
159 |
+
</td>
|
160 |
+
</tr>
|
161 |
+
</table>
|
162 |
+
</div>
|
163 |
+
</form>
|
164 |
+
</div>
|
165 |
+
</center>
|
166 |
+
|
app/design/frontend/default/default/layout/footerlinks.xml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<default>
|
4 |
+
<reference name="footer">
|
5 |
+
<block type="page/template_links" name="links" as="links" template="footerlinks/page/links.phtml"/>
|
6 |
+
</reference>
|
7 |
+
</default>
|
8 |
+
</layout>
|
app/design/frontend/default/default/template/footerlinks/page/links.phtml
ADDED
@@ -0,0 +1,220 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<?php $_storeId = Mage::app()->getStore()->getId(); ?>
|
3 |
+
<?php $_enableCustomLinks = Mage::getStoreConfig('footerlinks/configuration/custom_links', $_storeId); ?>
|
4 |
+
<?php $_enableCtegoryLinks = Mage::getStoreConfig('footerlinks/configuration/category_links', $_storeId); ?>
|
5 |
+
<?php $_enableTopSearches = Mage::getStoreConfig('footerlinks/configuration/top_searches', $_storeId); ?>
|
6 |
+
|
7 |
+
<?php if ($_enableCustomLinks || $_enableCtegoryLinks || $_enableTopSearches): ?>
|
8 |
+
|
9 |
+
<script type="text/javascript">
|
10 |
+
function displayLinks()
|
11 |
+
{
|
12 |
+
$('footer-close').toggle();
|
13 |
+
$('footer-open').toggle();
|
14 |
+
return false;
|
15 |
+
}
|
16 |
+
function displaySubcategories(categoryId)
|
17 |
+
{
|
18 |
+
$('category-open'+categoryId).toggle();
|
19 |
+
$('category-close'+categoryId).toggle();
|
20 |
+
return false;
|
21 |
+
}
|
22 |
+
</script>
|
23 |
+
|
24 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/footer.css') ?>" media="all" />
|
25 |
+
|
26 |
+
<div class="footer-links-main-div">
|
27 |
+
<div id="footer-close">
|
28 |
+
<a href="" onclick="javascript: return displayLinks();" class="link-close">
|
29 |
+
<?php echo $this->__('More Links') ?>
|
30 |
+
</a>
|
31 |
+
</div>
|
32 |
+
|
33 |
+
<div id="footer-open" style="display:none">
|
34 |
+
<a href="" onclick="javascript: return displayLinks();" class="link-open">
|
35 |
+
<?php echo $this->__('More Links') ?>
|
36 |
+
</a>
|
37 |
+
<div class="footerlinks">
|
38 |
+
<!-- Footer Links -->
|
39 |
+
<?php $footerLinks = $this->getFooterLinks(0, 'Yes') ?>
|
40 |
+
<?php if(count($footerLinks)>0 && $_enableCustomLinks): ?>
|
41 |
+
<table align="center" width="100%" class="cms-links">
|
42 |
+
<tr>
|
43 |
+
<?php foreach($footerLinks as $link): ?>
|
44 |
+
<td align="left">
|
45 |
+
<?php $a = empty($link['url']) ? '' : 'href="'.Mage::getUrl($link['url']).'"' ?>
|
46 |
+
<h4><a <?php echo $a ?>"><?php echo $link['name'] ?></a></h4>
|
47 |
+
<?php $subLinks = $this->getFooterLinks($link['id'], 'Yes') ?>
|
48 |
+
<?php if(count($subLinks)>0): ?>
|
49 |
+
<?php foreach($subLinks as $sublink): ?>
|
50 |
+
<?php $a = empty($sublink['url']) ? '' : 'href="'.Mage::getUrl($sublink['url']).'"' ?>
|
51 |
+
<div>
|
52 |
+
<a class="sub-category-link" <?php echo $a ?>"><?php echo $sublink['name'] ?></a>
|
53 |
+
</div>
|
54 |
+
<?php endforeach; ?>
|
55 |
+
<?php endif; ?>
|
56 |
+
</td>
|
57 |
+
<?php endforeach; ?>
|
58 |
+
</tr>
|
59 |
+
</table>
|
60 |
+
<?php endif; ?>
|
61 |
+
|
62 |
+
<!-- Categories & Subcategories -->
|
63 |
+
<?php if ($_enableCtegoryLinks): ?>
|
64 |
+
<?php $categories = $this->getCategories() ?>
|
65 |
+
<?php $mainCategories = array(); $i = 0; ?>
|
66 |
+
<?php if(count($categories)>0): ?>
|
67 |
+
<?php foreach($categories as $category): ?>
|
68 |
+
<?php if($category->getLevel()==2 && $i<9 && $category->getData('is_active')==1): ?>
|
69 |
+
<?php $mainCategories[$i++] = $category ?>
|
70 |
+
<?php endif; ?>
|
71 |
+
<?php endforeach; ?>
|
72 |
+
<?php endif; ?>
|
73 |
+
<div>
|
74 |
+
<table align="center" width="100%" class="footer-cat-links"><!-- class="data-table" -->
|
75 |
+
<tr>
|
76 |
+
<th align="left" class="footer-link-title">
|
77 |
+
<h4><?php echo $this->__('Categories')?></h4>
|
78 |
+
</th>
|
79 |
+
</tr>
|
80 |
+
<tr>
|
81 |
+
<td align="left">
|
82 |
+
<?php if(count($mainCategories)>0): $i = 2; $k = 1; ?>
|
83 |
+
<table width="100%" border="0">
|
84 |
+
<?php foreach($mainCategories as $category): $i++; ?>
|
85 |
+
<?php if($i%3==0): $k=1; echo "<tr>"; else: $k++; endif; ?>
|
86 |
+
<td>
|
87 |
+
<?php $imgUrl = $category->getImageUrl() ?>
|
88 |
+
<?php if(!empty($imgUrl)): ?>
|
89 |
+
<img src="<?php echo $imgUrl ?>" width="75" height="75" />
|
90 |
+
<?php endif; ?>
|
91 |
+
</td>
|
92 |
+
<td align="left" width="30%">
|
93 |
+
<span id="category-close<?php echo $category->getId() ?>">
|
94 |
+
<a href="" onclick="javascript: return displaySubcategories('<?php echo $category->getId() ?>');">
|
95 |
+
<img src="<?php echo Mage::getDesign()->getSkinUrl('images/icon_expand.gif') ?>" />
|
96 |
+
<?php echo $category->getName() ?>
|
97 |
+
</a>
|
98 |
+
</span>
|
99 |
+
<span id="category-open<?php echo $category->getId() ?>" style="display:none">
|
100 |
+
<a href="" onclick="javascript: return displaySubcategories('<?php echo $category->getId() ?>');">
|
101 |
+
<img src="<?php echo Mage::getDesign()->getSkinUrl('images/icon_collapse.gif') ?>" />
|
102 |
+
<?php echo $category->getName() ?>
|
103 |
+
|
104 |
+
<?php $subCategories = $this->getSubcategories($category->getId()) ?>
|
105 |
+
<?php if(count($subCategories)>0): $s = 0; ?>
|
106 |
+
<?php foreach($subCategories as $subcat): ?>
|
107 |
+
<?php if($s<5 && $subcat->getData('is_active')==1): $s++; ?>
|
108 |
+
|
109 |
+
<?php $subCategories2 = $this->getSubcategories($subcat->getId()) ?>
|
110 |
+
|
111 |
+
<?php if(count($subCategories2)>0): $s2 = 0; ?>
|
112 |
+
<div class="cat-open">
|
113 |
+
<span >
|
114 |
+
<a id="category-close<?php echo $subcat->getId() ?>" href="" onclick="javascript: return displaySubcategories('<?php echo $subcat->getId() ?>');">
|
115 |
+
<img src="<?php echo Mage::getDesign()->getSkinUrl('images/icon_expand.gif') ?>" />
|
116 |
+
<?php echo $subcat->getName() ?>
|
117 |
+
</a>
|
118 |
+
</span>
|
119 |
+
<span id="category-open<?php echo $subcat->getId() ?>" style="display:none">
|
120 |
+
<a href="" onclick="javascript: return displaySubcategories('<?php echo $subcat->getId() ?>');">
|
121 |
+
<img src="<?php echo Mage::getDesign()->getSkinUrl('images/icon_collapse.gif') ?>" />
|
122 |
+
<?php echo $subcat->getName() ?>
|
123 |
+
|
124 |
+
<?php foreach($subCategories2 as $subcat2): ?>
|
125 |
+
<?php if($s2<5 && $subcat2->getData('is_active')==1): $s2++; ?>
|
126 |
+
|
127 |
+
<?php $subCategories3 = $this->getSubcategories($subcat2->getId()); ?>
|
128 |
+
|
129 |
+
<?php if(count($subCategories3)>0): $s3 = 0; ?>
|
130 |
+
<div class="cat-open">
|
131 |
+
<span>
|
132 |
+
<a id="category-close<?php echo $subcat2->getId() ?>" href="" onclick="javascript: return displaySubcategories('<?php echo $subcat2->getId() ?>');">
|
133 |
+
<img src="<?php echo Mage::getDesign()->getSkinUrl('images/icon_expand.gif') ?>" />
|
134 |
+
<?php echo $subcat2->getName() ?>
|
135 |
+
</a>
|
136 |
+
</span>
|
137 |
+
<span id="category-open<?php echo $subcat2->getId() ?>" style="display:none">
|
138 |
+
<a href="" onclick="javascript: return displaySubcategories('<?php echo $subcat2->getId() ?>');">
|
139 |
+
<img src="<?php echo Mage::getDesign()->getSkinUrl('images/icon_collapse.gif') ?>" />
|
140 |
+
<?php echo $subcat2->getName() ?>
|
141 |
+
|
142 |
+
<?php foreach($subCategories3 as $subcat3): ?>
|
143 |
+
<?php if($s3<5 && $subcat3->getData('is_active')==1): $s3++; ?>
|
144 |
+
<div class="cat-open"><a href="<?php echo $subcat3->getUrl() ?>" class="sub-category-link"><?php echo $subcat3->getName() ?></a></div>
|
145 |
+
<?php endif; ?>
|
146 |
+
<?php endforeach; ?>
|
147 |
+
</a>
|
148 |
+
</span>
|
149 |
+
</div>
|
150 |
+
<?php else: ?>
|
151 |
+
<div class="cat-open"><a href="<?php echo $subcat2->getUrl() ?>" class="sub-category-link"><?php echo $subcat2->getName() ?></a></div>
|
152 |
+
<?php endif; ?>
|
153 |
+
|
154 |
+
|
155 |
+
<?php endif; ?>
|
156 |
+
<?php endforeach; ?>
|
157 |
+
</a>
|
158 |
+
</span>
|
159 |
+
</div>
|
160 |
+
<?php else: ?>
|
161 |
+
<div><a href="<?php echo $subcat->getUrl() ?>" class="sub-category-link"><?php echo $subcat->getName() ?></a></div>
|
162 |
+
<?php endif; ?>
|
163 |
+
|
164 |
+
<?php endif; ?>
|
165 |
+
<?php endforeach; ?>
|
166 |
+
<?php /* ?><div><a href="<?php echo $category->getUrl() ?>" class="sub-category-link">More...</a></div> <?php */ ?>
|
167 |
+
<?php endif; ?>
|
168 |
+
</a>
|
169 |
+
</span>
|
170 |
+
</td>
|
171 |
+
<?php if($k%3==0): $k=1; echo "</tr>"; endif; ?>
|
172 |
+
<?php endforeach; ?>
|
173 |
+
</table>
|
174 |
+
<?php endif; ?>
|
175 |
+
</td>
|
176 |
+
</tr>
|
177 |
+
</table>
|
178 |
+
</div>
|
179 |
+
<?php endif; ?>
|
180 |
+
|
181 |
+
<!-- Top Searches -->
|
182 |
+
<?php if ($_enableTopSearches): ?>
|
183 |
+
<?php $topSearches = $this->getTopSearches() ?>
|
184 |
+
<div>
|
185 |
+
<table align="center" width="100%" class="footer-top-links">
|
186 |
+
<tr>
|
187 |
+
<th align="left" class="footer-link-title">
|
188 |
+
<h4><?php echo $this->__('Top Searches')?></h4>
|
189 |
+
</th>
|
190 |
+
</tr>
|
191 |
+
<tr>
|
192 |
+
<td align="left">
|
193 |
+
<?php if(count($topSearches)>0): $i = 3; $k = 1; ?>
|
194 |
+
<table style="table-layout:fixed; width:100%;" cellpadding="0" border="0">
|
195 |
+
<?php foreach($topSearches as $search): $i++; ?>
|
196 |
+
<?php if($i%4==0): $k=1; echo "<tr>"; else: $k++; endif; ?>
|
197 |
+
<td align="left" width="25%" class="top-searches" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">
|
198 |
+
<a href="<?php echo Mage::getUrl('catalogsearch/result/?q='.$search['query_text']) ?>" alt="<?php echo $search['query_text'] ?>" title="<?php echo $search['query_text'] ?>">
|
199 |
+
<?php /* <img src="<?php echo Mage::getDesign()->getSkinUrl('images/Search_icon_16X16.jpg') ?>" style="border:none;text-decoration:none" /> */ ?>
|
200 |
+
<span ><?php echo $search['query_text'] ?></span>
|
201 |
+
</a>
|
202 |
+
</td>
|
203 |
+
<?php if($k%4==0 && $k>=4): $k=1; echo "</tr>"; endif; ?>
|
204 |
+
<?php endforeach; ?>
|
205 |
+
</table>
|
206 |
+
<?php endif; ?>
|
207 |
+
</td>
|
208 |
+
</tr>
|
209 |
+
</table>
|
210 |
+
</div>
|
211 |
+
<?php endif; ?>
|
212 |
+
</div>
|
213 |
+
</div>
|
214 |
+
</div>
|
215 |
+
<div class="clear"></div>
|
216 |
+
|
217 |
+
<?php endif; ?>
|
218 |
+
|
219 |
+
|
220 |
+
|
app/etc/modules/BusinessKing_Footerlinks.xml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<BusinessKing_Footerlinks>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>local</codePool>
|
7 |
+
</BusinessKing_Footerlinks>
|
8 |
+
</modules>
|
9 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>BusinessKing_Footerlinks</name>
|
4 |
+
<version>1.0.0.1</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://www.opensource.org/licenses/OSL-3.0.php">OSL</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Product Fields Permission</summary>
|
10 |
+
<description>The Footer Links extension helps to create SEO friendly footer in your Magento store.</description>
|
11 |
+
<notes>Stable version release</notes>
|
12 |
+
<authors><author><name>Business King</name><user>auto-converted</user><email>inquiry@businessapplicationking.com</email></author></authors>
|
13 |
+
<date>2012-03-29</date>
|
14 |
+
<time>12:29:00</time>
|
15 |
+
<contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="footerlinks"><file name="linksdetail.phtml" hash="079d870e5a5d705f56b756e420e3d66e"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="footerlinks.xml" hash="bc5143ccd4551fc82098fea83f68d3d7"/></dir><dir name="template"><dir name="footerlinks"><dir name="page"><file name="links.phtml" hash="d55ea24af02db98314c26b5a1decea07"/></dir></dir></dir></dir></dir></dir></target><target name="magelocal"><dir name="BusinessKing"><dir name="Footerlinks"><dir name="Block"><dir name="Adminhtml"><file name="Linksdetail.php" hash="8f63d99ddf587dad1eca3761020afe91"/></dir><dir name="Page"><dir name="Template"><file name="Links.php" hash="972613a91e4c250bb478c1fc3b4fbcad"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="LinksdetailController.php" hash="2bbb41efed286cf0a71ccd97dd07a10a"/></dir></dir><dir name="etc"><file name="config.xml" hash="6bc16a324fdd1a24635929747fe70bda"/><file name="system.xml" hash="c628c6631a592b0e04b81a48c71e6752"/></dir><dir name="Helper"><file name="Data.php" hash="d11e517fa4b786557d49e2b9e49427f1"/></dir><dir name="Model"><file name="Footer.php" hash="8fd49e02f07b55505551c7004131ec7d"/><dir name="Mysql4"><file name="Query.php" hash="69f6d4c3293d78693ff477ee60406c46"/></dir></dir><dir name="sql"><dir name="footerlinks_setup"><file name="mysql4-install-0.1.0.php" hash="0b70dcef8ca85066f588658692361cf7"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="css"><file name="footer.css" hash="c211bb05e58ce26531bbb879e4709215"/></dir><dir name="images"><file name="icon_collapse.gif" hash="24a37048deac5b8695b055ceb0b7d950"/><file name="icon_expand.gif" hash="e450b6e79e19a5d0c2575b72907ed49e"/><file name="icon_minus.gif" hash="0b9965986e62545d3ede6c5074cb9c77"/><file name="icon_plus.gif" hash="4148cb69a32c688f13c5672229065bf0"/><file name="Search_icon_16X16.jpg" hash="c525f9657889a4f02843cafd399606c7"/><file name="webdev-search-icon.jpg" hash="224fc430915bdd7d453d892c91e1a044"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="BusinessKing_Footerlinks.xml" hash="851c31cdcd794b8254ed1df05607d40a"/></dir></target></contents>
|
16 |
+
<compatible/>
|
17 |
+
<dependencies/>
|
18 |
+
</package>
|
skin/frontend/default/default/css/footer.css
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
.footer-links-main-div {text-align: left; color:#444; margin-bottom:20px; }
|
3 |
+
.footer-links-main-div a { color:#444; }
|
4 |
+
.footer-links-main-div a:hover {color: #444; text-decoration:none !important;}
|
5 |
+
|
6 |
+
.link-close, .link-close:hover {background: url(../images/icon_plus.gif) no-repeat left top; padding-left: 20px;
|
7 |
+
padding-top: 2px;}
|
8 |
+
.link-open , .link-open:hover {background: url(../images/icon_minus.gif) no-repeat left top; padding-left: 20px;
|
9 |
+
padding-top: 2px;}
|
10 |
+
|
11 |
+
.footer .data-table {border: 0px none;}
|
12 |
+
.footer .data-table td {border: 0px none;}
|
13 |
+
.main-category-link {font-weight: bold;}
|
14 |
+
.sub-category-link { line-height:2em; padding-left:10px; background:transparent url(../images/add_to_bg.gif) no-repeat scroll 1px 5px; color:#444; }
|
15 |
+
.sub-category-link:hover { }
|
16 |
+
.footer-link-title h4 {border-bottom: 1px solid #ddd; }
|
17 |
+
|
18 |
+
.cms-links {margin:5px 0px 10px;}
|
19 |
+
.cms-links .sub-category-link { color:#5E7F16; }
|
20 |
+
.cms-links .sub-category-link:hover { color:#5E7F16; }
|
21 |
+
|
22 |
+
|
23 |
+
.footer-cat-links {margin:5px 0px;}
|
24 |
+
.footer-cat-links table td {padding:0px 5px 15px;}
|
25 |
+
.footer-cat-links table td img {margin-right:2px;}
|
26 |
+
.footer-cat-links table td .cat-open {margin-left:10px;}
|
27 |
+
|
28 |
+
.footer-top-links {margin:5px 0px;}
|
29 |
+
.footer-top-links .top-searches {overflow:hidden;}
|
30 |
+
.footer-top-links .top-searches a {background:url(../images/Search_icon_16X16.jpg) no-repeat top left; padding-left:20px; padding-bottom:2px; text-decoration: underline !important;}
|
31 |
+
.footer-top-links .top-searches a:hover {text-decoration: underline !important;}
|
skin/frontend/default/default/images/Search_icon_16X16.jpg
ADDED
Binary file
|
skin/frontend/default/default/images/icon_collapse.gif
ADDED
Binary file
|
skin/frontend/default/default/images/icon_expand.gif
ADDED
Binary file
|
skin/frontend/default/default/images/icon_minus.gif
ADDED
Binary file
|
skin/frontend/default/default/images/icon_plus.gif
ADDED
Binary file
|
skin/frontend/default/default/images/webdev-search-icon.jpg
ADDED
Binary file
|