Version Notes
We are bringing jQuery enable and disable configuration features which will help user to use jQuey min as per necessity.
Download this release
Release Info
Developer | Avik Roy |
Extension | Avik_Faq |
Version | 1.6.1 |
Comparing to | |
See all releases |
Code changes from version 1.6.0 to 1.6.1
- app/code/local/Avik/Faq/Block/Adminhtml/Faq/Edit/Form.php +8 -8
- app/code/local/Avik/Faq/Block/List.php +2 -1
- app/code/local/Avik/Faq/controllers/Adminhtml/FaqController.php +11 -4
- app/code/local/Avik/Faq/etc/system.xml +10 -0
- app/design/frontend/base/default/layout/avik_faq.xml +1 -1
- app/design/frontend/base/default/template/avik/faq/list.phtml +20 -15
- js/faq/ResponsiveAccordianMenu.js +22 -22
- package.xml +7 -7
app/code/local/Avik/Faq/Block/Adminhtml/Faq/Edit/Form.php
CHANGED
@@ -45,7 +45,7 @@ class Avik_Faq_Block_Adminhtml_Faq_Edit_Form extends Mage_Adminhtml_Block_Widget
|
|
45 |
'required' => true,
|
46 |
));
|
47 |
|
48 |
-
if (!Mage::app()->isSingleStoreMode()) {
|
49 |
$fieldset->addField('store_id', 'multiselect', array(
|
50 |
'name' => 'stores[]',
|
51 |
'label' => Mage::helper('checkout')->__('Store View'),
|
@@ -54,13 +54,13 @@ class Avik_Faq_Block_Adminhtml_Faq_Edit_Form extends Mage_Adminhtml_Block_Widget
|
|
54 |
'values' => Mage::getSingleton('adminhtml/system_store')
|
55 |
->getStoreValuesForForm(false, true),
|
56 |
));
|
57 |
-
}
|
58 |
-
else {
|
59 |
-
|
60 |
-
'name' => 'stores[]',
|
61 |
-
'value' => Mage::app()->getStore(true)->getId()
|
62 |
-
));
|
63 |
-
}
|
64 |
$fieldset->addField('faq_description', 'editor',
|
65 |
array (
|
66 |
'name' => 'faq_description',
|
45 |
'required' => true,
|
46 |
));
|
47 |
|
48 |
+
//if (!Mage::app()->isSingleStoreMode()) {
|
49 |
$fieldset->addField('store_id', 'multiselect', array(
|
50 |
'name' => 'stores[]',
|
51 |
'label' => Mage::helper('checkout')->__('Store View'),
|
54 |
'values' => Mage::getSingleton('adminhtml/system_store')
|
55 |
->getStoreValuesForForm(false, true),
|
56 |
));
|
57 |
+
//}
|
58 |
+
//else {
|
59 |
+
//$fieldset->addField('store_id', 'hidden', array(
|
60 |
+
//'name' => 'stores[]',
|
61 |
+
//'value' => Mage::app()->getStore(true)->getId()
|
62 |
+
//));
|
63 |
+
//}
|
64 |
$fieldset->addField('faq_description', 'editor',
|
65 |
array (
|
66 |
'name' => 'faq_description',
|
app/code/local/Avik/Faq/Block/List.php
CHANGED
@@ -37,8 +37,9 @@ class Avik_Faq_Block_List extends Mage_Core_Block_Template {
|
|
37 |
$offset = ($curr_page - 1) * $limit;
|
38 |
$collection = Mage::getModel('avik_faq/faq')->getCollection();
|
39 |
$store_id=Mage::app()->getStore()->getStoreId();
|
40 |
-
$collection->addFieldToFilter('is_active', array('eq' =>1))->
|
41 |
$collection->getSelect()->limit($limit,$offset);
|
|
|
42 |
return $collection;
|
43 |
}
|
44 |
|
37 |
$offset = ($curr_page - 1) * $limit;
|
38 |
$collection = Mage::getModel('avik_faq/faq')->getCollection();
|
39 |
$store_id=Mage::app()->getStore()->getStoreId();
|
40 |
+
$collection->addFieldToFilter('is_active', array('eq' =>1))->addFieldToFilter('store_id', array('like' =>'%'.$store_id.'%'));
|
41 |
$collection->getSelect()->limit($limit,$offset);
|
42 |
+
|
43 |
return $collection;
|
44 |
}
|
45 |
|
app/code/local/Avik/Faq/controllers/Adminhtml/FaqController.php
CHANGED
@@ -49,16 +49,23 @@ class Avik_Faq_Adminhtml_FaqController extends Mage_Adminhtml_Controller_Action
|
|
49 |
->_addContent($this->getLayout()->createBlock('avik_faq/adminhtml_faq_edit')->setData('action', $this->getUrl('*/*/save')))
|
50 |
->renderLayout();
|
51 |
}
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
public function saveAction()
|
54 |
{
|
55 |
if ($postData = $this->getRequest()->getPost()) {
|
56 |
$model = Mage::getSingleton('avik_faq/faq');
|
57 |
if(isset($postData['stores'])) {
|
58 |
if(in_array('0',$postData['stores'])){
|
59 |
-
$postData['store_id'] =
|
60 |
-
|
61 |
-
}
|
62 |
else{
|
63 |
$postData['store_id'] = implode(",", $postData['stores']);
|
64 |
|
49 |
->_addContent($this->getLayout()->createBlock('avik_faq/adminhtml_faq_edit')->setData('action', $this->getUrl('*/*/save')))
|
50 |
->renderLayout();
|
51 |
}
|
52 |
+
public function getAllStore(){
|
53 |
+
$allStores = Mage::app()->getStores();
|
54 |
+
$storeId=array();
|
55 |
+
foreach ($allStores as $_eachStoreId => $val)
|
56 |
+
{
|
57 |
+
$storeId[] = Mage::app()->getStore($_eachStoreId)->getId();
|
58 |
+
}
|
59 |
+
return implode(',',$storeId);
|
60 |
+
}
|
61 |
public function saveAction()
|
62 |
{
|
63 |
if ($postData = $this->getRequest()->getPost()) {
|
64 |
$model = Mage::getSingleton('avik_faq/faq');
|
65 |
if(isset($postData['stores'])) {
|
66 |
if(in_array('0',$postData['stores'])){
|
67 |
+
$postData['store_id'] = $this->getAllStore();
|
68 |
+
}
|
|
|
69 |
else{
|
70 |
$postData['store_id'] = implode(",", $postData['stores']);
|
71 |
|
app/code/local/Avik/Faq/etc/system.xml
CHANGED
@@ -39,6 +39,16 @@
|
|
39 |
<show_in_website>1</show_in_website>
|
40 |
<show_in_store>1</show_in_store>
|
41 |
</pagination_limit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
</fields>
|
43 |
</messages>
|
44 |
</groups>
|
39 |
<show_in_website>1</show_in_website>
|
40 |
<show_in_store>1</show_in_store>
|
41 |
</pagination_limit>
|
42 |
+
<enabled translate="label">
|
43 |
+
<label>Enabled JQuery: </label>
|
44 |
+
<comment></comment>
|
45 |
+
<frontend_type>select</frontend_type>
|
46 |
+
<sort_order>0</sort_order>
|
47 |
+
<show_in_default>1</show_in_default>
|
48 |
+
<show_in_website>1</show_in_website>
|
49 |
+
<show_in_store>1</show_in_store>
|
50 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
51 |
+
</enabled>
|
52 |
</fields>
|
53 |
</messages>
|
54 |
</groups>
|
app/design/frontend/base/default/layout/avik_faq.xml
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
<faq_handle><!-- declare a custom handle so you won't duplicate the code -->
|
4 |
<reference name="head">
|
5 |
|
6 |
-
<action method="addJs">
|
7 |
<script>faq/jquery.min.js</script>
|
8 |
</action>
|
9 |
<action method="addJs">
|
3 |
<faq_handle><!-- declare a custom handle so you won't duplicate the code -->
|
4 |
<reference name="head">
|
5 |
|
6 |
+
<action method="addJs" ifconfig="faq_options_new/messages/enabled">
|
7 |
<script>faq/jquery.min.js</script>
|
8 |
</action>
|
9 |
<action method="addJs">
|
app/design/frontend/base/default/template/avik/faq/list.phtml
CHANGED
@@ -11,21 +11,26 @@
|
|
11 |
<?php echo $this->getPagerHtml(); ?>
|
12 |
|
13 |
<!-- responsive accordian -->
|
14 |
-
<?php
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
<div
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
29 |
<?php echo $this->getPagerHtml(); ?>
|
30 |
|
31 |
</div>
|
11 |
<?php echo $this->getPagerHtml(); ?>
|
12 |
|
13 |
<!-- responsive accordian -->
|
14 |
+
<?php
|
15 |
+
if(count($collection)>0){
|
16 |
+
foreach($collection AS $faq): ?>
|
17 |
+
|
18 |
+
<div id="ID_<?php echo $faq->getData('faq_id');?>" class="expandContent">
|
19 |
+
<h3 class="faq-header">
|
20 |
+
<div class="plus icon" id="plus"></div>
|
21 |
+
<div class="headerColumn1"><?php echo $this->htmlEscape($faq->getData('faq_title'));?> </div>
|
22 |
+
|
23 |
+
<div class="expandedContentClearFloat"></div>
|
24 |
+
</h3>
|
25 |
+
<div class="expandedContent">
|
26 |
+
<?php echo $__helper->filter($faq->getData('faq_description')); ?>
|
27 |
+
</div>
|
28 |
+
</div>
|
29 |
+
<div class="clearfloat"></div>
|
30 |
+
<?php endforeach; ?>
|
31 |
+
<?php } else {?>
|
32 |
+
<div><?php echo $this->__('No Record Found.');?></div>
|
33 |
+
<?php } ?>
|
34 |
<?php echo $this->getPagerHtml(); ?>
|
35 |
|
36 |
</div>
|
js/faq/ResponsiveAccordianMenu.js
CHANGED
@@ -1,56 +1,56 @@
|
|
1 |
-
var
|
2 |
-
|
3 |
|
4 |
-
var divs =
|
5 |
content = divs.children('div');
|
6 |
|
7 |
// hide all divs initially
|
8 |
content.hide();
|
9 |
|
10 |
// drop down menu - on change show the selected div
|
11 |
-
|
12 |
content.hide();
|
13 |
showDiv(this.value);
|
14 |
});
|
15 |
|
16 |
// function that shows the selected div
|
17 |
function showDiv(divID) {
|
18 |
-
|
19 |
-
|
20 |
-
var thisContent =
|
21 |
-
if (
|
22 |
thisContent.slideUp("slow");
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
}
|
27 |
else {
|
28 |
content.not(thisContent).slideUp("slow", function() {
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
});
|
33 |
thisContent.slideDown("slow", function() {
|
34 |
// scroll to selected div
|
35 |
-
|
36 |
-
scrollTop:
|
37 |
}, 500);
|
38 |
|
39 |
// change drop down menu's selected option
|
40 |
-
|
41 |
-
|
42 |
|
43 |
//change + icon to -
|
44 |
-
|
45 |
|
46 |
-
|
47 |
-
|
48 |
});
|
49 |
}
|
50 |
}
|
51 |
|
52 |
// on click show the selected div
|
53 |
divs.click(function() {
|
54 |
-
showDiv(
|
55 |
});
|
56 |
});
|
1 |
+
var jQuery = jQuery.noConflict();
|
2 |
+
jQuery(window).load(function() {
|
3 |
|
4 |
+
var divs = jQuery('.expandContent'),
|
5 |
content = divs.children('div');
|
6 |
|
7 |
// hide all divs initially
|
8 |
content.hide();
|
9 |
|
10 |
// drop down menu - on change show the selected div
|
11 |
+
jQuery('#SelectMenu').on('change', function() {
|
12 |
content.hide();
|
13 |
showDiv(this.value);
|
14 |
});
|
15 |
|
16 |
// function that shows the selected div
|
17 |
function showDiv(divID) {
|
18 |
+
jQuery(".styled option").removeClass("selected");
|
19 |
+
jQuery(".styled option").removeAttr("style");
|
20 |
+
var thisContent = jQuery('#'+divID).find('.expandedContent')
|
21 |
+
if (jQuery(thisContent).is(':visible')) {
|
22 |
thisContent.slideUp("slow");
|
23 |
+
jQuery('#'+divID).find('.header .expand img').attr('src', 'plus.png');
|
24 |
+
jQuery('#'+divID+' .icon').removeClass('minus');
|
25 |
+
jQuery('#'+divID+' .icon').addClass('plus');
|
26 |
}
|
27 |
else {
|
28 |
content.not(thisContent).slideUp("slow", function() {
|
29 |
+
jQuery('#'+divID).parent().find('.header .expand img').attr('src', 'plus.png');
|
30 |
+
jQuery('.icon').removeClass('minus');
|
31 |
+
jQuery('.icon').addClass('plus');
|
32 |
});
|
33 |
thisContent.slideDown("slow", function() {
|
34 |
// scroll to selected div
|
35 |
+
jQuery('html, body').animate({
|
36 |
+
scrollTop: jQuery("#"+divID).offset().top
|
37 |
}, 500);
|
38 |
|
39 |
// change drop down menu's selected option
|
40 |
+
jQuery('#SelectMenu').val(divID);
|
41 |
+
jQuery('#SelectMenu option[value="'+divID+'"]').addClass("selected");
|
42 |
|
43 |
//change + icon to -
|
44 |
+
jQuery('#'+divID).find('.header .expand img').attr('src', 'minus.png');
|
45 |
|
46 |
+
jQuery('#'+divID+' .icon').removeClass('plus');
|
47 |
+
jQuery('#'+divID+' .icon').addClass('minus');
|
48 |
});
|
49 |
}
|
50 |
}
|
51 |
|
52 |
// on click show the selected div
|
53 |
divs.click(function() {
|
54 |
+
showDiv(jQuery(this).attr('id'));
|
55 |
});
|
56 |
});
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Avik_Faq</name>
|
4 |
-
<version>1.6.
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
-
<summary>Faq
|
10 |
-
<description>Faq
|
11 |
-
<notes>
|
12 |
<authors><author><name>Avik Roy</name><user>avik_roy</user><email>royavik88@gmail.com</email></author></authors>
|
13 |
-
<date>2016-07-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magelocal"><dir name="Avik"><dir name="Faq"><dir name="Block"><dir name="Adminhtml"><dir name="Faq"><dir name="Edit"><file name="Form.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Avik_Faq</name>
|
4 |
+
<version>1.6.1</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
+
<summary>Faq with Accordion</summary>
|
10 |
+
<description>Faq with Accordion</description>
|
11 |
+
<notes>We are bringing jQuery enable and disable configuration features which will help user to use jQuey min as per necessity. </notes>
|
12 |
<authors><author><name>Avik Roy</name><user>avik_roy</user><email>royavik88@gmail.com</email></author></authors>
|
13 |
+
<date>2016-07-15</date>
|
14 |
+
<time>07:11:03</time>
|
15 |
+
<contents><target name="magelocal"><dir name="Avik"><dir name="Faq"><dir name="Block"><dir name="Adminhtml"><dir name="Faq"><dir name="Edit"><file name="Form.php" hash="e62929fecd6c67a0a058753630c5e658"/></dir><file name="Edit.php" hash="3e7ddef140e4d3d5daf6b160cd577cb2"/><file name="Grid.php" hash="f97482809c5047463781054a8498cebe"/></dir><file name="Faq.php" hash="31401332625ef3b42532ea1dcacb630f"/></dir><file name="List.php" hash="2dc9c603a9395e881c713fb0bd9b3969"/></dir><dir name="Helper"><file name="Data.php" hash="685ea9106ef162d12f8bc00477eec9fb"/></dir><dir name="Model"><file name="Faq.php" hash="5fb92d83c52737a4cb2f3c6462e12e12"/><dir name="Mysql4"><dir name="Faq"><file name="Collection.php" hash="644c0e19163150ff025644f18db3d02e"/></dir><file name="Faq.php" hash="7795d1a42cf4641e3e0bd2af1a2688c5"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="FaqController.php" hash="aacbbf6df6373850c75863605b2c0325"/></dir><file name="IndexController.php" hash="1c14bd4aba9ab842da165a4e49e50afb"/></dir><dir name="etc"><file name="adminhtml.xml" hash="e71edc76b19103b4ec579efda8f9d9d5"/><file name="config.xml" hash="3b712f2b12847a02c1f1c668a545290b"/><file name="system.xml" hash="7cb5ee2755babfe197a30b0a5ad4c807"/></dir><dir name="sql"><dir name="avik_faq_setup"><file name="install-1.6.0.0.php" hash="e1cb9f56825b3c20ef83d44337c9b529"/><file name="mysql4-install-1.0.0.0" hash="899792a6a57cbdb67815d3cbf38fd217"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="avik"><file name="faq.xml" hash="d80d2fdbd90538126c360536a95789f7"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="avik_faq.xml" hash="8bc8f9515a3160acb1270895a38060b2"/></dir><dir name="template"><dir name="avik"><dir name="faq"><file name="list.phtml" hash="1f85a01f6ee83231c4f67d106cbfe955"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="faq"><file name="ResponsiveAccordianMenu.css" hash="0ada45b7924a7a732f41ab6908d8b1c8"/><file name="faq.css" hash="1d473e865324764cd438fe0655115021"/></dir></dir><dir name="images"><dir name="faq"><file name="minus.png" hash="3c258e2a5c3f3013068a7f6241ab4e9a"/><file name="plus.png" hash="1b6592c568e00b07864f48d5520b1f2e"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Avik_Faq.xml" hash="6afa433f90e362fc0f6b204db3caac91"/></dir></target><target name="mage"><dir name="js"><dir name="faq"><file name="ResponsiveAccordianMenu.js" hash="c372cca49792505b003d7adf203f0e32"/><file name="jquery.min.js" hash="397754ba49e9e0cf4e7c190da78dda05"/></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|